{"openapi":"3.1.0","info":{"title":"DALP API v2","version":"2","description":"The Platform API at `/api/v2` is the authenticated integration surface for organisation-scoped asset, compliance, custody, and settlement work.\n\nAuthenticate with `X-Api-Key` or a session cookie. Public auth routes, such as sign-in, need no credential. Two-factor verification after a password sign-in reads the pending two-factor cookie. Each auth operation's `security` names the credentials it accepts. An API key inherits the creating user's permissions and a read or read-write scope. Session writes still require wallet verification. API keys skip that check.\n\nOmit the context headers to use the organisation default network, the session participant, and the organisation executor policy. Set `X-Chain-Id`, `X-Participant`, or `X-Executor` (`eoa` or `smart-wallet`) only when the request must override one of those defaults.\n\nSend `Idempotency-Key` to identify one mutation. Replay the API request only when its route documents replay safety. A successful replay-safe write echoes the effective key, including a server-generated UUIDv7 key when you omit the request header. After a lost response, inspect the original operation status before sending another mutation.\n\nMutations default to HTTP 202. Poll the `Location` URL, also returned as `statusUrl`, until the work reaches a terminal state. Send `Prefer: wait=N` (5 to 99 seconds) to wait synchronously, or `Prefer: respond-async, wait=N` to wait and then degrade to 202. Do not resubmit a mutation that already returned 202.\n\nList routes use the shared collection query: `filter`, `sort`, and `page`. Reads serve the Ledger Index unless a route says it is live.\n\nErrors use one envelope with `code`, `status`, `message`, and `data`. Read `data.id` for the stable DALP error id, `data.why` for the cause, and `data.fix` for the next action. Honour `data.retryable`. Include `data.requestId` and the `X-Request-Id` response header when you contact support.","license":{"name":"SettleMint Commercial License"}},"paths":{"/api/v2/accounting/configuration":{"get":{"tags":["Accounting"],"operationId":"accounting/accountingConfigurationRead","parameters":[],"responses":{"200":{"description":"AccountingConfigurationVersion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountingConfigurationVersion"},"examples":{"example-1":{"value":{"version":2,"postingPolicy":"per-trade","mapping":{"xeroTenantId":"b1f6c2a4-3d7e-4a0b-9c11-7e2f5d8a1c33","defaultCurrency":"AED","accounts":{"trades":{"client-money.bank.aed":"1200","client-money.liability.aed":"2200"},"fees":{},"servicing":{},"corrections":{}},"taxTypes":{},"trackingCategories":{}},"rules":{"assets":{"AED":{"currency":"AED","decimals":2}},"rules":[{"kind":"ignored","eventType":"bank-rail.credit.minted","version":1,"reason":"The same money is booked on another event"}]},"createdBy":"usr_01J9ZQ7C8E0G2J4L6N8Q0S2U4W","createdAt":"2026-11-09T10:00:00.000Z"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The active organisation has not stored an accounting configuration, has no Xero connection to disconnect, or has no posting record with this id.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","accounting.configuration.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-20540","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"accounting.configuration.UNAVAILABLE","status":404,"message":"Accounting configuration not found","data":{"id":"DALP-20540","why":"The active organisation has not stored an accounting configuration.","fix":"Store a configuration with PUT /api/v2/accounting/configuration.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The configuration changed after you read it, so expectedVersion is no longer the current version, or the posting record cannot be replayed.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","accounting.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-20543"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"accounting.store.ROW_INVALID","status":500,"message":"Stored accounting configuration is invalid","data":{"id":"DALP-20543","why":"A stored accounting configuration version does not have the shape this build reads.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored version can be repaired.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"The accounting store is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the newest posting configuration of the active organisation: its rule table, chart-of-accounts mapping and posting policy.","summary":"Read the accounting configuration","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Accounting"],"operationId":"accounting/accountingConfigurationWrite","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"AccountingConfigurationVersion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountingConfigurationVersion"},"examples":{"example-1":{"value":{"version":2,"postingPolicy":"per-trade","mapping":{"xeroTenantId":"b1f6c2a4-3d7e-4a0b-9c11-7e2f5d8a1c33","defaultCurrency":"AED","accounts":{"trades":{"client-money.bank.aed":"1200","client-money.liability.aed":"2200"},"fees":{},"servicing":{},"corrections":{}},"taxTypes":{},"trackingCategories":{}},"rules":{"assets":{"AED":{"currency":"AED","decimals":2}},"rules":[{"kind":"ignored","eventType":"bank-rail.credit.minted","version":1,"reason":"The same money is booked on another event"}]},"createdBy":"usr_01J9ZQ7C8E0G2J4L6N8Q0S2U4W","createdAt":"2026-11-09T10:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The active organisation has not stored an accounting configuration, has no Xero connection to disconnect, or has no posting record with this id.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The configuration changed after you read it, so expectedVersion is no longer the current version, or the posting record cannot be replayed.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","accounting.configuration.STALE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-20541","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"accounting.configuration.STALE","status":409,"message":"Accounting configuration changed since it was read","data":{"id":"DALP-20541","why":"The configuration changed after you read it, so expectedVersion is no longer the current version.","fix":"Read the configuration again and repeat the write with its current version.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The rule table cannot post against the account mapping, and the response lists each problem.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","accounting.configuration.INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-20542"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"accounting.configuration.INVALID","status":422,"message":"Accounting configuration refused","data":{"id":"DALP-20542","why":"The account mapping is invalid, or the rule table cannot post against it, and `data.issues` lists each problem.","fix":"Correct every problem in `data.issues` and write the configuration again.","retryable":false,"category":"domain","issues":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","accounting.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-20543"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"accounting.store.ROW_INVALID","status":500,"message":"Stored accounting configuration is invalid","data":{"id":"DALP-20543","why":"A stored accounting configuration version does not have the shape this build reads.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored version can be repaired.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"The accounting store is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores a new immutable configuration version from an explicit rule table or the Finstreet preset. Send the version you read as expectedVersion, or null for the first one. Repeating a write whose content matches the current version returns that version and adds nothing.","summary":"Write the accounting configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountingConfigurationWrite"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/sessions/{sessionId}":{"delete":{"tags":["Users"],"operationId":"auth.sessions.v2/user/adminRevokeSession","parameters":[{"name":"sessionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Confirmation that the session is no longer valid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionRevokeResponse"},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/sessions/0194a7d7-58e3-7f10-9c26-4b7d0e91a3f8"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SESSION_REVOCATION_NOT_AUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12259","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","USER_SECURITY_TARGET_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12260","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Ends one live session. The user must sign in again on that device. A session identifier the caller cannot see returns 404. Repeating the call after the session is already gone returns 404.","summary":"Revoke one session","x-dalp-auth":"session-or-api-key"}},"/api/v2/step-up-challenges":{"post":{"tags":["Account security"],"operationId":"auth.stepUpChallenges.v2/user/issueStepUpChallenge","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The challenge id to send in `X-Step-Up-Challenge`, and when it expires.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StepUpChallengeIssueResponse"},"examples":{"example-1":{"value":{"data":{"challengeId":"0199a1b2-7c3d-7e4f-8a5b-6c7d8e9f0a1b","expiresAt":"2026-09-28T12:05:00.000Z"},"links":{"self":"/v2/step-up-challenges"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Issues a single-use challenge that authorizes one wallet-verified request by the caller in its current active organization: the named operation, on the named target, with a body whose digest matches `payloadDigest`. Compute the digest as the lowercase hex SHA-256 of the request body's canonical JSON, with object keys sorted, absent fields dropped, and the top-level `walletVerification` left out. Send the returned `challengeId` in the `X-Step-Up-Challenge` header of that request, together with the wallet verification code. A challenge expires after five minutes and is spent by the first request that presents it, whether or not that request succeeds, including a request that carries no verification code. Requires a signed-in session; API keys do not need a challenge.","summary":"Issue a step-up challenge","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletStepUpChallengeRequest"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/legal-documents":{"get":{"tags":["Legal documents"],"operationId":"v2/legalDocuments/list","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LegalDocument"}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","organizationId":"example","kind":"terms","version":"0","effectiveAt":"example","content":"example","fileRef":"example","requiresReacceptance":false,"publishedAt":"example","createdByUserId":"example","createdAt":"example"}],"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session"}},"/api/v2/legal-documents/status":{"get":{"tags":["Legal documents"],"operationId":"v2/legalDocuments/status","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LegalDocumentStatus"}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"kind":"terms","document":{"id":"00000000-0000-7000-8000-000000000000","organizationId":"example","kind":"terms","version":"0","effectiveAt":"example","content":"example","fileRef":"example","requiresReacceptance":false,"publishedAt":"example","createdByUserId":"example","createdAt":"example"},"accepted":false,"acceptedAt":"example"}],"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session"}},"/api/v2/legal-documents/{documentId}/acceptances":{"post":{"tags":["Legal documents"],"operationId":"v2/legalDocuments/accept","parameters":[{"name":"documentId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LegalDocumentAcceptance"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","organizationId":"example","userId":"example","documentId":"00000000-0000-7000-8000-000000000000","kind":"terms","version":"0","acceptedAt":"example","ip":"example","userAgent":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14420","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegalDocumentAccept"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/users/me/deletion-refusals":{"get":{"tags":["Account security"],"operationId":"v2/accountClosure/refusalsList","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformUserDeletionRefusals"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"refusals":[{"reason":"soleOwner","organizations":[{"id":"example","name":"example"}]}]},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session"}},"/api/v2/users/me/account-closure-request":{"get":{"tags":["Account security"],"operationId":"v2/accountClosure/requestRead","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OwnAccountClosureRequest"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","userId":"example","status":"open","createdAt":"example","settledAt":"example","declineReason":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-18230","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","status":404,"message":"No account-closure request was found","data":{"id":"DALP-18230","why":"The account has never filed an account-closure request.","fix":"File a request with `POST /api/v2/users/me/account-closure-request`, then read it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session"},"post":{"tags":["Account security"],"operationId":"v2/accountClosure/requestCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OwnAccountClosureRequest"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","userId":"example","status":"open","createdAt":"example","settledAt":"example","declineReason":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACCOUNT_CLOSURE_PROOF_REFUSED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-18228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACCOUNT_CLOSURE_PROOF_REFUSED","status":403,"message":"The account-closure request carried no accepted proof","data":{"id":"DALP-18228","why":"Filing an account-closure request needs the account password when the account signs in with one, otherwise a wallet factor (the transaction PIN, the transaction code, a recovery code or a code from the identity provider's authenticator); `data.reason` names which proof was missing or rejected.","fix":"Send the proof `data.reason` names, then retry.","retryable":false,"category":"permission","reason":"passwordRequired"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ACCOUNT_CLOSURE_REQUEST_OPEN","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-18229","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACCOUNT_CLOSURE_REQUEST_OPEN","status":409,"message":"An account-closure request is already open","data":{"id":"DALP-18229","why":"The account already has an open account-closure request that waits for an administrator, and one account holds at most one open request.","fix":"Read the open request from `GET /api/v2/users/me/account-closure-request`, or withdraw it before filing a new one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountClosureRequestCreate"}}},"required":false},"x-dalp-auth":"session"}},"/api/v2/users/me/account-closure-request/transitions":{"post":{"tags":["Account security"],"operationId":"v2/accountClosure/requestTransitionsCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OwnAccountClosureRequest"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","userId":"example","status":"open","createdAt":"example","settledAt":"example","declineReason":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-18231","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","status":409,"message":"The account-closure request is no longer open","data":{"id":"DALP-18231","why":"The account has no open account-closure request: none was filed, it was withdrawn, or an administrator already deleted, closed or declined it. A closed request accepts no further transition or decision.","fix":"Read the current request to see its outcome; file a new request when one is still wanted.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12258","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_UNAVAILABLE","status":503,"message":"The authentication store did not answer","data":{"id":"DALP-12258","why":"A read or write against the session, account security, or API key store did not complete.","fix":"Retry after a short wait. If the failure persists, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountClosureRequestTransition"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/bank-rail/connections":{"get":{"tags":["Bank rail"],"operationId":"bankRail/connectionsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"state":{"type":"string","enum":["draft","active","suspended"],"description":"draft until a manager activates it; active while its FIX session accepts the bank's logon; suspended after a manager stops it."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["createdAt","-createdAt","bankName","-bankName"],"description":"The field to sort by, with a leading `-` for descending. Defaults to `createdAt`, oldest first."},"required":false}],"responses":{"200":{"description":"Returns one page of the bank connections in the active organisation with their state and credential version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnectionList"},"examples":{"example-1":{"value":{"data":[{"id":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","senderCompId":"DALP-NORTHWIND","targetCompId":"NORTHWIND-BANK","reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"matchingMode":"reference","bankName":"Northwind Bank","allowedMessages":{"inbound":["credit","balance-report"],"outbound":[]},"payoutDeadlineSeconds":604800,"settlementWindowSeconds":86400,"holidayCalendarId":"adgm","paymentTimeZone":"Asia/Dubai","paymentCutOffTime":"14:00","reportCutoff":{"time":"23:59:59","timeZone":"UTC"},"state":"active","credentialVersion":1,"rowVersion":2,"createdBy":"usr_northwind","createdAt":"2026-10-22T09:00:00.000Z","updatedAt":"2026-10-22T09:05:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections?sort=createdAt&page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections?sort=createdAt&page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections?sort=createdAt&page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the bank connections in the active organisation with their state and credential version. filter[q] matches the bank name or either CompID, filter[state] narrows to one state, and sort orders by creation time or bank name. The FIX logon password is never returned.","summary":"List bank connections","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/connectionCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An organisation's FIX connection to its bank: the session's CompIDs, the reserve account, the messages it allows, how credits match clients, the payout timing and when the bank takes payments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnection"},"examples":{"example-1":{"value":{"id":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","senderCompId":"DALP-NORTHWIND","targetCompId":"NORTHWIND-BANK","reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"matchingMode":"reference","bankName":"Northwind Bank","allowedMessages":{"inbound":["credit","balance-report"],"outbound":[]},"payoutDeadlineSeconds":604800,"settlementWindowSeconds":86400,"holidayCalendarId":"adgm","paymentTimeZone":"Asia/Dubai","paymentCutOffTime":"14:00","reportCutoff":{"time":"23:59:59","timeZone":"UTC"},"state":"draft","credentialVersion":0,"rowVersion":1,"createdBy":"usr_northwind","createdAt":"2026-10-22T09:00:00.000Z","updatedAt":"2026-10-22T09:05:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.connection.SESSION_TAKEN","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14116","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.SESSION_TAKEN","status":409,"message":"CompID pair already in use","data":{"id":"DALP-14116","why":"A bank connection with this senderCompId and targetCompId already exists on this platform.","fix":"Agree a different CompID pair with the bank, or use the existing connection.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.connection.CALENDAR_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14138"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.CALENDAR_UNAVAILABLE","status":422,"message":"Holiday calendar not available","data":{"id":"DALP-14138","why":"The holiday calendar is not a base calendar or one of the active organisation's own calendars.","fix":"List the holiday calendars the organisation can use and name one of them, or send null for none.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores a draft connection for one FIX CompID pair, reserve account and matching mode. Those identity fields cannot change later. The connection carries no credential and stays a draft until its password is set and it is activated.","summary":"Create a bank connection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnectionCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/connectionRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"An organisation's FIX connection to its bank: the session's CompIDs, the reserve account, the messages it allows, how credits match clients, the payout timing and when the bank takes payments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnection"},"examples":{"example-1":{"value":{"id":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","senderCompId":"DALP-NORTHWIND","targetCompId":"NORTHWIND-BANK","reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"matchingMode":"reference","bankName":"Northwind Bank","allowedMessages":{"inbound":["credit","balance-report"],"outbound":[]},"payoutDeadlineSeconds":604800,"settlementWindowSeconds":86400,"holidayCalendarId":"adgm","paymentTimeZone":"Asia/Dubai","paymentCutOffTime":"14:00","reportCutoff":{"time":"23:59:59","timeZone":"UTC"},"state":"active","credentialVersion":1,"rowVersion":2,"createdBy":"usr_northwind","createdAt":"2026-10-22T09:00:00.000Z","updatedAt":"2026-10-22T09:05:00.000Z"}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one bank connection in the active organisation. The FIX logon password is never returned; credentialVersion says whether one is set.","summary":"Read a bank connection","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Bank rail"],"operationId":"bankRail/connectionUpdate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An organisation's FIX connection to its bank: the session's CompIDs, the reserve account, the messages it allows, how credits match clients, the payout timing and when the bank takes payments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnection"},"examples":{"example-1":{"value":{"id":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","senderCompId":"DALP-NORTHWIND","targetCompId":"NORTHWIND-BANK","reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"matchingMode":"reference","bankName":"Northwind Bank","allowedMessages":{"inbound":["credit","balance-report"],"outbound":[]},"payoutDeadlineSeconds":604800,"settlementWindowSeconds":86400,"holidayCalendarId":"adgm","paymentTimeZone":"Asia/Dubai","paymentCutOffTime":"14:00","reportCutoff":{"time":"23:59:59","timeZone":"UTC"},"state":"active","credentialVersion":1,"rowVersion":2,"createdBy":"usr_northwind","createdAt":"2026-10-22T09:00:00.000Z","updatedAt":"2026-10-22T09:05:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.connection.STALE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14115","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.STALE","status":409,"message":"Bank connection changed since it was read","data":{"id":"DALP-14115","why":"Another manager changed the bank connection after you read it, so its rowVersion no longer matches.","fix":"Read the connection again and repeat the change with its current rowVersion.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.connection.CALENDAR_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14138"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.CALENDAR_UNAVAILABLE","status":422,"message":"Holiday calendar not available","data":{"id":"DALP-14138","why":"The holiday calendar is not a base calendar or one of the active organisation's own calendars.","fix":"List the holiday calendars the organisation can use and name one of them, or send null for none.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes the bank name, allowed messages, payout deadline and settlement window when expectedRowVersion matches the stored row. The CompIDs, reserve account and matching mode cannot change.","summary":"Update a bank connection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnectionUpdatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/connectionTransition","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An organisation's FIX connection to its bank: the session's CompIDs, the reserve account, the messages it allows, how credits match clients, the payout timing and when the bank takes payments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnection"},"examples":{"example-1":{"value":{"id":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","senderCompId":"DALP-NORTHWIND","targetCompId":"NORTHWIND-BANK","reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"matchingMode":"reference","bankName":"Northwind Bank","allowedMessages":{"inbound":["credit","balance-report"],"outbound":[]},"payoutDeadlineSeconds":604800,"settlementWindowSeconds":86400,"holidayCalendarId":"adgm","paymentTimeZone":"Asia/Dubai","paymentCutOffTime":"14:00","reportCutoff":{"time":"23:59:59","timeZone":"UTC"},"state":"active","credentialVersion":1,"rowVersion":2,"createdBy":"usr_northwind","createdAt":"2026-10-22T09:00:00.000Z","updatedAt":"2026-10-22T09:05:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.connection.TRANSITION_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14119","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.TRANSITION_REFUSED","status":409,"message":"Bank connection state change refused","data":{"id":"DALP-14119","why":"The connection's current state does not allow this change. Only an active connection can be suspended, and an activation fails when the connection changed state while it was being activated.","fix":"Read the connection's state and choose the change that state allows.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.connection.CREDENTIAL_MISSING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14118"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.CREDENTIAL_MISSING","status":422,"message":"Logon password not set","data":{"id":"DALP-14118","why":"The connection has no FIX logon password in the secret store, so it cannot be activated.","fix":"Set the logon password on the connection, then activate it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes a bank connection's FIX session state with transition `activate` or `suspend`. Activation is refused while no logon password is set; repeating either transition when the connection already has that state returns it unchanged.","summary":"Transition a bank connection","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"transition":{"type":"string","enum":["activate","suspend"]}},"required":["transition"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/credential":{"put":{"tags":["Bank rail"],"operationId":"bankRail/connectionCredentialRotate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An organisation's FIX connection to its bank: the session's CompIDs, the reserve account, the messages it allows, how credits match clients, the payout timing and when the bank takes payments.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnection"},"examples":{"example-1":{"value":{"id":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","senderCompId":"DALP-NORTHWIND","targetCompId":"NORTHWIND-BANK","reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"matchingMode":"reference","bankName":"Northwind Bank","allowedMessages":{"inbound":["credit","balance-report"],"outbound":[]},"payoutDeadlineSeconds":604800,"settlementWindowSeconds":86400,"holidayCalendarId":"adgm","paymentTimeZone":"Asia/Dubai","paymentCutOffTime":"14:00","reportCutoff":{"time":"23:59:59","timeZone":"UTC"},"state":"active","credentialVersion":2,"rowVersion":3,"createdBy":"usr_northwind","createdAt":"2026-10-22T09:00:00.000Z","updatedAt":"2026-10-22T09:05:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.connection.CREDENTIAL_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14117","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.CREDENTIAL_CONFLICT","status":409,"message":"Logon password changed since it was read","data":{"id":"DALP-14117","why":"The FIX logon password changed after you read the connection, so its credentialVersion no longer matches.","fix":"Read the connection again and repeat the change with its current credentialVersion.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores a new FIX logon password in the platform's secret store when expectedCredentialVersion matches, and increments credentialVersion. A live session ends and the bank's next logon must use the new password. The password is never returned.","summary":"Set a bank connection's logon password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankConnectionCredentialPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links":{"get":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinksList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Returns the tokens linked to the connection, each with its state and redemption checker threshold.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkList"},"examples":{"example-1":{"value":{"data":[{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"booked","state":"pending-role","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":null,"expectedMintCap":null,"outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":null,"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}]}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the tokens linked to the connection, each with its state and redemption checker threshold. A token link is pending-role until activation, active once the rail mints and burns the token for the connection, and suspended with its reason when the token's features no longer fit its supply mode.","summary":"List a bank connection's token links","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLink"},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"booked","state":"pending-role","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":null,"expectedMintCap":null,"outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":null,"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Links a token the organisation issued on the request's chain that represents the connection's reserve currency and sets the redemption checker threshold in the currency's minor units. The link starts pending-role and changes no token until it is activated.","summary":"Link a token to a bank connection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-link-candidates":{"get":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkCandidatesList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"BankTokenLinkCandidateList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkCandidateList"},"examples":{"example-1":{"value":{"data":[{"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","name":"Northwind euro deposit","symbol":"NWEUR","decimals":2}]}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the tokens the connection can link now, decided by the rules a token link is refused with: the organisation issued the token, it carries Booked movements with Hold and requestable redemption or the supply delegate feature, it has no supply, its decimals cover every minor unit of the connection's currency, and no connection links it yet. The list is empty once the connection links a token. Every token it returns is accepted by the token link create route unless its state changes in between.","summary":"List the tokens a bank connection can link","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links/{tokenLinkId}/activation":{"post":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkActivate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitForSettlementNoFundingPause"}],"responses":{"200":{"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLink"},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"booked","state":"active","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":null,"expectedMintCap":null,"outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":null,"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14113","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Gives the rail wallet sole supply authority over the token and sets the link active. In booked mode it grants the rail wallet the supply management role when no account holds it yet. In delegate mode it adds the rail wallet as the token's only supply delegate, with mint and burn and no cap, when the token has no other supply delegate and no supply management role holder. Requires the manager's wallet verification. Activating an active link returns it unchanged. On a suspended link it checks the token's features and the rail wallet's sole supply authority again, sets the link active and resolves its suspension case.","summary":"Activate a token link","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkActivationPayload"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links/{tokenLinkId}/activation/preflights":{"post":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkActivationPreflight","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Activation would be accepted now. Nothing was granted, signed, queued or stored. The refusals it can return are the ones activation returns for the same token and rail wallet state, so a link cleared here can still be refused if that state changes before activation is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkActivationPreflight"},"examples":{"example-1":{"value":{"action":"grant-supply-role"}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Runs the checks activation runs, for the token and the rail wallet as they stand now, and grants, signs and stores nothing, so the Console can show a refusal before the manager's wallet verification. A refusal is the one activation returns: another account holds the token's supply management role (`supply-role-held`) or is a supply delegate (`supply-delegate-held`), each with those accounts in `data.accounts`, the token has supply, the rail wallet cannot pay gas or the token's compliance blocks it. When nothing stands in the way, `action` says what activation does: grant the rail wallet the supply management role (`grant-supply-role`), add it as the token's supply delegate (`add-supply-delegate`), set the link active because the rail wallet already holds the authority (`activate`), reinstate a suspended link (`reinstate`), or nothing for an active link (`none`).","summary":"Check a token link's activation","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links/{tokenLinkId}/escrow":{"get":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkEscrowRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The escrow that holds a delegate-mode token link's cash-outs: the holder approves it for the amount, the rail locks the tokens in it, and burns them once the bank reports the payout settled.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailEscrow"},"examples":{"example-1":{"value":{"chainId":1,"controller":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","state":"ready","escrows":["0x9fe46736679d2d9a65f0992f2272de9f3c7fa6e0"],"transactionHash":null}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the escrows the rail wallet controls on the token link's chain. A delegate-mode link pays cash-outs out of exactly one of them: with none or more than one, the rail refuses cash-outs. Refused for a booked link, whose cash-outs hold the tokens on a redemption line.","summary":"Read a token link's escrow","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkEscrowCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Creates the escrow that holds a delegate-mode link's cash-outs, through the system's escrow factory, with the rail wallet as its controller.","content":{"application/json":{"schema":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"controller":{"$ref":"#/components/schemas/EvmAddress"},"state":{"$ref":"#/components/schemas/BankRailEscrowState"},"escrows":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"The escrows the rail wallet controls on the system's escrow factory, oldest first."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The outstanding creation transaction while the state is creating, once the queue has broadcast it; null otherwise."}},"required":["chainId","controller","state","escrows","transactionHash"],"additionalProperties":false,"description":"The escrow that holds a delegate-mode token link's cash-outs: the holder approves it for the amount, the rail locks the tokens in it, and burns them once the bank reports the payout settled."},"examples":{"example-1":{"value":{"chainId":1,"controller":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","state":"creating","escrows":[],"transactionHash":"0x8f3c2a1d9e7b6c5a4f3e2d1c0b9a8f7e6d5c4b3a2f1e0d9c8b7a6f5e4d3c2b1a"}}}}},"headers":{}},"202":{"description":"The escrow as the rail sees it. Its creation is accepted by the queue and has not landed or been indexed yet, so the state is `creating`. Poll `Location`, the escrow's own URL, until the state is `ready`; a read settles the creation from the queue. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"controller":{"$ref":"#/components/schemas/EvmAddress"},"state":{"$ref":"#/components/schemas/BankRailEscrowState"},"escrows":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"The escrows the rail wallet controls on the system's escrow factory, oldest first."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The outstanding creation transaction while the state is creating, once the queue has broadcast it; null otherwise."}},"required":["chainId","controller","state","escrows","transactionHash"],"additionalProperties":false,"description":"The escrow that holds a delegate-mode token link's cash-outs: the holder approves it for the amount, the rail locks the tokens in it, and burns them once the bank reports the payout settled."},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"chainId":11155111,"controller":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","state":"none","escrows":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14113","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates the escrow that holds a delegate-mode link's cash-outs, through the system's escrow factory, with the rail wallet as its controller. The organisation's operations signer submits it; the response carries the transaction and the state creating until the escrow is indexed. Requires the manager's wallet verification. Refused when the rail wallet already controls an escrow on the chain, and for a booked link.","summary":"Create a token link's escrow","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailEscrowCreatePayload"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links/{tokenLinkId}":{"delete":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkDelete","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLink"},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"booked","state":"pending-role","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":null,"expectedMintCap":null,"outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":null,"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.UNAVAILABLE","status":404,"message":"Token link not found","data":{"id":"DALP-14120","why":"No token link with this identifier exists on the bank connection on the request's network, or the link is not one the rail wallet rotation suspended.","fix":"List the connection's token links and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes a pending-role link between the token and the connection, once the connection links no clients, and returns the removed link. The rail stops minting and burning the token for the connection; the token's roles are not changed.","summary":"Remove a token link","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links/{tokenLinkId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkTransition","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"`update-credit-threshold` sets the amount, in the currency's minor units, above which a client's credits of the last 24 hours wait for a bank rail manager's approval before they mint.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":0,"maximum":77},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"railWalletId":{"$ref":"#/components/schemas/WalletId"},"checkerThreshold":{"type":"string","pattern":"^-?\\d+$"},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."},"outstandingMint":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the units the rail wallet has minted and not yet burned, counted against the mint cap, in the token's smallest units as a decimal integer string, as of the last indexed block. null: a booked link, or the indexed delegate could not be read."},"allowOtherSupplyManagers":{"type":"boolean","description":"Booked links only: while true, accounts other than the rail wallet that hold the token's supply management role may book movements, and the rail requires only that the rail wallet still holds the role. Off by default; turning it on needs a second bank rail manager, turning it off applies at once."},"supplyManagers":{"type":"array","items":{"$ref":"#/components/schemas/BankSupplyManagerHolder"},"description":"The accounts other than the rail wallet that currently hold the token's supply management role, read from the token; empty in delegate mode and while the token's facts cannot be read."},"supplyManagersRequest":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyManagersRequest"},{"type":"null"}]},"mintLimitRequest":{"anyOf":[{"$ref":"#/components/schemas/BankMintLimitRequest"},{"type":"null"}]},"mintCapReplacement":{"anyOf":[{"$ref":"#/components/schemas/BankMintCapReplacement"},{"type":"null"}]},"suspendedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the rail suspended the link, while it is suspended."},"suspensionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Why the token no longer fits the link's supply mode, while the link is suspended."},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","currency","chainId","token","decimals","supplyMode","state","railWallet","railWalletId","checkerThreshold","creditCheckerThreshold","expectedMintCap","outstandingMint","allowOtherSupplyManagers","supplyManagers","supplyManagersRequest","mintLimitRequest","mintCapReplacement","suspendedAt","suspensionReason","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it."},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"booked","state":"pending-role","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":"1000000","expectedMintCap":null,"outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":null,"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The token link as stored. A mint cap change queued the rail wallet's re-delegation and it has not landed, so `mintCapReplacement` names the queued transaction. Poll `Location`, the connection's token links, until `mintCapReplacement` is null; a read settles it from the queue, and puts the previous mint cap back if the transaction fails. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":0,"maximum":77},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"railWalletId":{"$ref":"#/components/schemas/WalletId"},"checkerThreshold":{"type":"string","pattern":"^-?\\d+$"},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."},"outstandingMint":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the units the rail wallet has minted and not yet burned, counted against the mint cap, in the token's smallest units as a decimal integer string, as of the last indexed block. null: a booked link, or the indexed delegate could not be read."},"allowOtherSupplyManagers":{"type":"boolean","description":"Booked links only: while true, accounts other than the rail wallet that hold the token's supply management role may book movements, and the rail requires only that the rail wallet still holds the role. Off by default; turning it on needs a second bank rail manager, turning it off applies at once."},"supplyManagers":{"type":"array","items":{"$ref":"#/components/schemas/BankSupplyManagerHolder"},"description":"The accounts other than the rail wallet that currently hold the token's supply management role, read from the token; empty in delegate mode and while the token's facts cannot be read."},"supplyManagersRequest":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyManagersRequest"},{"type":"null"}]},"mintLimitRequest":{"anyOf":[{"$ref":"#/components/schemas/BankMintLimitRequest"},{"type":"null"}]},"mintCapReplacement":{"anyOf":[{"$ref":"#/components/schemas/BankMintCapReplacement"},{"type":"null"}]},"suspendedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the rail suspended the link, while it is suspended."},"suspensionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Why the token no longer fits the link's supply mode, while the link is suspended."},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","currency","chainId","token","decimals","supplyMode","state","railWallet","railWalletId","checkerThreshold","creditCheckerThreshold","expectedMintCap","outstandingMint","allowOtherSupplyManagers","supplyManagers","supplyManagersRequest","mintLimitRequest","mintCapReplacement","suspendedAt","suspensionReason","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it."},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"delegate","state":"active","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":null,"expectedMintCap":"500000000","outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","previousMintCap":"250000000"},"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14113","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.UNAVAILABLE","status":404,"message":"Token link not found","data":{"id":"DALP-14120","why":"No token link with this identifier exists on the bank connection on the request's network, or the link is not one the rail wallet rotation suspended.","fix":"List the connection's token links and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"`update-credit-threshold` sets the amount, in the currency's minor units, above which a client's credits of the last 24 hours wait for a bank rail manager's approval before they mint. `update-mint-cap` sets the delegate link's `expectedMintCap`, in the token's smallest units, and re-adds the rail wallet as a supply delegate with that cap, signed by the manager's own wallet under wallet verification. Setting a first limit or cap, lowering it or keeping it applies at once. Raising or removing either opens a request that another bank rail manager decides on the link's decisions route; the old value stays in force until then, and approving a cap re-adds the rail wallet with the new cap. Refused with `mint-limit-pending` while a request is open, `mint-cap-booked` for a cap on a booked link, and `rail-wallet-contained` for a cap during an open rail wallet rotation.","summary":"Change a token link's credit mint limit or mint cap","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkTransition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/token-links/{tokenLinkId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/tokenLinkDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Approves or rejects the link's open mint limit request, named by its approval id.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":0,"maximum":77},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"railWalletId":{"$ref":"#/components/schemas/WalletId"},"checkerThreshold":{"type":"string","pattern":"^-?\\d+$"},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."},"outstandingMint":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the units the rail wallet has minted and not yet burned, counted against the mint cap, in the token's smallest units as a decimal integer string, as of the last indexed block. null: a booked link, or the indexed delegate could not be read."},"allowOtherSupplyManagers":{"type":"boolean","description":"Booked links only: while true, accounts other than the rail wallet that hold the token's supply management role may book movements, and the rail requires only that the rail wallet still holds the role. Off by default; turning it on needs a second bank rail manager, turning it off applies at once."},"supplyManagers":{"type":"array","items":{"$ref":"#/components/schemas/BankSupplyManagerHolder"},"description":"The accounts other than the rail wallet that currently hold the token's supply management role, read from the token; empty in delegate mode and while the token's facts cannot be read."},"supplyManagersRequest":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyManagersRequest"},{"type":"null"}]},"mintLimitRequest":{"anyOf":[{"$ref":"#/components/schemas/BankMintLimitRequest"},{"type":"null"}]},"mintCapReplacement":{"anyOf":[{"$ref":"#/components/schemas/BankMintCapReplacement"},{"type":"null"}]},"suspendedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the rail suspended the link, while it is suspended."},"suspensionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Why the token no longer fits the link's supply mode, while the link is suspended."},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","currency","chainId","token","decimals","supplyMode","state","railWallet","railWalletId","checkerThreshold","creditCheckerThreshold","expectedMintCap","outstandingMint","allowOtherSupplyManagers","supplyManagers","supplyManagersRequest","mintLimitRequest","mintCapReplacement","suspendedAt","suspensionReason","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it."},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"booked","state":"pending-role","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":"2000000","expectedMintCap":null,"outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":null,"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The token link as stored. A mint cap change queued the rail wallet's re-delegation and it has not landed, so `mintCapReplacement` names the queued transaction. Poll `Location`, the connection's token links, until `mintCapReplacement` is null; a read settles it from the queue, and puts the previous mint cap back if the transaction fails.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":0,"maximum":77},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"railWalletId":{"$ref":"#/components/schemas/WalletId"},"checkerThreshold":{"type":"string","pattern":"^-?\\d+$"},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."},"outstandingMint":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the units the rail wallet has minted and not yet burned, counted against the mint cap, in the token's smallest units as a decimal integer string, as of the last indexed block. null: a booked link, or the indexed delegate could not be read."},"allowOtherSupplyManagers":{"type":"boolean","description":"Booked links only: while true, accounts other than the rail wallet that hold the token's supply management role may book movements, and the rail requires only that the rail wallet still holds the role. Off by default; turning it on needs a second bank rail manager, turning it off applies at once."},"supplyManagers":{"type":"array","items":{"$ref":"#/components/schemas/BankSupplyManagerHolder"},"description":"The accounts other than the rail wallet that currently hold the token's supply management role, read from the token; empty in delegate mode and while the token's facts cannot be read."},"supplyManagersRequest":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyManagersRequest"},{"type":"null"}]},"mintLimitRequest":{"anyOf":[{"$ref":"#/components/schemas/BankMintLimitRequest"},{"type":"null"}]},"mintCapReplacement":{"anyOf":[{"$ref":"#/components/schemas/BankMintCapReplacement"},{"type":"null"}]},"suspendedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the rail suspended the link, while it is suspended."},"suspensionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Why the token no longer fits the link's supply mode, while the link is suspended."},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","currency","chainId","token","decimals","supplyMode","state","railWallet","railWalletId","checkerThreshold","creditCheckerThreshold","expectedMintCap","outstandingMint","allowOtherSupplyManagers","supplyManagers","supplyManagersRequest","mintLimitRequest","mintCapReplacement","suspendedAt","suspensionReason","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it."},"examples":{"example-1":{"value":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","currency":"EUR","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2,"supplyMode":"delegate","state":"active","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","railWalletId":"wal_northwind_bank_rail","checkerThreshold":"1000000","creditCheckerThreshold":null,"expectedMintCap":"900000000","outstandingMint":null,"allowOtherSupplyManagers":false,"supplyManagers":[],"supplyManagersRequest":null,"mintLimitRequest":null,"mintCapReplacement":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","previousMintCap":"250000000"},"suspendedAt":null,"suspensionReason":null,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:00:00.000Z","updatedAt":"2026-10-22T10:00:00.000Z"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14113","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14120","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.UNAVAILABLE","status":404,"message":"Token link not found","data":{"id":"DALP-14120","why":"No token link with this identifier exists on the bank connection on the request's network, or the link is not one the rail wallet rotation suspended.","fix":"List the connection's token links and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves or rejects the link's open mint limit request, named by its approval id. Approval applies the new limit; approving a mint cap also re-adds the rail wallet as a supply delegate with it, signed by the deciding manager's wallet under wallet verification. Rejection keeps the old value. The manager who asked cannot decide. Refused with `state` when the request is no longer open.","summary":"Decide a token link's mint limit request","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankTokenLinkDecision"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-links":{"get":{"tags":["Bank rail"],"operationId":"bankRail/clientLinksList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Returns one page of the connection's clients in creation order, each with the participant, the wallet its credits mint to and the key that matches the client's credits.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLinkList"},"examples":{"example-1":{"value":{"data":[{"id":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","participantId":"prt_acme","walletId":"wal_acme_main","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","key":{"_tag":"reference","reference":"ACME-0001"},"delivery":{"target":"wallet","request":null,"lastCheck":null,"depositFee":null},"rowVersion":1,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:10:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/client-links?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/client-links?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/client-links?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the connection's clients in creation order, each with the participant, the wallet its credits mint to and the key that matches the client's credits.","summary":"List a bank connection's client links","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/clientLinkCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A client of the connection: the participant, the wallet its credits mint to and the key that matches them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLink"},"examples":{"example-1":{"value":{"id":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","participantId":"prt_acme","walletId":"wal_acme_main","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","key":{"_tag":"reference","reference":"ACME-0001"},"delivery":{"target":"wallet","request":null,"lastCheck":null,"depositFee":null},"rowVersion":1,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:10:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.clientLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14123"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.REFUSED","status":422,"message":"Client link refused","data":{"id":"DALP-14123","why":"The client cannot be linked, and `data.reason` names the rule it fails: another client of the connection uses this key (`key-taken`), the participant is not a member of the organisation or the wallet is not one of the participant's own unarchived EVM wallets (`wallet-not-owned`), the connection's token blocks the wallet for a reason the client cannot fix (`wallet-blocked`), the connection has no token link on this chain yet (`token-link-required`), a virtual-IBAN connection needs the client's virtual IBAN (`virtual-iban-required`), or a reference connection takes none (`virtual-iban-not-allowed`); a client that still has a proposed or active bank account cannot be removed (`accounts-live`), nor one with a credit still delivering to its custody gateway (`deliveries-open`); a delivery change names a rowVersion the link no longer has (`row-version`), decides a delivery request the link no longer has open (`state`), is decided by the manager who opened the request (`same-actor`), asks for delivery on a booked-supply token (`booked-mode`), asks while a request is already open (`delivery-request-open`), is approved after a check no longer passes (`delivery-stale`), or asks while a check fails (`preconditions-failed`, the message lists each failed check with its fix).","fix":"Link the connection's token first, then pick a wallet a member participant owns that the token does not block, with a key no other client uses, and send a virtual IBAN only on a virtual-IBAN connection. Refuse or revoke a client's bank accounts, and wait for its credits to finish delivering to its custody gateway, before removing it. Read the client again and repeat a delivery change with its current rowVersion, fix the checks a delivery request lists, and ask another bank rail manager to decide a delivery request you opened.","retryable":false,"category":"domain","reason":"key-taken"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Links a participant of the organisation and one of its wallets to the connection, once the connection has a token link on the request's chain. On a reference connection DALP generates the client's payment reference; on a virtual-iban connection virtualIban is required and is the account the bank assigned to the client.","summary":"Link a client to a bank connection","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLinkCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-links/{clientLinkId}":{"delete":{"tags":["Bank rail"],"operationId":"bankRail/clientLinkDelete","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"clientLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A client of the connection: the participant, the wallet its credits mint to and the key that matches them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLink"},"examples":{"example-1":{"value":{"id":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","participantId":"prt_acme","walletId":"wal_acme_main","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","key":{"_tag":"reference","reference":"ACME-0001"},"delivery":{"target":"wallet","request":null,"lastCheck":null,"depositFee":null},"rowVersion":1,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:10:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14122","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.UNAVAILABLE","status":404,"message":"Client link not found","data":{"id":"DALP-14122","why":"No client link with this identifier exists on the bank connection.","fix":"List the connection's clients and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.clientLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14123"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.REFUSED","status":422,"message":"Client link refused","data":{"id":"DALP-14123","why":"The client cannot be linked, and `data.reason` names the rule it fails: another client of the connection uses this key (`key-taken`), the participant is not a member of the organisation or the wallet is not one of the participant's own unarchived EVM wallets (`wallet-not-owned`), the connection's token blocks the wallet for a reason the client cannot fix (`wallet-blocked`), the connection has no token link on this chain yet (`token-link-required`), a virtual-IBAN connection needs the client's virtual IBAN (`virtual-iban-required`), or a reference connection takes none (`virtual-iban-not-allowed`); a client that still has a proposed or active bank account cannot be removed (`accounts-live`), nor one with a credit still delivering to its custody gateway (`deliveries-open`); a delivery change names a rowVersion the link no longer has (`row-version`), decides a delivery request the link no longer has open (`state`), is decided by the manager who opened the request (`same-actor`), asks for delivery on a booked-supply token (`booked-mode`), asks while a request is already open (`delivery-request-open`), is approved after a check no longer passes (`delivery-stale`), or asks while a check fails (`preconditions-failed`, the message lists each failed check with its fix).","fix":"Link the connection's token first, then pick a wallet a member participant owns that the token does not block, with a key no other client uses, and send a virtual IBAN only on a virtual-IBAN connection. Refuse or revoke a client's bank accounts, and wait for its credits to finish delivering to its custody gateway, before removing it. Read the client again and repeat a delivery change with its current rowVersion, fix the checks a delivery request lists, and ask another bank rail manager to decide a delivery request you opened.","retryable":false,"category":"domain","reason":"key-taken"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the client from the connection and returns the removed link, once the client has no proposed or active bank account. Credits that arrive under its key are no longer matched to the client.","summary":"Remove a client link","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-links/{clientLinkId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/clientLinkTransition","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"clientLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A client of the connection: the participant, the wallet its credits mint to and the key that matches them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLink"},"examples":{"example-1":{"value":{"id":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","participantId":"prt_acme","walletId":"wal_acme_main","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","key":{"_tag":"reference","reference":"ACME-0001"},"delivery":{"target":"wallet","request":null,"lastCheck":null,"depositFee":null},"rowVersion":1,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:10:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14122","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.UNAVAILABLE","status":404,"message":"Client link not found","data":{"id":"DALP-14122","why":"No client link with this identifier exists on the bank connection.","fix":"List the connection's clients and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.clientLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14123"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.REFUSED","status":422,"message":"Client link refused","data":{"id":"DALP-14123","why":"The client cannot be linked, and `data.reason` names the rule it fails: another client of the connection uses this key (`key-taken`), the participant is not a member of the organisation or the wallet is not one of the participant's own unarchived EVM wallets (`wallet-not-owned`), the connection's token blocks the wallet for a reason the client cannot fix (`wallet-blocked`), the connection has no token link on this chain yet (`token-link-required`), a virtual-IBAN connection needs the client's virtual IBAN (`virtual-iban-required`), or a reference connection takes none (`virtual-iban-not-allowed`); a client that still has a proposed or active bank account cannot be removed (`accounts-live`), nor one with a credit still delivering to its custody gateway (`deliveries-open`); a delivery change names a rowVersion the link no longer has (`row-version`), decides a delivery request the link no longer has open (`state`), is decided by the manager who opened the request (`same-actor`), asks for delivery on a booked-supply token (`booked-mode`), asks while a request is already open (`delivery-request-open`), is approved after a check no longer passes (`delivery-stale`), or asks while a check fails (`preconditions-failed`, the message lists each failed check with its fix).","fix":"Link the connection's token first, then pick a wallet a member participant owns that the token does not block, with a key no other client uses, and send a virtual IBAN only on a virtual-IBAN connection. Refuse or revoke a client's bank accounts, and wait for its credits to finish delivering to its custody gateway, before removing it. Read the client again and repeat a delivery change with its current rowVersion, fix the checks a delivery request lists, and ask another bank rail manager to decide a delivery request you opened.","retryable":false,"category":"domain","reason":"key-taken"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"`enable-gateway-delivery` reads the client's custody gateway, runs the delivery checks and opens a delivery request that another bank rail manager decides; it names the link's rowVersion. It is refused with `booked-mode` when the connection books credits without minting, `preconditions-failed` when a check fails, `delivery-request-open` when a request is already open and `row-version` when the link moved, and answers a retryable 503 when the gateway cannot be read. `disable-gateway-delivery` sends the client's future credits back to its wallet at once and withdraws an open delivery request. It names the link's rowVersion; a replay that finds the link already delivering to the wallet returns it unchanged. Credits whose mint already settled keep delivering.","summary":"Switch a client's credit delivery","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLinkTransition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-links/{clientLinkId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/clientLinkDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"clientLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A client of the connection: the participant, the wallet its credits mint to and the key that matches them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLink"},"examples":{"example-1":{"value":{"id":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","participantId":"prt_acme","walletId":"wal_acme_main","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","key":{"_tag":"reference","reference":"ACME-0001"},"delivery":{"target":"wallet","request":null,"lastCheck":null,"depositFee":null},"rowVersion":1,"createdBy":"usr_northwind","createdAt":"2026-10-22T10:10:00.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14122","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.UNAVAILABLE","status":404,"message":"Client link not found","data":{"id":"DALP-14122","why":"No client link with this identifier exists on the bank connection.","fix":"List the connection's clients and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.clientLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14123"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.REFUSED","status":422,"message":"Client link refused","data":{"id":"DALP-14123","why":"The client cannot be linked, and `data.reason` names the rule it fails: another client of the connection uses this key (`key-taken`), the participant is not a member of the organisation or the wallet is not one of the participant's own unarchived EVM wallets (`wallet-not-owned`), the connection's token blocks the wallet for a reason the client cannot fix (`wallet-blocked`), the connection has no token link on this chain yet (`token-link-required`), a virtual-IBAN connection needs the client's virtual IBAN (`virtual-iban-required`), or a reference connection takes none (`virtual-iban-not-allowed`); a client that still has a proposed or active bank account cannot be removed (`accounts-live`), nor one with a credit still delivering to its custody gateway (`deliveries-open`); a delivery change names a rowVersion the link no longer has (`row-version`), decides a delivery request the link no longer has open (`state`), is decided by the manager who opened the request (`same-actor`), asks for delivery on a booked-supply token (`booked-mode`), asks while a request is already open (`delivery-request-open`), is approved after a check no longer passes (`delivery-stale`), or asks while a check fails (`preconditions-failed`, the message lists each failed check with its fix).","fix":"Link the connection's token first, then pick a wallet a member participant owns that the token does not block, with a key no other client uses, and send a virtual IBAN only on a virtual-IBAN connection. Refuse or revoke a client's bank accounts, and wait for its credits to finish delivering to its custody gateway, before removing it. Read the client again and repeat a delivery change with its current rowVersion, fix the checks a delivery request lists, and ask another bank rail manager to decide a delivery request you opened.","retryable":false,"category":"domain","reason":"key-taken"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves or rejects the link's open delivery request, named by its approval id, with an optional reason. `approve` reads the gateway again and switches delivery to it; it is refused with `delivery-stale`, after closing the request and raising a case, when the gateway or a check no longer matches the request. `reject` keeps the client's credits minting to its wallet. The manager who opened the request cannot decide it (`same-actor`). Refused with `state` when the request is no longer open.","summary":"Decide a client's delivery request","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLinkDecision"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/credits":{"get":{"tags":["Bank rail"],"operationId":"bankRail/creditsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Returns one page of the credits the bank reported on the connection, newest first.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditList"},"examples":{"example-1":{"value":{"data":[{"id":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","bankTxId":"NWB-20261023-000187","amount":"125.50","currency":"EUR","valueDate":"2026-10-23T00:00:00.000Z","clientReference":"ACME-0001","creditedAccount":null,"payer":{"name":"Acme Trading GmbH","account":"DE89370400440532013000","bic":"COBADEFF"},"screening":{"verdict":"approved","alerts":[],"score":4,"payerCheck":"verified","providerReference":"66f0c1a2b3c4d5e6f7a8b9c0","submittedAt":"2026-10-23T08:00:01.000Z","decidedAt":"2026-10-23T08:00:04.000Z","releasedBy":null,"releasedAt":null},"returnedCashOutId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","phase":"minted","parkReason":null,"recipient":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","txHash":"0x9f3b1c2d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9","caseId":null,"resolution":null,"mintApproval":null,"activeRecallId":null,"recalledUnits":"0","delivery":null,"ack":"processed","createdAt":"2026-10-23T08:00:00.000Z","updatedAt":"2026-10-23T08:00:12.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/credits?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/credits?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/credits?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the credits the bank reported on the connection, newest first. Each credit shows the client it matched, the wallet it mints to, its phase and, when it parked, the reason and the operations case. A credit with no matching client, or one screening refused, mints to the rail wallet and parks.","summary":"List a bank connection's credits","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/credits/{creditId}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/creditRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"creditId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"One credit the bank reported on the connection, and what the rail did with it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCredit"},"examples":{"example-1":{"value":{"id":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","bankTxId":"NWB-20261023-000187","amount":"125.50","currency":"EUR","valueDate":"2026-10-23T00:00:00.000Z","clientReference":"ACME-0001","creditedAccount":null,"payer":{"name":"Acme Trading GmbH","account":"DE89370400440532013000","bic":"COBADEFF"},"screening":{"verdict":"approved","alerts":[],"score":4,"payerCheck":"verified","providerReference":"66f0c1a2b3c4d5e6f7a8b9c0","submittedAt":"2026-10-23T08:00:01.000Z","decidedAt":"2026-10-23T08:00:04.000Z","releasedBy":null,"releasedAt":null},"returnedCashOutId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","phase":"minted","parkReason":null,"recipient":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","txHash":"0x9f3b1c2d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9","caseId":null,"resolution":null,"mintApproval":null,"activeRecallId":null,"recalledUnits":"0","delivery":{"state":"minted-undelivered","gateway":"0x8a791620dd6260079bf849dc5567adc3f2fdc318","receiptToken":"0x610178da211fef7d417bc0e6fed39f05609ad788","amount":"12550","attempts":1,"transactionHash":null,"logIndex":null,"depositId":null,"gatewayStage":null,"gatewayStages":[],"receiptsMinted":null,"fee":null,"receiptRecipient":null,"returnedTo":null,"lastCheck":{"block":"18342","checks":[{"name":"gateway-paused","passed":true,"detail":"The gateway accepts deposits."}]},"updatedAt":"2026-10-23T08:00:12.000Z"},"ack":"processed","createdAt":"2026-10-23T08:00:00.000Z","updatedAt":"2026-10-23T08:00:12.000Z"}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.credit.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14127","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.credit.UNAVAILABLE","status":404,"message":"Bank credit not found","data":{"id":"DALP-14127","why":"No credit with this identifier exists on the bank connection.","fix":"List the connection's credits and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one credit the bank reported on the connection, with its phase, the wallet it mints to, the mint transaction once it settled, the park reason and operations case when it parked, and the allocation or return a manager asked for. A credit for a client that takes delivery through a custody gateway mints to the rail wallet and shows `delivery`: the gateway, and `minted-undelivered` while the coins wait in the rail wallet to be sent.","summary":"Read a bank credit","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/credits/{creditId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/creditTransition","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"creditId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"One credit the bank reported on the connection, and what the rail did with it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCredit"},"examples":{"example-1":{"value":{"id":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","bankTxId":"NWB-20261023-000187","amount":"125.50","currency":"EUR","valueDate":"2026-10-23T00:00:00.000Z","clientReference":"UNKNOWN-0187","creditedAccount":null,"payer":{"name":"Acme Trading GmbH","account":"DE89370400440532013000","bic":"COBADEFF"},"screening":{"verdict":"approved","alerts":[],"score":4,"payerCheck":"verified","providerReference":"66f0c1a2b3c4d5e6f7a8b9c0","submittedAt":"2026-10-23T08:00:01.000Z","decidedAt":"2026-10-23T08:00:04.000Z","releasedBy":null,"releasedAt":null},"returnedCashOutId":null,"clientLinkId":null,"participantId":null,"phase":"awaiting-checker","parkReason":"unknown-reference","recipient":"0x90f79bf6eb2c4f870365e785982e1f101e93b906","txHash":"0x9f3b1c2d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9","caseId":"case_bank_rail_credit_0187","resolution":{"kind":"allocate","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","refundReference":null,"approvalId":"01a16dd1-0cdf-7c3e-9b2a-5d4e3f2a1b0c","requestedBy":"usr_northwind","txHash":null},"mintApproval":null,"activeRecallId":null,"recalledUnits":"0","delivery":null,"ack":"parked","createdAt":"2026-10-23T08:00:00.000Z","updatedAt":"2026-10-23T08:00:12.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.credit.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14127","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.credit.UNAVAILABLE","status":404,"message":"Bank credit not found","data":{"id":"DALP-14127","why":"No credit with this identifier exists on the bank connection.","fix":"List the connection's credits and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.credit.RESOLUTION_REFUSED","bankRail.credit.RETRY_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14128","DALP-14262","DALP-14391","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.credit.RESOLUTION_REFUSED","status":409,"message":"This credit's token lives on another chain","data":{"id":"DALP-14391","why":"A credit is resolved on the chain of its token, and this request went to another one.","fix":"Send the request on the credit's chain.","retryable":false,"category":"domain","reason":"wrong-chain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Transitions a parked credit. `retry` sends a credit that parked before anything minted back to minting; a `mint-unapproved` credit asks for mint approval again, and so does one parked as `payer-account-not-verified`, `aml-rejected` or `aml-held`: a second bank rail manager must approve it, whatever the bank-rail approval setting, before it mints. `allocate` asks to move the suspense to a client of the connection, and `return-to-payer` asks to burn it under the bank's refund reference; each opens an approval and the credit waits in `awaiting-checker`. Refused when the credit's phase does not permit the transition.","summary":"Retry, allocate or return a parked bank credit","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditTransitionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/credits/{creditId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/creditDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"creditId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"One credit the bank reported on the connection, and what the rail did with it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCredit"},"examples":{"example-1":{"value":{"id":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","bankTxId":"NWB-20261023-000187","amount":"125.50","currency":"EUR","valueDate":"2026-10-23T00:00:00.000Z","clientReference":"UNKNOWN-0187","creditedAccount":null,"payer":{"name":"Acme Trading GmbH","account":"DE89370400440532013000","bic":"COBADEFF"},"screening":{"verdict":"approved","alerts":[],"score":4,"payerCheck":"verified","providerReference":"66f0c1a2b3c4d5e6f7a8b9c0","submittedAt":"2026-10-23T08:00:01.000Z","decidedAt":"2026-10-23T08:00:04.000Z","releasedBy":null,"releasedAt":null},"returnedCashOutId":null,"clientLinkId":null,"participantId":null,"phase":"awaiting-checker","parkReason":"unknown-reference","recipient":"0x90f79bf6eb2c4f870365e785982e1f101e93b906","txHash":"0x9f3b1c2d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9","caseId":"case_bank_rail_credit_0187","resolution":{"kind":"allocate","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","refundReference":null,"approvalId":"01a16dd1-0cdf-7c3e-9b2a-5d4e3f2a1b0c","requestedBy":"usr_northwind","txHash":null},"mintApproval":null,"activeRecallId":null,"recalledUnits":"0","delivery":null,"ack":"parked","createdAt":"2026-10-23T08:00:00.000Z","updatedAt":"2026-10-23T08:00:12.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.credit.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14127","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.credit.UNAVAILABLE","status":404,"message":"Bank credit not found","data":{"id":"DALP-14127","why":"No credit with this identifier exists on the bank connection.","fix":"List the connection's credits and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.credit.RESOLUTION_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14391","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.credit.RESOLUTION_REFUSED","status":409,"message":"This credit's token lives on another chain","data":{"id":"DALP-14391","why":"A credit is resolved on the chain of its token, and this request went to another one.","fix":"Send the request on the credit's chain.","retryable":false,"category":"domain","reason":"wrong-chain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves or rejects an allocation or return requested for a parked credit, or the mint of a credit in `awaiting-mint-approval`, held because it passes its token link's credit checker threshold. The approval id must name the request shown on the credit, and the manager who requested the resolution or retried the credit cannot decide it. Approving an allocation or return starts the transaction; rejecting leaves the credit parked. Approving a mint lets the rail mint the credit, and is refused while a recall of the credit is open; rejecting parks it as `mint-unapproved`. Repeating the same decision returns the stored credit.","summary":"Approve or reject a parked credit's resolution or a held credit's mint","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditDecisionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/recalls":{"get":{"tags":["Bank rail"],"operationId":"bankRail/recallsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"state":{"type":"string","enum":["received","awaiting-checker","approved","clawing","burning","recalled","abandoned"],"description":"received when the bank's reversal is recorded; the credit then neither mints nor retries. awaiting-checker while another bank rail manager decides a request to execute or abandon it. approved while the rail cancels, books or burns, clawing while a token custodian force-transfers the client's tokens, or the custody gateway receipts that hold them, to the rail wallet, and burning while the rail wallet redeems recovered receipts through its own custody gateway and burns what was recorded or paid, or books it back. A recall ends recalled once the tokens are taken back or written down, or abandoned."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"BankCreditRecallList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditRecallList"},"examples":{"example-1":{"value":{"data":[{"id":"2a6f8d1c-7b3e-4c95-a0d2-6e1f9b4c8a73","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","creditId":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","reversalId":"NWB-REV-20261024-000031","originalBankTxId":"NWB-20261023-000187","amount":"125.50","units":"12550","currency":"EUR","valueDate":"2026-10-24T00:00:00.000Z","state":"received","approval":null,"action":null,"decidedBy":null,"approvedAt":null,"abandonReason":null,"execution":null,"supplyMode":null,"targetWallet":null,"delivery":null,"lineId":null,"receiptToken":null,"redemption":null,"recoveredUnits":"0","excessUnits":"0","excessTxHash":null,"writtenDownUnits":null,"txHash":null,"completedAt":null,"receivedAt":"2026-10-24T09:15:00.000Z","updatedAt":"2026-10-24T09:15:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/recalls?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/recalls?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/recalls?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the recalls on the connection, newest first. A recall records the bank reversing an earlier credit; while it is open the credit neither mints nor retries, and reconciliation counts it until its tokens are taken back. Filter by state with `filter[state]`.","summary":"List a bank connection's credit recalls","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/recalls/{recallId}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/recallRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"recallId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"One recall with the forced transfers recorded against it and what its target still holds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditRecallDetail"},"examples":{"example-1":{"value":{"id":"2a6f8d1c-7b3e-4c95-a0d2-6e1f9b4c8a73","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","creditId":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","reversalId":"NWB-REV-20261024-000031","originalBankTxId":"NWB-20261023-000187","amount":"125.50","units":"12550","currency":"EUR","valueDate":"2026-10-24T00:00:00.000Z","state":"clawing","approval":null,"action":"execute","decidedBy":"usr_checker","approvedAt":"2026-10-24T10:00:00.000Z","abandonReason":null,"execution":"claw","supplyMode":"delegate","targetWallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","delivery":null,"lineId":null,"receiptToken":null,"redemption":null,"recoveredUnits":"7000","excessUnits":"0","excessTxHash":null,"writtenDownUnits":null,"txHash":null,"completedAt":null,"receivedAt":"2026-10-24T09:15:00.000Z","updatedAt":"2026-10-24T11:30:00.000Z","claws":[{"transactionHash":"0x4b7e2a91c3d5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8a","logIndex":3,"route":"token","escrow":null,"from":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","to":"0x90f79bf6eb2c4f870365e785982e1f101e93b906","observedUnits":"7000","recordedUnits":"7000","blockTimestamp":"2026-10-24T11:29:48.000Z","recordedBy":"usr_northwind"}],"target":{"wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","freeUnits":"5550","escrowUnits":"0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.creditRecall.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14136","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.creditRecall.UNAVAILABLE","status":404,"message":"Credit recall not found","data":{"id":"DALP-14136","why":"No credit recall with this identifier exists on the bank connection.","fix":"List the connection's recalls and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one recall on the connection: the credit the bank reversed, the bank's reversal id, the amount it reversed, the recall's state and open request, the forced transfers recorded against it, and, while it is clawing, what the target wallet still holds free and on the rail's escrow.","summary":"Read a credit recall","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/recalls/{recallId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/recallTransition","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"recallId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The bank's reversal of an earlier credit, recorded from its FIX message. While the recall is open the credit neither mints nor retries. One bank rail manager asks to execute or abandon it and another approves; executing takes the tokens back by cancel, burn, forced transfer or booked correction and writes down what it cannot take back.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditRecall"},"examples":{"example-1":{"value":{"id":"2a6f8d1c-7b3e-4c95-a0d2-6e1f9b4c8a73","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","creditId":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","reversalId":"NWB-REV-20261024-000031","originalBankTxId":"NWB-20261023-000187","amount":"125.50","units":"12550","currency":"EUR","valueDate":"2026-10-24T00:00:00.000Z","state":"awaiting-checker","approval":{"approvalId":"6b1e4d27-8c3a-4f50-9d12-7e5a3c8b0f94","action":"execute","requestedBy":"usr_northwind","expiresAt":"2026-10-31T09:30:00.000Z"},"action":"execute","decidedBy":null,"approvedAt":null,"abandonReason":null,"execution":"claw","supplyMode":"delegate","targetWallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","delivery":null,"lineId":null,"receiptToken":null,"redemption":null,"recoveredUnits":"0","excessUnits":"0","excessTxHash":null,"writtenDownUnits":null,"txHash":null,"completedAt":null,"receivedAt":"2026-10-24T09:15:00.000Z","updatedAt":"2026-10-24T09:30:00.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.creditRecall.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14136","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.creditRecall.UNAVAILABLE","status":404,"message":"Credit recall not found","data":{"id":"DALP-14136","why":"No credit recall with this identifier exists on the bank connection.","fix":"List the connection's recalls and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.creditRecall.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14137","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.creditRecall.REFUSED","status":409,"message":"Credit recall refused","data":{"id":"DALP-14137","why":"The recall cannot take this step, and `data.reason` names why: its state does not allow it (`state`), the bank's amount has no token amount (`recall-amount-unknown`), the credit was returned to the payer or is already recalled (`credit-not-recallable`), an allocation or return of the credit is open (`resolution-open`), the credit's mint is being submitted (`mint-in-flight`), the credit's send to the client's custody gateway is being submitted (`delivery-in-flight`), a live cash-out of the client holds the tokens (`cash-out-live`), the rail wallet is contained with no staged wallet (`rail-wallet-contained`), the credit settled into gateway receipts but the rail wallet has no custody gateway of its own, is not its client or is not on its approved payout list (`recall-gateway-missing`), no register line of the credit's mint is indexed (`line-unknown`), what the request bound changed before the decision (`recall-stale`), the transfer is not a forced transfer of the recall's tokens, or the gateway's return of a refused delivery, into the rail wallet after the approval (`claw-mismatch`), the transfer is already recorded (`claw-duplicate`), the transfer's block is not final yet (`claw-unfinalized`), the requester cannot decide it (`requester-cannot-decide`), or its approval no longer stands (`approval`).","fix":"Read the recall and its credit, then take the step they allow: wait for the mint, delivery, resolution or cash-out to finish, have a token custodian force-transfer the tokens into the wallet the recall names, record a transfer again once its block is final, request the recall again after a stale decision, or ask another bank rail manager to decide a request you made. For a credit held as gateway receipts, have a custody gateway manager create a gateway for the rail wallet's identity and add the rail wallet to its approved payouts, then request the recall again.","retryable":false,"category":"domain","reason":"state"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Transitions a recall. `request-execution` asks another bank rail manager to approve taking the tokens back; the recall names how (cancel, suspense, claw or book), the target wallet, the line it corrects and the most it may write down, and is refused when a blocker stands, such as a mint in flight or a live cash-out. `abandon` asks to close the recall without taking anything back. Each opens an approval and the recall waits in `awaiting-checker`. While the recall is `clawing`, `record-claw` records a custodian's forced transfer out of the target wallet by transaction hash and log index, and `close-claw` stops clawing so the rail burns what it recorded and writes down the rest. Not idempotent: repeat `record-claw` with the same transfer and the recall answers it unchanged; any other repeat is refused by the recall's state.","summary":"Request, abandon or record the claw of a credit recall","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditRecallTransition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/recalls/{recallId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/recallDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"recallId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The bank's reversal of an earlier credit, recorded from its FIX message. While the recall is open the credit neither mints nor retries. One bank rail manager asks to execute or abandon it and another approves; executing takes the tokens back by cancel, burn, forced transfer or booked correction and writes down what it cannot take back.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditRecall"},"examples":{"example-1":{"value":{"id":"2a6f8d1c-7b3e-4c95-a0d2-6e1f9b4c8a73","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","creditId":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","reversalId":"NWB-REV-20261024-000031","originalBankTxId":"NWB-20261023-000187","amount":"125.50","units":"12550","currency":"EUR","valueDate":"2026-10-24T00:00:00.000Z","state":"clawing","approval":null,"action":"execute","decidedBy":"usr_checker","approvedAt":"2026-10-24T10:00:00.000Z","abandonReason":null,"execution":"claw","supplyMode":"delegate","targetWallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","delivery":null,"lineId":null,"receiptToken":null,"redemption":null,"recoveredUnits":"7000","excessUnits":"0","excessTxHash":null,"writtenDownUnits":null,"txHash":null,"completedAt":null,"receivedAt":"2026-10-24T09:15:00.000Z","updatedAt":"2026-10-24T11:30:00.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.creditRecall.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14136","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.creditRecall.UNAVAILABLE","status":404,"message":"Credit recall not found","data":{"id":"DALP-14136","why":"No credit recall with this identifier exists on the bank connection.","fix":"List the connection's recalls and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.creditRecall.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14137","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.creditRecall.REFUSED","status":409,"message":"Credit recall refused","data":{"id":"DALP-14137","why":"The recall cannot take this step, and `data.reason` names why: its state does not allow it (`state`), the bank's amount has no token amount (`recall-amount-unknown`), the credit was returned to the payer or is already recalled (`credit-not-recallable`), an allocation or return of the credit is open (`resolution-open`), the credit's mint is being submitted (`mint-in-flight`), the credit's send to the client's custody gateway is being submitted (`delivery-in-flight`), a live cash-out of the client holds the tokens (`cash-out-live`), the rail wallet is contained with no staged wallet (`rail-wallet-contained`), the credit settled into gateway receipts but the rail wallet has no custody gateway of its own, is not its client or is not on its approved payout list (`recall-gateway-missing`), no register line of the credit's mint is indexed (`line-unknown`), what the request bound changed before the decision (`recall-stale`), the transfer is not a forced transfer of the recall's tokens, or the gateway's return of a refused delivery, into the rail wallet after the approval (`claw-mismatch`), the transfer is already recorded (`claw-duplicate`), the transfer's block is not final yet (`claw-unfinalized`), the requester cannot decide it (`requester-cannot-decide`), or its approval no longer stands (`approval`).","fix":"Read the recall and its credit, then take the step they allow: wait for the mint, delivery, resolution or cash-out to finish, have a token custodian force-transfer the tokens into the wallet the recall names, record a transfer again once its block is final, request the recall again after a stale decision, or ask another bank rail manager to decide a request you made. For a credit held as gateway receipts, have a custody gateway manager create a gateway for the rail wallet's identity and add the rail wallet to its approved payouts, then request the recall again.","retryable":false,"category":"domain","reason":"state"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves or rejects the recall's open request. The approval id must name the request shown on the recall, and the manager who asked cannot decide it. Approving `execute` recomputes what the request bound and refuses `recall-stale` when it changed, returning the recall to `received`; otherwise the rail cancels an unminted credit, burns or books back suspense, waits for a custodian's forced transfer (`clawing`) or books the correction. Approving `abandon` closes the recall. Rejecting returns the recall to `received`. Repeating the same decision returns the stored recall.","summary":"Approve or reject a credit recall's request","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCreditRecallDecision"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/reconciliation":{"get":{"tags":["Bank rail"],"operationId":"bankRail/bankReconciliationRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Whether the connection's reserve account and its token agree: the bank's newest balance report against the token's supply, and the rail wallets' balance against the credits the rail holds in suspense.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankReconciliation"},"examples":{"example-1":{"value":{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","accountId":"NW-RESERVE-001","currency":"EUR","status":"clear","report":{"balance":"1000","asOf":"2026-10-23T09:00:00.000Z","receivedAt":"2026-10-23T09:00:02.000Z","businessDay":"2026-10-23"},"suspenseOldestAgeBusinessDays":null,"tokenLink":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","state":"active","supplyMode":"booked","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","expectedMintCap":null},"reserve":{"supply":"900","pendingIn":{"count":1,"amount":"100"},"awaitingApproval":{"count":0,"amount":"0"},"mintedAfterReport":{"count":0,"amount":"0"},"adjustments":{"count":0,"amount":"0"},"paidNotBurnt":{"count":0,"amount":"0"},"burntAfterReport":{"count":0,"amount":"0"},"bookedAheadOfPayment":{"count":0,"amount":"0"},"recalledNotBurnt":{"count":0,"amount":"0"},"recallBurntAfterReport":{"count":0,"amount":"0"},"unexplained":"0"},"suspense":{"railWalletBalance":"25.5","heldInSuspense":{"count":1,"amount":"25.5"},"awaitingBurn":{"count":0,"amount":"0"},"inTransit":{"count":0,"amount":"0"},"unexplained":"0"},"railWallets":[{"address":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","generation":1,"state":"active","balance":"25.5","authorised":true,"mintCap":null}],"rotation":null,"overdueCredits":{"count":0,"amount":"0"},"overdueRecalls":{"count":0,"amount":"0"},"supplyRoleHolders":["0x70997970c51812dc3a010c7d01b50e0d17dc79c8"],"otherSupplyRoleHolders":[],"supplyDelegates":[],"otherSupplyDelegates":[],"railWalletAuthorised":true,"consecutiveBreaks":0,"breakSince":null}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Compares the bank's newest balance report for the reserve account with the linked token's indexed supply, explained by credits received but not yet minted and credits minted after the report, and compares the rail wallet's balance with the credits it holds in suspense. A supply or balance that cannot be read is null, never zero. Supply management role holders other than the rail wallet are listed and count as a break. Read it on the token's chain.","summary":"Reconcile a bank connection's reserve","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/daily-reconciliations":{"get":{"tags":["Bank rail"],"operationId":"bankRail/dailyReconciliationsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"from":{"type":"string"},"through":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["date","-date"]},"required":false}],"responses":{"200":{"description":"BankDailyReconciliationList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankDailyReconciliationList"},"examples":{"example-1":{"value":{"data":[{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","date":"2026-10-23","version":1,"cutoff":{"time":"23:59:59","timeZone":"UTC"},"cutoffAt":"2026-10-23T23:59:59.000Z","runAt":"2026-10-24T00:05:00.000Z","trigger":"manual","actorUserId":"usr_northwind","pins":{"balanceReportAsOf":"2026-10-23T09:00:00.000Z","indexedBlock":"123456"},"line":{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","accountId":"NW-RESERVE-001","currency":"EUR","status":"clear","report":{"balance":"1000","asOf":"2026-10-23T09:00:00.000Z","receivedAt":"2026-10-23T09:00:02.000Z","businessDay":"2026-10-23"},"suspenseOldestAgeBusinessDays":null,"tokenLink":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","state":"active","supplyMode":"booked","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","expectedMintCap":null},"reserve":{"supply":"900","pendingIn":{"count":1,"amount":"100"},"awaitingApproval":{"count":0,"amount":"0"},"mintedAfterReport":{"count":0,"amount":"0"},"adjustments":{"count":0,"amount":"0"},"paidNotBurnt":{"count":0,"amount":"0"},"burntAfterReport":{"count":0,"amount":"0"},"bookedAheadOfPayment":{"count":0,"amount":"0"},"recalledNotBurnt":{"count":0,"amount":"0"},"recallBurntAfterReport":{"count":0,"amount":"0"},"unexplained":"0"},"suspense":{"railWalletBalance":"25.5","heldInSuspense":{"count":1,"amount":"25.5"},"awaitingBurn":{"count":0,"amount":"0"},"inTransit":{"count":0,"amount":"0"},"unexplained":"0"},"railWallets":[{"address":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","generation":1,"state":"active","balance":"25.5","authorised":true,"mintCap":null}],"rotation":null,"overdueCredits":{"count":0,"amount":"0"},"overdueRecalls":{"count":0,"amount":"0"},"supplyRoleHolders":["0x70997970c51812dc3a010c7d01b50e0d17dc79c8"],"otherSupplyRoleHolders":[],"supplyDelegates":[],"otherSupplyDelegates":[],"railWalletAuthorised":true},"ledger":{"status":"clear","accountCode":"1010","balance":"1000","unexplained":"0"},"unavailableReasons":[],"openCaseCount":0}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/daily-reconciliations","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/daily-reconciliations","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/daily-reconciliations"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the latest immutable version per date for this connection in the active organisation. filter[from] and filter[through] bound an inclusive civil-date range; sort=date orders oldest first and sort=-date orders newest first. page[limit] and page[offset] page through the stored dates. Each result carries the report cutoff and evidence pins, both reconciliation lines, overdue counts and the distinct unresolved reconciliation case subjects of the connection, its token links and daily reports at runAt. An unavailable case count is null and adds an unavailable reason. Requires the bank rail manager role.","summary":"List stored daily bank reconciliations","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/dailyReconciliationCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An immutable daily snapshot of both reconciliation lines and the general-ledger leg, computed from a report at or before the pinned cutoff, current indexed facts and the ledger balance as at the date. An empty unavailableReasons means complete, including an explained break.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankDailyReconciliation"},"examples":{"example-1":{"value":{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","date":"2026-10-23","version":1,"cutoff":{"time":"23:59:59","timeZone":"UTC"},"cutoffAt":"2026-10-23T23:59:59.000Z","runAt":"2026-10-24T00:05:00.000Z","trigger":"manual","actorUserId":"usr_northwind","pins":{"balanceReportAsOf":"2026-10-23T09:00:00.000Z","indexedBlock":"123456"},"line":{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","accountId":"NW-RESERVE-001","currency":"EUR","status":"clear","report":{"balance":"1000","asOf":"2026-10-23T09:00:00.000Z","receivedAt":"2026-10-23T09:00:02.000Z","businessDay":"2026-10-23"},"suspenseOldestAgeBusinessDays":null,"tokenLink":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","state":"active","supplyMode":"booked","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","expectedMintCap":null},"reserve":{"supply":"900","pendingIn":{"count":1,"amount":"100"},"awaitingApproval":{"count":0,"amount":"0"},"mintedAfterReport":{"count":0,"amount":"0"},"adjustments":{"count":0,"amount":"0"},"paidNotBurnt":{"count":0,"amount":"0"},"burntAfterReport":{"count":0,"amount":"0"},"bookedAheadOfPayment":{"count":0,"amount":"0"},"recalledNotBurnt":{"count":0,"amount":"0"},"recallBurntAfterReport":{"count":0,"amount":"0"},"unexplained":"0"},"suspense":{"railWalletBalance":"25.5","heldInSuspense":{"count":1,"amount":"25.5"},"awaitingBurn":{"count":0,"amount":"0"},"inTransit":{"count":0,"amount":"0"},"unexplained":"0"},"railWallets":[{"address":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","generation":1,"state":"active","balance":"25.5","authorised":true,"mintCap":null}],"rotation":null,"overdueCredits":{"count":0,"amount":"0"},"overdueRecalls":{"count":0,"amount":"0"},"supplyRoleHolders":["0x70997970c51812dc3a010c7d01b50e0d17dc79c8"],"otherSupplyRoleHolders":[],"supplyDelegates":[],"otherSupplyDelegates":[],"railWalletAuthorised":true},"ledger":{"status":"clear","accountCode":"1010","balance":"1000","unexplained":"0"},"unavailableReasons":[],"openCaseCount":0}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.dailyReconciliation.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14140","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.dailyReconciliation.REFUSED","status":409,"message":"Daily reconciliation refused","data":{"id":"DALP-14140","why":"The date has not closed, its cutoff has no unique instant in its time zone, or the balance report or indexed block is older than the latest version.","fix":"Wait until the date closes, use a cutoff that exists once on that date, or restore evidence at least as new as the latest version's pins.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Runs a closed civil date using the connection's pinned report cutoff, the latest retained balance report at or before it and current indexed token facts at a stable drained block. Equal report and block pins return the existing version; either older axis refuses with evidence-older; a higher pin with neither axis lower creates another immutable version. date-not-closed refuses an open date and cutoff-unavailable refuses an ambiguous or missing local cutoff instant. Missing evidence or an unreadable connection reconciliation case count is stored with unavailableReasons, never invented as zero. Requires the bank rail manager role on the token's chain. The worker retries the last three closed dates every five minutes, including suspended connections, and warns once if an unavailable day leaves that window.","summary":"Store a daily bank reconciliation version","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"date":{"type":"string"}},"required":["date"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/daily-reconciliations/{date}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/dailyReconciliationVersionRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"date","in":"path","schema":{"type":"string"},"required":true},{"name":"version","in":"query","schema":{"type":"string"},"required":false},{"name":"format","in":"query","schema":{"type":"string","enum":["csv"]},"required":false}],"responses":{"200":{"description":"Reads the latest immutable version for this connection date, or the positive version number named by version.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BankDailyReconciliation"},{"$ref":"#/components/schemas/BankDailyReconciliationExport"}]},"examples":{"example-1":{"value":{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","date":"2026-10-23","version":1,"cutoff":{"time":"23:59:59","timeZone":"UTC"},"cutoffAt":"2026-10-23T23:59:59.000Z","runAt":"2026-10-24T00:05:00.000Z","trigger":"manual","actorUserId":"usr_northwind","pins":{"balanceReportAsOf":"2026-10-23T09:00:00.000Z","indexedBlock":"123456"},"line":{"connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","accountId":"NW-RESERVE-001","currency":"EUR","status":"clear","report":{"balance":"1000","asOf":"2026-10-23T09:00:00.000Z","receivedAt":"2026-10-23T09:00:02.000Z","businessDay":"2026-10-23"},"suspenseOldestAgeBusinessDays":null,"tokenLink":{"id":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","state":"active","supplyMode":"booked","railWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","expectedMintCap":null},"reserve":{"supply":"900","pendingIn":{"count":1,"amount":"100"},"awaitingApproval":{"count":0,"amount":"0"},"mintedAfterReport":{"count":0,"amount":"0"},"adjustments":{"count":0,"amount":"0"},"paidNotBurnt":{"count":0,"amount":"0"},"burntAfterReport":{"count":0,"amount":"0"},"bookedAheadOfPayment":{"count":0,"amount":"0"},"recalledNotBurnt":{"count":0,"amount":"0"},"recallBurntAfterReport":{"count":0,"amount":"0"},"unexplained":"0"},"suspense":{"railWalletBalance":"25.5","heldInSuspense":{"count":1,"amount":"25.5"},"awaitingBurn":{"count":0,"amount":"0"},"inTransit":{"count":0,"amount":"0"},"unexplained":"0"},"railWallets":[{"address":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","generation":1,"state":"active","balance":"25.5","authorised":true,"mintCap":null}],"rotation":null,"overdueCredits":{"count":0,"amount":"0"},"overdueRecalls":{"count":0,"amount":"0"},"supplyRoleHolders":["0x70997970c51812dc3a010c7d01b50e0d17dc79c8"],"otherSupplyRoleHolders":[],"supplyDelegates":[],"otherSupplyDelegates":[],"railWalletAuthorised":true},"ledger":{"status":"clear","accountCode":"1010","balance":"1000","unexplained":"0"},"unavailableReasons":[],"openCaseCount":0}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","bankRail.dailyReconciliation.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-14139","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reads the latest immutable version for this connection date, or the positive version number named by version. format=csv returns filename, contentType text/csv and csv with every amount under its term name, blank unavailable values and escaped spreadsheet-formula text. openReconciliationCases is the distinct unresolved connection reconciliation case count at runAt. Rereading or exporting a stored version preserves its values and CSV bytes. A missing date or version returns 404. The indexed block pin describes current facts read at run time, not historical chain state at the day's cutoff. Requires the bank rail manager role.","summary":"Read or export a stored daily bank reconciliation","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-accounts":{"get":{"tags":["Bank rail"],"operationId":"bankRail/clientAccountsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Only this client's accounts."},"state":{"type":"string","enum":["proposed","active","refused","revoked"],"description":"proposed until a manager other than the proposer approves it (active) or a manager refuses it (refused); an active account can be revoked. Only an active account can receive a payout."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"BankClientAccountList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccountList"},"examples":{"example-1":{"value":{"data":[{"id":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","account":{"_tag":"iban","iban":"DE89370400440532013000"},"holderName":"Acme Trading GmbH","bankName":"Commerzbank","state":"active","proposedBy":"usr_northwind","reviewedBy":"usr_northwind_treasury","reviewReason":null,"reviewedAt":"2026-10-25T09:30:00.000Z","revokedBy":null,"revokeReason":null,"revokedAt":null,"rowVersion":2,"createdAt":"2026-10-25T09:00:00.000Z","updatedAt":"2026-10-25T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/client-accounts?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/client-accounts?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/client-accounts?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the bank accounts the connection's clients may receive payouts on, in creation order, with who proposed and who reviewed each. filter[clientLinkId] narrows to one client and filter[state] to one state.","summary":"List a bank connection's client bank accounts","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-links/{clientLinkId}/accounts":{"post":{"tags":["Bank rail"],"operationId":"bankRail/clientAccountCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"clientLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A bank account of a client of the connection that payouts may go to, with who proposed it and who reviewed or revoked it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccount"},"examples":{"example-1":{"value":{"id":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","account":{"_tag":"iban","iban":"DE89370400440532013000"},"holderName":"Acme Trading GmbH","bankName":"Commerzbank","state":"proposed","proposedBy":"usr_northwind","reviewedBy":null,"reviewReason":null,"reviewedAt":null,"revokedBy":null,"revokeReason":null,"revokedAt":null,"rowVersion":1,"createdAt":"2026-10-25T09:00:00.000Z","updatedAt":"2026-10-25T09:00:00.000Z"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14122","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.UNAVAILABLE","status":404,"message":"Client link not found","data":{"id":"DALP-14122","why":"No client link with this identifier exists on the bank connection.","fix":"List the connection's clients and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.clientAccount.DUPLICATE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14130","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientAccount.DUPLICATE","status":409,"message":"Bank account already registered","data":{"id":"DALP-14130","why":"The client already has this bank account, proposed or active.","fix":"Use the client's existing account, or refuse or revoke it before registering it again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records a bank account of the client, an IBAN or an account number with the bank's identifier, as proposed. A proposed account receives no payout until another bank rail manager approves it. Refused when the client already has the same account proposed or active.","summary":"Propose a bank account for a client","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccountCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-accounts/{accountId}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/clientAccountRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"accountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"A bank account of a client of the connection that payouts may go to, with who proposed it and who reviewed or revoked it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccount"},"examples":{"example-1":{"value":{"id":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","account":{"_tag":"iban","iban":"DE89370400440532013000"},"holderName":"Acme Trading GmbH","bankName":"Commerzbank","state":"active","proposedBy":"usr_northwind","reviewedBy":"usr_northwind_treasury","reviewReason":null,"reviewedAt":"2026-10-25T09:30:00.000Z","revokedBy":null,"revokeReason":null,"revokedAt":null,"rowVersion":2,"createdAt":"2026-10-25T09:00:00.000Z","updatedAt":"2026-10-25T09:30:00.000Z"}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientAccount.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14129","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientAccount.UNAVAILABLE","status":404,"message":"Bank account not found","data":{"id":"DALP-14129","why":"No bank account with this identifier exists on the bank connection.","fix":"List the connection's bank accounts and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one bank account of a client of the connection, with its state and review.","summary":"Read a client bank account","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-accounts/{accountId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/clientAccountDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"accountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A bank account of a client of the connection that payouts may go to, with who proposed it and who reviewed or revoked it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccount"},"examples":{"example-1":{"value":{"id":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","account":{"_tag":"iban","iban":"DE89370400440532013000"},"holderName":"Acme Trading GmbH","bankName":"Commerzbank","state":"active","proposedBy":"usr_northwind","reviewedBy":"usr_northwind_treasury","reviewReason":null,"reviewedAt":"2026-10-25T09:30:00.000Z","revokedBy":null,"revokeReason":null,"revokedAt":null,"rowVersion":2,"createdAt":"2026-10-25T09:00:00.000Z","updatedAt":"2026-10-25T09:30:00.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientAccount.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14129","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientAccount.UNAVAILABLE","status":404,"message":"Bank account not found","data":{"id":"DALP-14129","why":"No bank account with this identifier exists on the bank connection.","fix":"List the connection's bank accounts and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.clientAccount.REVIEW_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14131","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientAccount.REVIEW_REFUSED","status":409,"message":"Bank account review refused","data":{"id":"DALP-14131","why":"The review does not fit the account, and `data.reason` says why: the account's state does not allow it (`state`), because only a proposed account can be approved or refused and only an active one revoked, or the reviewer proposed the account and cannot approve it (`proposer-cannot-approve`).","fix":"Read the account's state; ask another bank rail manager to approve an account you proposed.","retryable":false,"category":"domain","reason":"state","state":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves, refuses, or revokes a client bank account. Send action approve for a proposed account, or refuse and revoke with a reason. The proposer cannot approve the account; repeating a decision with the same actor and reason returns it unchanged.","summary":"Decide a client bank account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccountDecisionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/users/me/bank-accounts":{"get":{"tags":["Bank rail"],"operationId":"bankRail/participantBankAccountsList","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"BankClientAccountList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccountList"},"examples":{"example-1":{"value":{"data":[{"id":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","account":{"_tag":"iban","iban":"DE89370400440532013000"},"holderName":"Acme Trading GmbH","bankName":"Commerzbank","state":"active","proposedBy":"usr_northwind","reviewedBy":"usr_northwind_treasury","reviewReason":null,"reviewedAt":"2026-10-25T09:30:00.000Z","revokedBy":null,"revokeReason":null,"revokedAt":null,"rowVersion":2,"createdAt":"2026-10-25T09:00:00.000Z","updatedAt":"2026-10-25T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/users/me/bank-accounts?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/users/me/bank-accounts?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/users/me/bank-accounts?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the bank accounts registered on the selected participant's client links across the organisation's bank connections, with their review state.","summary":"List my bank accounts for payouts","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/participantBankAccountCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A bank account of a client of the connection that payouts may go to, with who proposed it and who reviewed or revoked it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientAccount"},"examples":{"example-1":{"value":{"id":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","account":{"_tag":"iban","iban":"DE89370400440532013000"},"holderName":"Acme Trading GmbH","bankName":"Commerzbank","state":"proposed","proposedBy":"usr_acme","reviewedBy":null,"reviewReason":null,"reviewedAt":null,"revokedBy":null,"revokeReason":null,"revokedAt":null,"rowVersion":1,"createdAt":"2026-10-25T09:00:00.000Z","updatedAt":"2026-10-25T09:00:00.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14122","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.UNAVAILABLE","status":404,"message":"Client link not found","data":{"id":"DALP-14122","why":"No client link with this identifier exists on the bank connection.","fix":"List the connection's clients and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.clientAccount.DUPLICATE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14130","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientAccount.DUPLICATE","status":409,"message":"Bank account already registered","data":{"id":"DALP-14130","why":"The client already has this bank account, proposed or active.","fix":"Use the client's existing account, or refuse or revoke it before registering it again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers a bank account on one of the selected participant's own client links. It starts proposed and receives no payout until a bank rail manager approves it.","summary":"Register a bank account for payouts","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantBankAccountCreatePayload"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/users/me/bank-links":{"get":{"tags":["Bank rail"],"operationId":"bankRail/participantBankLinksList","parameters":[{"name":"if-none-match","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"BankClientLinkMineList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankClientLinkMineList"},"examples":{"example-1":{"value":{"data":[{"id":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","bankName":"Northwind Bank","currency":"EUR","key":{"_tag":"reference","reference":"ACME-0001"},"reserveAccount":{"accountId":"NW-RESERVE-001","currency":"EUR"},"token":{"chainId":1,"address":"0x5fbdb2315678afecb367f032d93f642f64180aa3","decimals":2},"supplyMode":"delegate","escrow":"0xabababababababababababababababababababab","escrowStatus":"ready","payoutTiming":{"cutOffTime":"14:00","timeZone":"Asia/Dubai","expectedValueDate":"2026-11-06"},"state":"active","wallet":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc"}]}}}}},"headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"304":{"description":"<No Content>","headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the bank connections the caller is a client of, at most one item per connection: where to pay, the key that matches the client's credits, the token they mint, and the escrow a delegate-mode cash-out approves with its readiness. Answered with an ETag over the projection; sending it back as If-None-Match answers 304 when nothing changed.","summary":"List my bank links","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/bank-deposits":{"get":{"tags":["Bank rail"],"operationId":"bankRail/participantBankDepositsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"progress":{"type":"string","enum":["open","done"],"description":"open: the deposit still waits; done: the deposit minted or was returned."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Returns one page of the caller's bank payments, newest first, each with its outcome: minted once the tokens are in the client's wallet, waiting while the payment arrived and is not in the wallet yet, returned once the bank refunded the payer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankDepositMineList"},"examples":{"example-1":{"value":{"data":[{"id":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","amount":"125.50","currency":"EUR","valueDate":"2026-10-23T00:00:00.000Z","reference":"ACME-0001","outcome":"minted","mintTxHash":"0x9f3b1c2d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9","recipient":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","createdAt":"2026-10-23T08:00:00.000Z"}],"meta":{"total":1,"nextCursor":null},"links":{"self":"/api/v2/users/me/bank-deposits?page%5Blimit%5D=50","first":"/api/v2/users/me/bank-deposits?page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/users/me/bank-deposits?page%5Blimit%5D=50"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the caller's bank payments, newest first, each with its outcome: minted once the tokens are in the client's wallet, waiting while the payment arrived and is not in the wallet yet, returned once the bank refunded the payer. Search with filter[q] across the reference, the credited account and the amount, split waiting from finished with filter[progress], and follow the next link's page[cursor] to read older pages.","summary":"List my bank deposits","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/reserve-adjustments":{"get":{"tags":["Bank rail"],"operationId":"bankRail/reserveAdjustmentsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"state":{"type":"string","enum":["proposed","approved","rejected"],"description":"proposed until a bank rail manager other than the proposer approves it or rejects it. Only an approved adjustment explains a difference on the reserve line."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"BankReserveAdjustmentList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankReserveAdjustmentList"},"examples":{"example-1":{"value":{"data":[{"id":"9a4e7c21-6d38-4b15-8e0f-3c2b1a5d7f60","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","reason":"bank-fee","bankReference":"NWB-STMT-20261024-014","effectiveAt":"2026-10-24T08:00:00.000Z","state":"proposed","approvalRequestId":"c3f1a8d2-5b7e-4a94-9d60-8e2f4b1c7a35","requestedBy":"usr_northwind","recallId":null,"decidedBy":null,"decidedAt":null,"createdAt":"2026-10-25T09:00:00.000Z","amount":"-5.25"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/reserve-adjustments?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/reserve-adjustments?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/reserve-adjustments?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the postings a manager recorded on the reserve account that no credit or redemption explains, such as bank fees and interest, in creation order. Only an approved adjustment applied at or before a balance report's time explains a difference on the reconciliation line. filter[state] narrows to one state.","summary":"List a bank connection's reserve adjustments","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/reserveAdjustmentCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An operator-recorded posting on the reserve account that neither a credit nor a redemption explains, such as a bank fee or interest, and who proposed and decided it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankReserveAdjustment"},"examples":{"example-1":{"value":{"id":"9a4e7c21-6d38-4b15-8e0f-3c2b1a5d7f60","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","reason":"bank-fee","bankReference":"NWB-STMT-20261024-014","effectiveAt":"2026-10-24T08:00:00.000Z","state":"proposed","approvalRequestId":"c3f1a8d2-5b7e-4a94-9d60-8e2f4b1c7a35","requestedBy":"usr_northwind","recallId":null,"decidedBy":null,"decidedAt":null,"createdAt":"2026-10-25T09:00:00.000Z","amount":"-5.25"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.reserveAdjustment.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14133","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.reserveAdjustment.REFUSED","status":409,"message":"The connection has no token link yet","data":{"id":"DALP-14133","why":"A reserve adjustment is stated in the token's units, so the connection needs an active or suspended link to a token first.","fix":"Link a token to the connection, then record the adjustment again.","retryable":false,"category":"domain","reason":"no-token-link"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records a signed change to the bank's balance that neither a credit nor a redemption explains, in token units of the connection's linked token, and opens an approval. The adjustment is proposed and explains nothing until another bank rail manager approves it. Refused when the connection has no linked token, the amount is zero or carries more fraction digits than the token, the posting is in the future, or a live adjustment already uses the bank reference.","summary":"Propose a reserve adjustment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankReserveAdjustmentCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/reserve-adjustments/{adjustmentId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/reserveAdjustmentDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"adjustmentId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"An operator-recorded posting on the reserve account that neither a credit nor a redemption explains, such as a bank fee or interest, and who proposed and decided it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankReserveAdjustment"},"examples":{"example-1":{"value":{"id":"9a4e7c21-6d38-4b15-8e0f-3c2b1a5d7f60","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","organizationId":"org_northwind","reason":"bank-fee","bankReference":"NWB-STMT-20261024-014","effectiveAt":"2026-10-24T08:00:00.000Z","state":"approved","approvalRequestId":"c3f1a8d2-5b7e-4a94-9d60-8e2f4b1c7a35","requestedBy":"usr_northwind","recallId":null,"decidedBy":"usr_northwind_treasury","decidedAt":"2026-10-25T09:30:00.000Z","createdAt":"2026-10-25T09:00:00.000Z","amount":"-5.25"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.reserveAdjustment.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14132","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.reserveAdjustment.UNAVAILABLE","status":404,"message":"Reserve adjustment not found","data":{"id":"DALP-14132","why":"No reserve adjustment with this identifier exists on the bank connection.","fix":"List the connection's reserve adjustments and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.reserveAdjustment.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14133","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.reserveAdjustment.REFUSED","status":409,"message":"The connection has no token link yet","data":{"id":"DALP-14133","why":"A reserve adjustment is stated in the token's units, so the connection needs an active or suspended link to a token first.","fix":"Link a token to the connection, then record the adjustment again.","retryable":false,"category":"domain","reason":"no-token-link"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Decides a proposed reserve adjustment. The manager who proposed it cannot decide it. An approved adjustment explains the reconciliation difference from the next balance report on; the break case clears when that report reconciles. Deciding an adjustment the same way again returns it unchanged.","summary":"Approve or reject a reserve adjustment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankReserveAdjustmentDecisionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/cash-outs":{"get":{"tags":["Bank rail"],"operationId":"bankRail/cashOutsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"phase":{"type":"string","enum":["locking","awaiting-checker","approved","instructing","instructed","settled","paid","releasing","released","unbooked","returning","returned"],"description":"locking: delegate mode only, the rail pulls the holder's tokens into its escrow and locks them until the payout deadline; awaiting-checker: the amount is above the token link's threshold, so a bank rail manager other than the requester has to approve it; approved: the rail checks the line or the lock, the account and the time left before it sends the payment, and in delegate mode relocks a cash-out a checker approved so the bank gets the full payout deadline; instructing: the bank FIX session sends the payment instruction next; instructed: the bank has the instruction and has not reported it paid or rejected; settled: the bank paid the client, and the rail books the line, or pays the lock to the rail wallet and burns it there; paid: the tokens are burnt; releasing: the rail cancels the line or unlocks the tokens, releaseReason says why; released: the holder's tokens are free again, in delegate mode as the holder's free escrow balance; unbooked: the bank paid but the tokens could not be burnt, and a critical operations case names the unbacked amount; returning: the tokens are burnt and the bank reported some or all of the payout returned, so the rail admits a credit to the client for each return; returned: every return has its credit, and each credit mints only once a bank rail manager approves it."},"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Only this client's cash-outs."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Returns one page of the redemption lines the bank pays out on the connection, newest first.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOutList"},"examples":{"example-1":{"value":{"data":[{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/cash-outs?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/cash-outs?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/cash-outs?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the redemption lines the bank pays out on the connection, newest first. filter[phase] narrows to one phase and filter[clientLinkId] to one client.","summary":"List a bank connection's cash-outs","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/cashOutCreate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOut"},"examples":{"example-1":{"value":{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.cashOut.DUPLICATE","bankRail.cashOut.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14423","DALP-14424","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.DUPLICATE","status":409,"message":"Redemption line already paid out","data":{"id":"DALP-14424","why":"Another cash-out already pays this redemption line to a different bank account, or this Idempotency-Key already requested a different cash-out.","fix":"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.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Pays out a redemption line a client's wallet requested on the connection's token to one of that client's active bank accounts. The rail instructs the bank, books the line when the bank reports the payment settled, and cancels it when the bank rejects the payment or the deadline passes. A cash-out above the token link's checker threshold, alone or with the client's cash-outs of the last 24 hours, waits for a second bank rail manager. Refused when the connection cannot send payment instructions, the account is not active, the line is not the client's requested redemption, or its amount has no exact value in the currency's minor unit. Sending the same line again returns the stored cash-out. On a delegate-mode link a manager cannot record a cash-out: the holder requests it through the participant route.","summary":"Pay out a redemption line","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOutCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/cash-outs/{cashOutId}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/cashOutRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"cashOutId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOut"},"examples":{"example-1":{"value":{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.cashOut.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14422","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.UNAVAILABLE","status":404,"message":"Cash-out not found","data":{"id":"DALP-14422","why":"No cash-out with this identifier exists on the bank connection.","fix":"List the connection's cash-outs and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one cash-out with its phase, the bank's report and the burn transaction.","summary":"Read a cash-out","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/cash-outs/{cashOutId}/stream":{"get":{"tags":["Bank rail"],"operationId":"bankRail/cashOutStream","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"cashOutId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Streams one cash-out as server-sent events: the current cash-out at once, then one event each time it changes.","content":{"text/event-stream":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The cash-out, also the instruction id the bank reports against."},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tokenLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"token":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"supplyMode":{"type":"string","enum":["booked","delegate"],"description":"booked: the holder's redemption line holds the tokens and booking it burns them; delegate: the rail's escrow locks the tokens and the rail burns them as the token's supply delegate."},"lineId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The redemption line; null in delegate mode."},"escrow":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"The rail's escrow that holds the tokens; null in booked mode."},"lockId":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}],"description":"The escrow lock that holds the tokens; it changes once when a checker's approval relocks it. Null in booked mode."},"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"participantId":{"type":"string","minLength":1,"description":"Participant identifier"},"holder":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"clientAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"destinationAccount":{"type":"string","minLength":1,"description":"The IBAN or account number the payment goes to, fixed when the cash-out was requested."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The payout in the currency, as the bank's decimal."},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"phase":{"type":"string","enum":["locking","awaiting-checker","approved","instructing","instructed","settled","paid","releasing","released","unbooked","returning","returned"],"description":"locking: delegate mode only, the rail pulls the holder's tokens into its escrow and locks them until the payout deadline; awaiting-checker: the amount is above the token link's threshold, so a bank rail manager other than the requester has to approve it; approved: the rail checks the line or the lock, the account and the time left before it sends the payment, and in delegate mode relocks a cash-out a checker approved so the bank gets the full payout deadline; instructing: the bank FIX session sends the payment instruction next; instructed: the bank has the instruction and has not reported it paid or rejected; settled: the bank paid the client, and the rail books the line, or pays the lock to the rail wallet and burns it there; paid: the tokens are burnt; releasing: the rail cancels the line or unlocks the tokens, releaseReason says why; released: the holder's tokens are free again, in delegate mode as the holder's free escrow balance; unbooked: the bank paid but the tokens could not be burnt, and a critical operations case names the unbacked amount; returning: the tokens are burnt and the bank reported some or all of the payout returned, so the rail admits a credit to the client for each return; returned: every return has its credit, and each credit mints only once a bank rail manager approves it."},"releaseReason":{"anyOf":[{"type":"string","enum":["refused","rejected","expired","withdrawn","account-inactive","link-inactive","not-locked","reclaimed","escrow-evacuated","participant-restricted"],"description":"refused: the checker rejected the cash-out; rejected: the bank rejected the payment; expired: the payout deadline left less than the settlement window, or passed without a report; withdrawn: the holder cancelled the line before the payment went out; account-inactive: the bank account was revoked before the payment went out; link-inactive: the token link stopped being active before the payment went out; not-locked: the escrow could not take the holder's tokens, most often because the holder has not approved the escrow for the amount; reclaimed: the holder took the tokens back from the escrow after the lock's deadline, before the payment went out; escrow-evacuated: a token custodian moved the locked tokens back to the holder out of an escrow the current rail wallet no longer controls, before the payment went out; participant-restricted: the holder's participant account was suspended, closed, terminated or restricted from withdrawals before the payment went out."},{"type":"null"}]},"requestedBy":{"type":"string","minLength":1,"description":"The user who requested the cash-out: the holder or a manager."},"approvalId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The approval a second bank rail manager decides; null when the amount needs no checker."},"decidedBy":{"anyOf":[{"type":"string","minLength":1,"description":"Better Auth user identifier"},{"type":"null"}],"description":"The checker who approved or rejected the cash-out."},"deadlineAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"The payout deadline: the bank must report the payment by then or the rail releases the tokens. Booked mode sets it on approval; delegate mode sets it when the tokens are locked, as the lock's end date after which the holder may reclaim them, and again when a checker's approval relocks them."},"paymentCutOffTime":{"anyOf":[{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},{"type":"null"}],"description":"The bank's cut-off this cash-out was requested under, read in paymentTimeZone. A later change to the connection does not touch it. Null means none."},"paymentTimeZone":{"type":"string"},"expectedValueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The business day the bank should value the payment on, as YYYY-MM-DD. It moves to a later day when the bank closes before the instruction goes out. Null on a cash-out from before the rail kept value dates."},"releaseAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"The bank's next opening, when an approved cash-out is queued because the bank is closed or past its cut-off. No instruction goes out before it. Null when no wait was needed."},"instructedAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"When the rail sent the payment instruction."},"settledAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"When the bank reported the payment settled."},"bankTxId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The bank's transaction id for the payment."},"txHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The booking or cancellation transaction, once it settled."},"recovery":{"anyOf":[{"type":"object","properties":{"units":{"type":"string","pattern":"^-?\\d+$"},"burntUnits":{"type":"string","pattern":"^-?\\d+$"},"forcedTransferTxHash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"}},"required":["units","burntUnits","forcedTransferTxHash"],"additionalProperties":true,"description":"Tokens of a paid cash-out recovered from an escrow the current rail wallet does not control. The cash-out reads paid once the burnt units reach its amount."},{"type":"null"}]},"bookedBy":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"The account that booked the redemption line when it was not the rail wallet; null when the rail booked it or it is not booked yet. Booked mode only."},"returns":{"type":"array","items":{"type":"object","properties":{"returnId":{"type":"string","minLength":1,"description":"The bank's id for the return, unique per cash-out."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The amount the bank returned, as the bank's decimal."},"valueDate":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"receivedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"creditId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The credit that re-credits the return to the client; null until the tokens are burnt and the rail admits it."}},"required":["returnId","amount","valueDate","receivedAt","creditId"],"additionalProperties":true,"description":"A part or all of a cash-out's payout that the receiving bank sent back."},"description":"What the receiving bank sent back of the payout, oldest first; empty when nothing came back."},"caseId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The operations case the cash-out raised."},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"updatedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["id","connectionId","tokenLinkId","chainId","token","supplyMode","lineId","escrow","lockId","clientLinkId","participantId","holder","clientAccountId","destinationAccount","amount","currency","phase","releaseReason","requestedBy","approvalId","decidedBy","deadlineAt","paymentCutOffTime","paymentTimeZone","expectedValueDate","releaseAt","instructedAt","settledAt","bankTxId","txHash","recovery","bookedBy","returns","caseId","createdAt","updatedAt"],"additionalProperties":true,"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them."},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.cashOut.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14422","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.UNAVAILABLE","status":404,"message":"Cash-out not found","data":{"id":"DALP-14422","why":"No cash-out with this identifier exists on the bank connection.","fix":"List the connection's cash-outs and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Streams one cash-out as server-sent events: the current cash-out at once, then one event each time it changes. A delegate-mode cash-out is created in `locking` and moves on to `awaiting-checker` or `approved` once its tokens are locked, and to `paid` once the bank's payment is burnt, so this is how a client waits for those moves. The stream ends after an event whose cash-out the rail has nothing left to do for on its own: `paid`, `released`, `returned`, or `unbooked` with no recovered units left to burn. Otherwise it ends once 180 seconds pass without a change; open it again to keep following.","summary":"Follow a cash-out","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/cash-outs/{cashOutId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/cashOutDecision","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"cashOutId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOut"},"examples":{"example-1":{"value":{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":"c3f1a8d2-5b7e-4a94-9d60-8e2f4b1c7a35","decidedBy":"usr_northwind_treasury","deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.cashOut.UNAVAILABLE","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-14422","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.UNAVAILABLE","status":404,"message":"Cash-out not found","data":{"id":"DALP-14422","why":"No cash-out with this identifier exists on the bank connection.","fix":"List the connection's cash-outs and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.cashOut.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14423","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.REFUSED","status":409,"message":"Cash-out refused","data":{"id":"DALP-14423","why":"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`).","fix":"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.","retryable":false,"category":"domain","reason":"connection"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Decides a cash-out waiting for a checker. The user who requested it cannot decide it. Approving sends the payment instruction, and in delegate mode first relocks the tokens so the bank gets the full payout deadline; rejecting cancels the redemption line or unlocks the tokens. Deciding a cash-out the same way again returns it unchanged.","summary":"Approve or reject a cash-out","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOutDecision"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/cash-outs/{cashOutId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/cashOutTransition","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"cashOutId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOut"},"examples":{"example-1":{"value":{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"delegate","lineId":"42","escrow":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","lockId":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"paid","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":{"units":"25000","burntUnits":"25000","forcedTransferTxHash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.cashOut.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14422","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.UNAVAILABLE","status":404,"message":"Cash-out not found","data":{"id":"DALP-14422","why":"No cash-out with this identifier exists on the bank connection.","fix":"List the connection's cash-outs and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.cashOut.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14423","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.REFUSED","status":409,"message":"Cash-out refused","data":{"id":"DALP-14423","why":"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`).","fix":"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.","retryable":false,"category":"domain","reason":"connection"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Recovers tokens from an unbooked delegate-mode cash-out after a token custodian has force-transferred its escrow lock to the bank rail wallet. The rail records the recovered amount and burn transaction; repeating the same recovery after it settles returns the stored cash-out.","summary":"Recover a cash-out's locked tokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOutRecover"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/client-links/{clientLinkId}/redemption-requests":{"get":{"tags":["Bank rail"],"operationId":"bankRail/redemptionRequestsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"clientLinkId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"BankRedemptionRequestList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRedemptionRequestList"},"examples":{"example-1":{"value":{"data":[{"lineId":"42","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","amount":"250.00","currency":"EUR","openedAt":"2026-10-25T09:55:00.000Z"}]}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.clientLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14122","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.clientLink.UNAVAILABLE","status":404,"message":"Client link not found","data":{"id":"DALP-14122","why":"No client link with this identifier exists on the bank connection.","fix":"List the connection's clients and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.cashOut.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14423","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.REFUSED","status":409,"message":"Cash-out refused","data":{"id":"DALP-14423","why":"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`).","fix":"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.","retryable":false,"category":"domain","reason":"connection"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the redemption lines the client's wallet requested on the connection's token that no cash-out pays yet, with the amount each pays out in the currency.","summary":"List a client's open redemption requests","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/bank-cash-outs":{"get":{"tags":["Bank rail"],"operationId":"bankRail/participantBankCashOutsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"progress":{"type":"string","enum":["open","done"],"description":"open: the cash-out is still in flight; done: the cash-out was paid, released or returned."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Returns one page of the selected participant's cash-outs, newest first, across the organisation's bank connections.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOutList"},"examples":{"example-1":{"value":{"data":[{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/users/me/bank-cash-outs?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/users/me/bank-cash-outs?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/users/me/bank-cash-outs?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the selected participant's cash-outs, newest first, across the organisation's bank connections. Split cash-outs still in flight from finished ones with filter[progress]: open lists every phase that has not ended, done lists paid, released and returned.","summary":"List my cash-outs","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Bank rail"],"operationId":"bankRail/participantBankCashOutCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankCashOut"},"examples":{"example-1":{"value":{"id":"5d2c8e14-7a3f-4b96-9e01-6f4a2b8c3d75","connectionId":"0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b","tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","chainId":1,"token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","lineId":"42","escrow":null,"lockId":null,"clientLinkId":"8e2f6a41-95c3-4d7b-b0a8-1f4c3e6d5b72","participantId":"prt_acme","holder":"0x3c44cdddb6a900fa2b585dd299e03d12fa4293bc","clientAccountId":"c41d8f2a-6b3e-4a95-8f07-2e9b1d4c6a83","destinationAccount":"DE89370400440532013000","amount":"250.00","currency":"EUR","phase":"instructed","releaseReason":null,"requestedBy":"usr_acme","approvalId":null,"decidedBy":null,"deadlineAt":"2026-11-01T10:00:00.000Z","paymentCutOffTime":"14:00","paymentTimeZone":"Asia/Dubai","expectedValueDate":"2026-10-25","releaseAt":null,"instructedAt":"2026-10-25T10:00:05.000Z","settledAt":null,"bankTxId":null,"txHash":null,"recovery":null,"returns":[],"bookedBy":null,"caseId":null,"createdAt":"2026-10-25T10:00:00.000Z","updatedAt":"2026-10-25T10:00:05.000Z"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.cashOut.DUPLICATE","bankRail.cashOut.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14423","DALP-14424","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.cashOut.DUPLICATE","status":409,"message":"Redemption line already paid out","data":{"id":"DALP-14424","why":"Another cash-out already pays this redemption line to a different bank account, or this Idempotency-Key already requested a different cash-out.","fix":"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.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Pays out a redemption line the selected participant's wallet requested to one of its own active bank accounts. The same rules as a manager's cash-out apply, including the checker above the threshold. Sending the same line again returns the stored cash-out. On a delegate-mode link the request names an amount instead of a line: the participant's wallet approves the rail's escrow for it, the rail locks the tokens in the escrow until the payout deadline, pays the lock to the rail wallet and burns it when the bank reports the payment settled, and unlocks it when the bank rejects the payment or the deadline passes. Refused when the rail wallet controls no escrow or more than one, or the wallet's balance or approval does not cover the amount. Send an Idempotency-Key header so a retry returns the stored cash-out.","summary":"Cash out my redemption line","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantBankCashOutCreatePayload"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/bank-rail/rail-wallet":{"get":{"tags":["Bank rail"],"operationId":"bankRail/railWalletRead","parameters":[],"responses":{"200":{"description":"The organisation's rail wallet on the request's chain: the key that mints and burns for every bank connection on the chain, its generation and whether the rail signs with it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWallet"},"examples":{"example-1":{"value":{"organizationId":"org_northwind","chainId":1,"generation":1,"state":"contained","address":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","walletId":"wal_northwind_bank_rail","rotation":{"id":"8e1d4c7a-5b2f-4a93-b6e0-1f3c9d2a7b58","organizationId":"org_northwind","chainId":1,"reason":"lost","note":"The signing device was misplaced during the office move.","state":"contained","oldGeneration":1,"oldWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","stagedGeneration":null,"stagedWallet":null,"request":null,"rejection":null,"handoverStartedAt":null,"containedBy":"usr_northwind","containedAt":"2026-10-27T09:00:00.000Z","closedAt":null,"rowVersion":1,"updatedAt":"2026-10-27T09:00:00.000Z"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.railWalletRotation.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14135","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.REFUSED","status":409,"message":"Rail wallet rotation step refused","data":{"id":"DALP-14135","why":"The rail wallet rotation cannot take this step, and `data.reason` says why: the organisation has no rail wallet on the chain to contain (`no-rail-wallet`), the rotation's state does not allow the step (`state`), a rotation for a compromised key cannot be abandoned (`compromised`), the manager who made a request cannot also decide it (`requester-cannot-decide`), the request's approval no longer stands (`approval`), a lost key's supply authority already left the contained wallet so the rotation can only complete (`authority-moved`), a compromised key's rotation grants the staged wallet nothing while another account still holds supply authority (`revoke-pending`) or while the contained wallet's escrow still holds tokens (`old-escrow-funded`), or the rotation cannot complete yet (`completion-blocked`).","fix":"Read the rotation and its links, then take the step they allow: revoke the contained wallet's authority first, have a custodian evacuate its escrow or the contained wallet, wait for its queued writes, complete instead of abandoning, or ask another bank rail manager to decide a request you made.","retryable":false,"category":"domain","reason":"no-rail-wallet"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the organisation's rail wallet on the request's chain: the key that mints and burns for every bank connection on the chain, its generation, whether the rail signs with it, and the rotation still open on the chain, if any.","summary":"Read the rail wallet","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/rail-wallet/rotations":{"post":{"tags":["Bank rail"],"operationId":"bankRail/railWalletRotationCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A rotation of the organisation's rail wallet on one chain. It starts by containing the wallet: the rail stops signing with it and suspends every token link on the chain.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotation"},"examples":{"example-1":{"value":{"id":"8e1d4c7a-5b2f-4a93-b6e0-1f3c9d2a7b58","organizationId":"org_northwind","chainId":1,"reason":"lost","note":"The signing device was misplaced during the office move.","state":"contained","oldGeneration":1,"oldWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","stagedGeneration":null,"stagedWallet":null,"request":null,"rejection":null,"handoverStartedAt":null,"containedBy":"usr_northwind","containedAt":"2026-10-27T09:00:00.000Z","closedAt":null,"rowVersion":1,"updatedAt":"2026-10-27T09:00:00.000Z"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.railWalletRotation.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14135","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.REFUSED","status":409,"message":"Rail wallet rotation step refused","data":{"id":"DALP-14135","why":"The rail wallet rotation cannot take this step, and `data.reason` says why: the organisation has no rail wallet on the chain to contain (`no-rail-wallet`), the rotation's state does not allow the step (`state`), a rotation for a compromised key cannot be abandoned (`compromised`), the manager who made a request cannot also decide it (`requester-cannot-decide`), the request's approval no longer stands (`approval`), a lost key's supply authority already left the contained wallet so the rotation can only complete (`authority-moved`), a compromised key's rotation grants the staged wallet nothing while another account still holds supply authority (`revoke-pending`) or while the contained wallet's escrow still holds tokens (`old-escrow-funded`), or the rotation cannot complete yet (`completion-blocked`).","fix":"Read the rotation and its links, then take the step they allow: revoke the contained wallet's authority first, have a custodian evacuate its escrow or the contained wallet, wait for its queued writes, complete instead of abandoning, or ask another bank rail manager to decide a request you made.","retryable":false,"category":"domain","reason":"no-rail-wallet"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts a rail wallet rotation by containing the wallet at once, with reason compromised or lost. The rail signs nothing more with it: every token link on the chain is suspended, credits park as supply-authority, and the cash-out steps it would sign wait with one case each. Repeating the request while a rotation is open returns that rotation. Send an Idempotency-Key header so a retry returns the stored rotation.","summary":"Contain the rail wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotationCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/rail-wallet/rotations/{rotationId}":{"get":{"tags":["Bank rail"],"operationId":"bankRail/railWalletRotationRead","parameters":[{"name":"rotationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"A rotation of the organisation's rail wallet on one chain, with how far each token link it suspended is in moving its supply authority to the staged wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotationDetail"},"examples":{"example-1":{"value":{"id":"8e1d4c7a-5b2f-4a93-b6e0-1f3c9d2a7b58","organizationId":"org_northwind","chainId":1,"reason":"lost","note":"The signing device was misplaced during the office move.","state":"contained","oldGeneration":1,"oldWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","stagedGeneration":null,"stagedWallet":null,"request":null,"rejection":null,"handoverStartedAt":null,"containedBy":"usr_northwind","containedAt":"2026-10-27T09:00:00.000Z","closedAt":null,"rowVersion":1,"updatedAt":"2026-10-27T09:00:00.000Z","links":[{"tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","authority":"old","holders":["0x70997970c51812dc3a010c7d01b50e0d17dc79c8"],"escrow":null,"oldWalletBalance":"1250.00","oldWalletFrozen":false,"oldEscrowBalance":null,"stagedCoversSuspense":false,"inTransit":[],"movesAuthority":true}]}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.railWalletRotation.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14134","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.UNAVAILABLE","status":404,"message":"Rail wallet rotation not found","data":{"id":"DALP-14134","why":"No rail wallet rotation with this identifier exists for the organisation on this chain.","fix":"Read the rail wallet on the chain and use the rotation it names.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.railWalletRotation.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14135","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.REFUSED","status":409,"message":"Rail wallet rotation step refused","data":{"id":"DALP-14135","why":"The rail wallet rotation cannot take this step, and `data.reason` says why: the organisation has no rail wallet on the chain to contain (`no-rail-wallet`), the rotation's state does not allow the step (`state`), a rotation for a compromised key cannot be abandoned (`compromised`), the manager who made a request cannot also decide it (`requester-cannot-decide`), the request's approval no longer stands (`approval`), a lost key's supply authority already left the contained wallet so the rotation can only complete (`authority-moved`), a compromised key's rotation grants the staged wallet nothing while another account still holds supply authority (`revoke-pending`) or while the contained wallet's escrow still holds tokens (`old-escrow-funded`), or the rotation cannot complete yet (`completion-blocked`).","fix":"Read the rotation and its links, then take the step they allow: revoke the contained wallet's authority first, have a custodian evacuate its escrow or the contained wallet, wait for its queued writes, complete instead of abandoning, or ask another bank rail manager to decide a request you made.","retryable":false,"category":"domain","reason":"no-rail-wallet"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one rail wallet rotation on the request's chain with its state, the wallet it contained, any open or rejected request, and for each token link it suspended who holds the token's supply authority, the contained wallet's token balance and escrow balance, and the staged wallet's escrow.","summary":"Read a rail wallet rotation","x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/rail-wallet/rotations/{rotationId}/transitions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/railWalletRotationTransition","parameters":[{"name":"rotationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitForSettlementNoFundingPause"}],"responses":{"200":{"description":"A rotation of the organisation's rail wallet on one chain, with how far each token link it suspended is in moving its supply authority to the staged wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotationDetail"},"examples":{"example-1":{"value":{"id":"8e1d4c7a-5b2f-4a93-b6e0-1f3c9d2a7b58","organizationId":"org_northwind","chainId":1,"reason":"lost","note":"The signing device was misplaced during the office move.","state":"abandon-requested","oldGeneration":1,"oldWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","stagedGeneration":null,"stagedWallet":null,"request":{"action":"abandon","approvalRequestId":"3c7e9a12-6d4b-4f8e-a1c5-9b2d7e4f0a63","requestedBy":"usr_northwind","requestedAt":"2026-10-27T10:00:00.000Z"},"rejection":null,"handoverStartedAt":null,"containedBy":"usr_northwind","containedAt":"2026-10-27T09:00:00.000Z","closedAt":null,"rowVersion":2,"updatedAt":"2026-10-27T09:00:00.000Z","links":[{"tokenLinkId":"3c9a1e52-7b4d-4e08-a6f1-2d5b8c7e9a04","token":"0x5fbdb2315678afecb367f032d93f642f64180aa3","supplyMode":"booked","authority":"old","holders":["0x70997970c51812dc3a010c7d01b50e0d17dc79c8"],"escrow":null,"oldWalletBalance":"1250.00","oldWalletFrozen":false,"oldEscrowBalance":null,"stagedCoversSuspense":false,"inTransit":[],"movesAuthority":true}]}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14113","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.railWalletRotation.UNAVAILABLE","bankRail.tokenLink.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14120","DALP-14134","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.UNAVAILABLE","status":404,"message":"Rail wallet rotation not found","data":{"id":"DALP-14134","why":"No rail wallet rotation with this identifier exists for the organisation on this chain.","fix":"Read the rail wallet on the chain and use the rotation it names.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.railWalletRotation.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14135","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.REFUSED","status":409,"message":"Rail wallet rotation step refused","data":{"id":"DALP-14135","why":"The rail wallet rotation cannot take this step, and `data.reason` says why: the organisation has no rail wallet on the chain to contain (`no-rail-wallet`), the rotation's state does not allow the step (`state`), a rotation for a compromised key cannot be abandoned (`compromised`), the manager who made a request cannot also decide it (`requester-cannot-decide`), the request's approval no longer stands (`approval`), a lost key's supply authority already left the contained wallet so the rotation can only complete (`authority-moved`), a compromised key's rotation grants the staged wallet nothing while another account still holds supply authority (`revoke-pending`) or while the contained wallet's escrow still holds tokens (`old-escrow-funded`), or the rotation cannot complete yet (`completion-blocked`).","fix":"Read the rotation and its links, then take the step they allow: revoke the contained wallet's authority first, have a custodian evacuate its escrow or the contained wallet, wait for its queued writes, complete instead of abandoning, or ask another bank rail manager to decide a request you made.","retryable":false,"category":"domain","reason":"no-rail-wallet"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sends transition revoke-old to take one suspended token link's supply authority from the contained wallet, or grant-new to give it to the staged wallet. Your own wallet signs both after wallet verification, so you need the token's admin role in booked mode or its governor role in delegate mode. grant-new is refused while any account holds the authority, while the staged wallet cannot hold the token or pay gas, and, for a compromised key, until no link leaves authority with the contained wallet and its escrow holds nothing. Either transition returns the rotation unchanged when the authority already moved. Sends transition abandon to ask another bank rail manager to end a rotation whose key was lost and found again; it is refused once any link's authority has left the contained wallet. Once approved, the rail signs with the wallet again and reinstates the token links that still pass their checks. A rotation for a compromised key cannot be abandoned. Asking again while your own request is open returns the rotation unchanged.","summary":"Move a rail wallet rotation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotationTransition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/rail-wallet/rotations/{rotationId}/decisions":{"post":{"tags":["Bank rail"],"operationId":"bankRail/railWalletRotationDecision","parameters":[{"name":"rotationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"A rotation of the organisation's rail wallet on one chain, with how far each token link it suspended is in moving its supply authority to the staged wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotationDetail"},"examples":{"example-1":{"value":{"id":"8e1d4c7a-5b2f-4a93-b6e0-1f3c9d2a7b58","organizationId":"org_northwind","chainId":1,"reason":"lost","note":"The signing device was misplaced during the office move.","state":"abandoned","oldGeneration":1,"oldWallet":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8","stagedGeneration":null,"stagedWallet":null,"request":{"action":"abandon","approvalRequestId":"3c7e9a12-6d4b-4f8e-a1c5-9b2d7e4f0a63","requestedBy":"usr_northwind","requestedAt":"2026-10-27T10:00:00.000Z"},"rejection":null,"handoverStartedAt":null,"containedBy":"usr_northwind","containedAt":"2026-10-27T09:00:00.000Z","closedAt":"2026-10-27T11:00:00.000Z","rowVersion":3,"updatedAt":"2026-10-27T11:00:00.000Z","links":[]}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.railWalletRotation.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14134","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.UNAVAILABLE","status":404,"message":"Rail wallet rotation not found","data":{"id":"DALP-14134","why":"No rail wallet rotation with this identifier exists for the organisation on this chain.","fix":"Read the rail wallet on the chain and use the rotation it names.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.railWalletRotation.REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14135","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.railWalletRotation.REFUSED","status":409,"message":"Rail wallet rotation step refused","data":{"id":"DALP-14135","why":"The rail wallet rotation cannot take this step, and `data.reason` says why: the organisation has no rail wallet on the chain to contain (`no-rail-wallet`), the rotation's state does not allow the step (`state`), a rotation for a compromised key cannot be abandoned (`compromised`), the manager who made a request cannot also decide it (`requester-cannot-decide`), the request's approval no longer stands (`approval`), a lost key's supply authority already left the contained wallet so the rotation can only complete (`authority-moved`), a compromised key's rotation grants the staged wallet nothing while another account still holds supply authority (`revoke-pending`) or while the contained wallet's escrow still holds tokens (`old-escrow-funded`), or the rotation cannot complete yet (`completion-blocked`).","fix":"Read the rotation and its links, then take the step they allow: revoke the contained wallet's authority first, have a custodian evacuate its escrow or the contained wallet, wait for its queued writes, complete instead of abandoning, or ask another bank rail manager to decide a request you made.","retryable":false,"category":"domain","reason":"no-rail-wallet"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. A connection cannot activate until its FIX logon password is set, a token link is refused when the token cannot serve as the connection's reserve currency, and a client link is refused when the participant or wallet does not qualify.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","bankRail.tokenLink.REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14121"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.tokenLink.REFUSED","status":422,"message":"Token link refused","data":{"id":"DALP-14121","why":"The token cannot back this connection yet, and `data.reason` names the rule it fails: it has neither Booked movements nor the supply delegate feature (`needs-supply-delegate`), it lacks the Hold feature (`needs-hold`), a holder cannot request a redemption (`redemption-not-requestable`), it is not a catalogued custodian token on this chain (`not-custodian`), another organisation issued it (`not-issued`), its decimals cannot represent every minor unit of the currency (`decimals`), the connection already links a token (`currency-linked`), another connection links this token (`token-linked`), it already has supply (`supply-not-zero`), other accounts hold its supply management role (`supply-role-held`, named in `data.accounts`), your wallet cannot grant that role (`supply-role-missing`), accounts other than the rail wallet are its supply delegates (`supply-delegate-held`, named in `data.accounts`), the rail wallet is not a supply delegate that may mint and burn and your wallet cannot add it (`supply-delegate-missing`), its compliance stops the rail wallet holding it (`rail-wallet-ineligible`, with the failing rules in `data.blockers`), the rail wallet has no gas on a priced chain (`rail-wallet-unfunded`), a bank rail manager contained the rail wallet and its rotation is still open (`rail-wallet-contained`), the rail wallet already controls an escrow (`escrow-exists`) or controls more than one (`escrow-ambiguous`), your wallet does not hold the escrow manager role that creates the escrow (`escrow-manager-missing`), the link already has an open request to raise or clear a mint limit (`mint-limit-pending`), a mint cap was set on a link in booked mode, which mints through register lines and has no supply delegation to cap (`mint-cap-booked`), the link already has an open request to allow other supply managers (`supply-managers-pending`), other supply managers were allowed on a link in delegate mode, which has no supply management role holders to allow (`supply-managers-delegate`), the approval service refused the decision, for example because the manager who asked for the change cannot decide it or the request expired (`approval`), the organisation's rail wallet changed since the link was made, the decision names a request the link no longer has open, or an active link cannot be removed (`state`).","fix":"Resolve what `data.reason` names, then link, activate, change or remove again: link a token your organisation issued, revoke the role from, or remove as supply delegates, the accounts in `data.accounts`, ask a token admin to grant the role or a token governor to add the rail wallet as a supply delegate that may mint and burn, register the rail wallet's identity or clear the rules in `data.blockers`, fund the rail wallet, use the escrow the rail wallet already controls, ask a role admin to grant you the escrow manager role, follow the open rail wallet rotation: it moves the links to the new rail wallet when it completes, wait for another bank rail manager to decide the open mint-limit or allow-other-supply-managers request, leave the mint cap out on a booked link, change supply managers only on a booked link, or read the link again for its current request.","retryable":false,"category":"domain","reason":"needs-supply-delegate"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves or rejects the rotation's open request. A rejection names its reason. The manager who made the request cannot decide it. An approved abandon ends the rotation and the rail signs with the wallet again; approval is refused once any token link's supply authority has left the contained wallet.","summary":"Decide a rail wallet rotation request","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankRailWalletRotationDecision"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/screening-settings":{"get":{"tags":["Bank rail"],"operationId":"bankRail/fiatScreeningSettingsRead","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"How a bank connection screens its fiat flows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankScreeningSettings"},"examples":{"example-1":{"value":{"providerId":"0c9d8e7f-6a5b-4c3d-8e2f-1a0b9c8d7e6f","levelName":"fiat-transaction-monitoring","payerAccountCheck":true,"rowVersion":2}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns how the connection screens its fiat flows: the linked compliance provider that receives every confirmed credit and every cash-out as a fiat transaction (null leaves AML screening off), the provider's verification level when it needs one, and whether a credit must come from one of the client's active bank accounts (on by default). A connection that never saved settings returns the defaults with rowVersion 0.","summary":"Read a bank connection's screening settings","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Bank rail"],"operationId":"bankRail/fiatScreeningSettingsUpdate","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"How a bank connection screens its fiat flows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankScreeningSettings"},"examples":{"example-1":{"value":{"providerId":"0c9d8e7f-6a5b-4c3d-8e2f-1a0b9c8d7e6f","levelName":"fiat-transaction-monitoring","payerAccountCheck":true,"rowVersion":3}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","bankRail.connection.STALE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14115","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.STALE","status":409,"message":"Bank connection changed since it was read","data":{"id":"DALP-14115","why":"Another manager changed the bank connection after you read it, so its rowVersion no longer matches.","fix":"Read the connection again and repeat the change with its current rowVersion.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the connection's screening settings when expectedRowVersion matches the stored row (0 for a connection that never saved any). The change applies to the next credit or cash-out the rail screens; a transaction already screened keeps its verdict. Turning the payer check off lets a credit from any account mint. The change is audited.","summary":"Replace a bank connection's screening settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankScreeningSettingsUpdatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/bank-rail/connections/{connectionId}/fiat-screenings":{"get":{"tags":["Bank rail"],"operationId":"bankRail/fiatScreeningsList","parameters":[{"name":"connectionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"BankFiatScreeningList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankFiatScreeningList"},"examples":{"example-1":{"value":{"data":[{"subject":"credit","subjectId":"5d1c9b7a-3e2f-4a60-8b91-0c7d6e5f4a38","direction":"in","amount":"125.50","currency":"EUR","counterparty":{"name":"Acme Trading GmbH","account":"DE89370400440532013000","bic":"COBADEFF"},"participantId":"prt_acme","payerCheck":"verified","verdict":"approved","alerts":[],"score":4,"providerReference":"66f0c1a2b3c4d5e6f7a8b9c0","submittedAt":"2026-10-23T08:00:01.000Z","decidedAt":"2026-10-23T08:00:04.000Z","releasedBy":null,"releasedAt":null,"createdAt":"2026-10-23T08:00:00.500Z"}],"meta":{"total":1},"links":{"self":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/fiat-screenings?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/fiat-screenings?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/bank-rail/connections/0b8f7c4e-2d1a-4f6b-9c3e-5a7d8e9f0a1b/fiat-screenings?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the connection the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","bankRail.access.MANAGER_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14113","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The connection, token link, client link, bank account or credit this route names does not exist in the active organisation, or the client link is not the caller's own, so the platform returned none. This status never says whether such a resource exists in another organisation.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","bankRail.connection.UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14114","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"bankRail.connection.UNAVAILABLE","status":404,"message":"Bank connection not found","data":{"id":"DALP-14114","why":"No bank connection with this identifier exists in the active organisation.","fix":"List the organisation's bank connections and use one of their identifiers.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the resource it names: another writer changed the connection, another connection already uses the CompID pair, the client already has the bank account, or the connection's, bank account's or credit's current state does not permit this change, which includes a manager approving a bank account they proposed. Read the resource again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","bankRail.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-14126"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the fiat transactions the rail screened on the connection, in screening order: the AML provider's verdict and score, the payer check, and the second manager's release when one was needed. filter[from] and filter[to] bound the date range the rail first screened the transaction in, `from` inclusive and `to` exclusive; page through the range to export it.","summary":"List a bank connection's fiat screenings","x-dalp-auth":"session-or-api-key"}},"/api/v2/wallets":{"get":{"tags":["Wallets"],"operationId":"cantonV2.v2/wallets/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"family":{"anyOf":[{"type":"string","enum":["canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"cantonPartyId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"networkId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signerWalletId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["family","-family","cantonPartyId","-cantonPartyId","participantId","-participantId","networkId","-networkId","signerWalletId","-signerWalletId"]},"required":false}],"responses":{"200":{"description":"One page of custody-held wallets for the selected participant in the active organization. Canton party wallets currently populate this list. Sort defaults to cantonPartyId ascending. Repeating the request is safe.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyWallet"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"canton","cantonPartyId":"Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","participantId":"prt_northwind_ops","networkId":"canton-local","signerWalletId":"local:ed25519:canton-party-1"}],"meta":{"total":1},"links":{"self":"/v2/wallets?sort=cantonPartyId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/wallets?sort=cantonPartyId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/wallets?sort=cantonPartyId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12232","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_CONFLICT","CANTON_APPROVAL_DECISION_CONFLICT","CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CANTON_SUBMISSION_CONFLICT","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12231","DALP-12297","DALP-12298","DALP-14252","DALP-14253","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_CONFLICT","status":409,"message":"The allocation conflicts with an existing intent","data":{"id":"DALP-14252","why":"An allocation intent with different immutable input already exists for this request.","fix":"Read the existing allocation before creating another intent.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED","CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230","DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12233","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of custody-held wallets for the selected participant in the active organization. Canton party wallets currently populate this list. Sort defaults to cantonPartyId ascending. Filter on family, party id, participant id, network id, or signer wallet id. Repeating the request is safe. Available only on a deployment that has `features.canton` switched on. While it is off, this route answers `404 ROUTE_NOT_FOUND`, the same answer as a route that does not exist.","summary":"List wallets","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Wallets"],"operationId":"cantonV2.v2/wallets/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletCreateOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"family":"canton","allocationId":"allocation-example","cantonPartyId":"dalp-party::1220abcd","signerWalletId":"signer-wallet-example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12232","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_CONFLICT","CANTON_APPROVAL_DECISION_CONFLICT","CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CANTON_SUBMISSION_CONFLICT","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12231","DALP-12297","DALP-12298","DALP-14252","DALP-14253","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_CONFLICT","status":409,"message":"The allocation conflicts with an existing intent","data":{"id":"DALP-14252","why":"An allocation intent with different immutable input already exists for this request.","fix":"Read the existing allocation before creating another intent.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED","CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230","DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12233","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a custody-held wallet. Family canton allocates a Canton external party whose topology is signed automatically by the organization's custody-held Ed25519 key. A finished allocation returns 200. Background work and existing-signer approval return 202 with a status URL; the allocation status exposes the lifecycle request to approve. Available only on a deployment that has `features.canton` switched on. While it is off, this route answers `404 ROUTE_NOT_FOUND`, the same answer as a route that does not exist.","summary":"Create a wallet","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"networkId":{"$ref":"#/components/schemas/NetworkId"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["family","providerConfigurationId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/wallets/{walletId}":{"get":{"tags":["Wallets"],"operationId":"cantonV2.v2/wallets/read","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":true}],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonPartyWallet"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"family":"canton","cantonPartyId":"dalp-party::1220abcd","participantId":"participant-example","networkId":"canton-local","signerWalletId":"signer-wallet-example"},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12232","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_CONFLICT","CANTON_APPROVAL_DECISION_CONFLICT","CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CANTON_SUBMISSION_CONFLICT","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12231","DALP-12297","DALP-12298","DALP-14252","DALP-14253","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_CONFLICT","status":409,"message":"The allocation conflicts with an existing intent","data":{"id":"DALP-14252","why":"An allocation intent with different immutable input already exists for this request.","fix":"Read the existing allocation before creating another intent.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED","CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230","DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12233","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one custody-held wallet in the active organization. For a Canton party wallet the identifier is the external party id. A wallet that belongs to another organization answers the same not-found response as a missing wallet. Available only on a deployment that has `features.canton` switched on. While it is off, this route answers `404 ROUTE_NOT_FOUND`, the same answer as a route that does not exist.","summary":"Read a wallet","x-dalp-auth":"session-or-api-key"}},"/api/v2/wallets/allocations/{allocationId}":{"get":{"tags":["Wallets"],"operationId":"cantonV2.v2/wallets/allocations/read","parameters":[{"name":"allocationId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAllocationView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"family":"canton","allocationId":"allocation-example","status":"registered","cantonPartyId":"dalp-party::1220abcd","signerWalletId":"signer-wallet-example"},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12232","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_CONFLICT","CANTON_APPROVAL_DECISION_CONFLICT","CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CANTON_SUBMISSION_CONFLICT","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12231","DALP-12297","DALP-12298","DALP-14252","DALP-14253","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_CONFLICT","status":409,"message":"The allocation conflicts with an existing intent","data":{"id":"DALP-14252","why":"An allocation intent with different immutable input already exists for this request.","fix":"Read the existing allocation before creating another intent.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED","CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230","DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12233","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the durable allocation that creates a Canton party wallet. Use the allocation id from the 202 accept body. When status is awaiting-existing-approval, use lifecycleRequestId with the custody-account approval flow. An allocation of another organization answers the same not-found response as a missing allocation. Available only on a deployment that has `features.canton` switched on. While it is off, this route answers `404 ROUTE_NOT_FOUND`, the same answer as a route that does not exist.","summary":"Read a wallet allocation","x-dalp-auth":"session-or-api-key"}},"/api/v2/wallets/{walletId}/submissions":{"post":{"tags":["Wallets"],"operationId":"cantonV2.v2/wallets/submissions/create","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonSubmissionCreateOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"submissionId":"submission-example","ledgerSubmissionId":"canton-ledger-sub-1","preparedHashHex":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_SIGNER_NOT_ENTITLED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9322","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SUBMISSION_CONFLICT","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14253","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12233","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Submits a hand-built DAML command for a custody-held Canton party wallet through interactive submission. This is the escape hatch, not the ordinary write path: the caller supplies the template id, the choice name and the argument record itself, so a command that names them wrongly is refused by the ledger rather than by this platform. Reach for it only for a choice the platform does not yet model as a typed operation. For token issuance, burning, transfer, transfer acceptance and holding unlock, use the typed Canton token operations on the family-aware token collections under /api/v2/tokens/{assetId}, which state the operation in business terms and build the Daml themselves; for delivery-versus-payment use the XvP writes at /api/v2/addons/xvp-settlements, /api/v2/addons/xvp-settlements/{settlementAddress}/approvals and /api/v2/addons/xvp-settlements/{settlementAddress}/executions. When approval is required, the platform authorizes the command intent and re-prepares a fresh hash after approval. A settled command returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL. Available only on a deployment that has `features.canton` switched on. While it is off, this route answers `404 ROUTE_NOT_FOUND`, the same answer as a route that does not exist.","summary":"Submit a DAML command (escape hatch)","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"command":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CantonJsonValue"}},"networkId":{"$ref":"#/components/schemas/NetworkId"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["command"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/wallets/submissions/{submissionId}/decision":{"post":{"tags":["Wallets"],"operationId":"cantonV2.v2/wallets/submissions/decision","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The recorded approval decision for a Canton command submission.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonSubmissionApprovalDecisionOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","approvalStatus":"approved"},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12232","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_CONFLICT","CANTON_APPROVAL_DECISION_CONFLICT","CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CANTON_SUBMISSION_CONFLICT","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12231","DALP-12297","DALP-12298","DALP-14252","DALP-14253","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_CONFLICT","status":409,"message":"The allocation conflicts with an existing intent","data":{"id":"DALP-14252","why":"An allocation intent with different immutable input already exists for this request.","fix":"Read the existing allocation before creating another intent.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED","CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230","DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12233","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records an organization-owner or platform-administrator approval decision, then idempotently signals the durable Canton submission. Repeating the same decision is safe. Available only on a deployment that has `features.canton` switched on. While it is off, this route answers `404 ROUTE_NOT_FOUND`, the same answer as a route that does not exist.","summary":"Decide a DAML command intent","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonSubmissionApprovalDecisionInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/system/compliance-modules":{"get":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"module":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"The compliance modules on the active system, with the total match count, facet counts for the filterable columns, and links to the adjacent pages.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RegisteredComplianceModule"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"country-block-list-v2","name":"country-block-list-v2","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/compliance-modules?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=20","first":"/v2/system/compliance-modules?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=20","prev":null,"next":null,"last":"/v2/system/compliance-modules?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=20"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance modules that the active system's module registry holds, with the global bindings installed for each one. Filter by module address, name, or type identifier, sort by name or type identifier, and page through the result with an offset and a limit. When the active system has no compliance engine or module registry yet, you get an empty collection rather than an error.","summary":"List registered compliance modules","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. By default the response carries the updated system and the transaction hashes the mutation produced. When you ask for asynchronous processing through the `Transaction-Preference` header, the response instead carries a transaction identifier, its current state, and a status URL to poll, and the platform answers 202 Accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers module implementations on the active system's module registry, so that later requests can install and configure bindings for them. Send `all` to register every implementation the indexed module directory reports, or send one configuration or an array of configurations to pick the types you want. The platform skips types the registry already holds, so repeating the request adds only the types it still lacks. You need the system manager role.","summary":"Register compliance module implementations","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemComplianceModuleCreateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesUninstall","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. By default the response carries the updated system and the transaction hashes the mutation produced. When you ask for asynchronous processing through the `Transaction-Preference` header, the response instead carries a transaction identifier, its current state, and a status URL to poll, and the platform answers 202 Accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes a global binding from the active system, so the compliance engine stops evaluating that module for the tokens bound to the system. Identify the binding by its module contract address, and add the on-chain instance address when the module type carries more than one binding. You can uninstall a disabled binding. You need the compliance manager role.","summary":"Uninstall a global compliance module binding","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemComplianceModuleUninstallBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/compliance-modules/{moduleAddress}":{"get":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesRead","parameters":[{"name":"moduleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The registered compliance module with its registry, type identifier, name, and global bindings.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RegisteredComplianceModule"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance module registered at the address in the path, with the registry that holds it, its module type identifier, its name, and the system compliance engine's own bindings of that type (its global controls) with their parameters, scope, and status. Type and name are null when the registry does not record them. Repeating the request is safe.","summary":"Read a registered compliance module","x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance-module-instances":{"get":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModuleInstancesList","parameters":[],"responses":{"200":{"description":"One page of compliance module types with their implementation address and archive flag.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceModuleInstance"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"typeId":"example","currentImplementation":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","archived":false}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the compliance module types registered for the active organization, each with its current implementation address and whether it is archived. Repeating the request is safe.","summary":"List compliance module instances","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/compliance-modules/configure":{"post":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesConfigure","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. By default the response carries the updated system and the transaction hashes the mutation produced. When you ask for asynchronous processing through the `Transaction-Preference` header, the response instead carries a transaction identifier, its current state, and a status URL to poll, and the platform answers 202 Accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","compliance.price.RESOLVER_MISSING","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-199482","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Installs a global binding when you omit the instance address, and replaces the parameters of the binding at that address when you send one. The platform refuses a second binding for a type that already carries one, so send the instance address to reconfigure the existing binding instead. Reconfiguring needs an enabled binding, and the parameters of a `capital-raise-limit` binding stay fixed once you install it. You need the compliance manager role.","summary":"Install or reconfigure a global compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemComplianceModuleConfigureBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/compliance-modules/scope":{"post":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesSetScope","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. By default the response carries the updated system and the transaction hashes the mutation produced. When you ask for asynchronous processing through the `Transaction-Preference` header, the response instead carries a transaction identifier, its current state, and a status URL to poll, and the platform answers 202 Accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the scope of the enabled binding at the instance address you send and leaves its parameters alone. Send the whole scope, because these values replace the stored scope rather than extend it. You need the compliance manager role.","summary":"Replace the scope of a global compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemComplianceModuleSetScopeBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/compliance-module-instances/{instanceAddress}/transitions":{"post":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModuleInstanceTransition","parameters":[{"name":"instanceAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceModuleInstanceTransitionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/compliance-modules/scoped":{"post":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesInstallScoped","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. By default the response carries the updated system and the transaction hashes the mutation produced. When you ask for asynchronous processing through the `Transaction-Preference` header, the response instead carries a transaction identifier, its current state, and a status URL to poll, and the platform answers 202 Accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","compliance.price.RESOLVER_MISSING","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-199482","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Installs a global binding and applies its scope in one transaction, so the binding never exists unscoped. The scope narrows the senders, receivers, countries, and tokens the compliance engine evaluates the module for. Empty scope lists with an execution mode of 0 cover every transfer. You need the compliance manager role.","summary":"Install a scoped global compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemComplianceModuleScopedInstallBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/compliance-modules/scoped-params":{"post":{"tags":["Compliance rules"],"operationId":"complianceModulesV2.complianceModulesSetScopedParams","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. By default the response carries the updated system and the transaction hashes the mutation produced. When you ask for asynchronous processing through the `Transaction-Preference` header, the response instead carries a transaction identifier, its current state, and a status URL to poll, and the platform answers 202 Accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModuleRegistryReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","globalConfigs":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces both the parameters and the scope of the enabled binding at the instance address you send, in one transaction, so you complete one wallet verification instead of two. The platform refuses a `capital-raise-limit` binding here, because its parameters stay fixed once you install it. You need the compliance manager role.","summary":"Replace the parameters and scope of a global compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemComplianceModuleSetScopedParamsBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/token-compliance/{tokenAddress}/modules":{"get":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModulesList","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The token's compliance modules with their parameters, scope, and active state.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceModule"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance modules bound to the token in the path, each with its type, name, parameters, scope, and whether it is active. A token outside your active system is refused as not found. Repeating the request is safe.","summary":"List a token's compliance modules","x-dalp-auth":"session-or-api-key"}},"/api/v2/token-compliance/{tokenAddress}/modules/{moduleAddress}":{"get":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModulesRead","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"moduleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The compliance module with its type, name, parameters, scope, and active state.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceModule"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance module at the module address in the path, when it is bound to the token in the path. A token outside your active system, or a module the token does not bind, is refused as not found. Repeating the request is safe.","summary":"Read a token's compliance module","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules":{"post":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleInstall","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the install. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenModuleReadback"},{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"consistencyToken":{"type":"string","minLength":1,"examples":["reached=10427;drained=10427"]},"contractId":{"type":"string","minLength":1}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex","consistencyToken"],"additionalProperties":false}]},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TOKEN_COMPLIANCE_MODULE_GENERATION_INCOMPATIBLE","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9564"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12232","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","compliance.price.RESOLVER_MISSING","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-199482","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12286","DALP-12287","DALP-14434","DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12233","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Binds a registered compliance module to the token and stores the encoded parameters the module evaluates transfers against. The chain must already hold the implementation at `params.module` under `params.typeId`. When the token already holds a binding for that `typeId`, the route answers `409`: change the existing binding through the parameter route, or add a second binding with its own scope through the scoped install route.","summary":"Install a compliance module on a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceModuleInstallBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleUninstall","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the removal. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenModuleReadback"},{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"consistencyToken":{"type":"string","minLength":1,"examples":["reached=10427;drained=10427"]},"contractId":{"type":"string","minLength":1}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex","consistencyToken"],"additionalProperties":false}]},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12232","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12286","DALP-12287","DALP-14434","DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12233","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Unbinds the module at `moduleAddress` so it stops evaluating transfers of this token. When the token holds several bindings that share the module's `typeId`, name the one to remove through `instanceAddress`; the route answers `409` when a request leaves it out.","summary":"Remove a compliance module from a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceModuleUninstallBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"put":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.v2/token/setComplianceModules","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the module set. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"consistencyToken":{"type":"string","minLength":1,"examples":["reached=10427;drained=10427"]},"contractId":{"type":"string","minLength":1}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex","consistencyToken"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"canton-ledger-sub-1","preparedHashHex":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","consistencyToken":"reached=10427;drained=10427","contractId":"example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12232","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12286","DALP-12287","DALP-14434","DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12233","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the whole ordered compliance module set of a Canton instrument, named by the contract ids the Canton compliance read returned. The order is the ledger's evaluation order: the first module to refuse aborts the movement, so the sequence is part of the request. This is also the second submission the module-configuration routes require, because the choices behind those archive the module they configure and the registration still lists the archived id. There is no EVM arm: an EVM token's module set is changed binding by binding, so an EVM-family request is refused rather than answered with an install or an uninstall. The submission presents the instrument's live registration, module state and account-state book, so a gated instrument keeps settling after the change. A finished operation returns 200; an accepted one returns 202 with a status URL.","summary":"Replace a Canton instrument's compliance module set","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceSetModulesBody"}}},"required":false},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Tokens"],"operationId":"v2/token/compliance","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false}],"responses":{"200":{"description":"The selected asset's compliance rules in a single-resource envelope. `links.self` carries the `instrumentAdmin` that completes a Canton instrument's key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceV2OutputSchema"},"examples":{"example-1":{"value":{"data":{"family":"evm","modules":["example"],"registration":{"contractId":"example"}},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance rules bound to the selected asset, in either chain family. The asset is named exactly as it is for the asset read: `assetId` is a contract address for an EVM token, or a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. The body carries `family`: an `evm` asset reports decoded module configs keyed by `typeId`, and v2 instances also carry an instance address, an active flag, and a scope; a `canton` instrument reports its registration contract and the module contracts that registration names, in the ledger's own evaluation order. The read is indexed and does not change module bindings. Use inherited global controls to see the controls the asset inherits from above it.","summary":"Read asset compliance modules","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules/scoped":{"post":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleScopedInstall","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the scoped install. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TOKEN_COMPLIANCE_MODULE_GENERATION_INCOMPATIBLE","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9564"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","compliance.price.RESOLVER_MISSING","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-199482","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Binds a registered compliance module to the token together with the scope that selects which transfers the module evaluates. This route accepts more than one binding of the same `typeId` on one token, so each binding can carry its own scope. When the token's compliance contract does not support scoped bindings, the route answers `409`.","summary":"Install a scoped compliance module on a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceModuleScopedInstallBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules/{instanceAddress}/scope":{"put":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleSetScope","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"instanceAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the scope replacement. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the scope of the binding at the `instanceAddress` path parameter and leaves its parameters as they stand. The binding must be active on this token. Both `assetId` and `instanceAddress` are EIP-55 checksummed contract addresses.","summary":"Replace the scope of an installed compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceModuleSetScopeBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules/{instanceAddress}/transitions":{"post":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleTransition","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"instanceAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceModuleInstanceTransitionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules/{instanceAddress}/holder-locks":{"put":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceHolderLockSet","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"instanceAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceHolderLockSetBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceHolderLockClear","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"instanceAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceHolderLockClearBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules/{instanceAddress}/scoped-parameters":{"patch":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleConfigureScoped","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"instanceAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the combined parameter and scope update. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the encoded parameters and the scope of the binding at the `instanceAddress` path parameter in a single transaction. The binding therefore never holds new parameters under the old scope, and one wallet verification covers both changes. The binding must be active on this token. The parameters of a `capital-raise-limit` binding never change after install, so this route rejects them with `409`.","summary":"Replace the parameters and scope of an installed compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceModuleSetScopedParamsBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-module-parameters":{"patch":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.tokenComplianceModuleConfigure","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the parameter update. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenModuleReadback"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"modules":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","typeId":"example","name":"example","parameters":{"addresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"countries":[0],"capped":{"maxSupply":"0"},"collateral":{"proofTopic":"0","ratioBps":0,"trustedIssuers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"tokenSupplyLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"useBasePrice":false,"global":false},"capitalRaiseLimit":{"maxSupply":"0","periodLength":0,"rolling":false,"priceResolver":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceTopicId":"0"},"issuanceVolumeLimit":{"maxSupply":"0","periodLength":0,"rolling":false},"lockUp":{"unlockTime":0},"ownCustodyGateway":{"gatewayFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"minimumHolding":{"minimumHolding":"0","exemptWallets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"exemptClaimTopics":["0"]},"claimExpiry":{"topics":["0"],"gracePeriod":0,"requireExpiry":false},"investorCount":{"maxInvestors":0,"global":false,"countryCodes":[0],"countryLimits":[0],"topicFilter":[{"nodeType":0,"value":"0"}]},"investorCountV2":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"identityCount":{"maxInvestors":0,"countingPolicy":"lifetime","countryCodes":[0],"countryLimits":[0]},"timeLock":{"holdPeriod":0,"allowExemptions":false,"exemptionExpression":[{"nodeType":0,"value":"0"}]},"transferApproval":{"approvalAuthorities":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"allowExemptions":false,"oneTimeUse":false,"approvalMode":0,"exemptionExpression":[{"nodeType":0,"value":"0"}],"approvalExpiry":0},"identityVerification":[{"nodeType":0,"value":"0"}]},"scope":{"executionMode":0,"senderInclusion":[{"nodeType":0,"value":"example"}],"senderExemption":[{"nodeType":0,"value":"example"}],"receiverInclusion":[{"nodeType":0,"value":"example"}],"receiverExemption":[{"nodeType":0,"value":"example"}],"tokenInclusion":[{"nodeType":0,"value":"example"}],"tokenExemption":[{"nodeType":0,"value":"example"}],"senderCountryInclusion":[0],"senderCountryExclusion":[0],"receiverCountryInclusion":[0],"receiverCountryExclusion":[0]},"active":false,"isV2":false}]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-modules"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the encoded parameters of an active binding and leaves its scope as it stands. The binding must be active on this token, and `params.typeId` must be the registered identifier of the module at `params.module`. The parameters of a `capital-raise-limit` binding never change after install, so this route rejects them with `409`.","summary":"Replace the parameters of an installed compliance module","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceModuleConfigureBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-modules/attesters":{"put":{"tags":["Compliance rules"],"operationId":"tokenComplianceV2.v2/token/updateAttesterRegistry","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The route accepts the attester registry rotation. By default it queues the transaction and answers `202` with the transaction identifier, its current state, and the status URL to poll. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the re-read token, the hashes that carried the change, and a link back to the mutated resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"consistencyToken":{"type":"string","minLength":1,"examples":["reached=10427;drained=10427"]},"contractId":{"type":"string","minLength":1}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex","consistencyToken"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"canton-ledger-sub-1","preparedHashHex":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","consistencyToken":"reached=10427;drained=10427","contractId":"example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"warning":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_APPROVAL_DECISION_FORBIDDEN","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12232","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12286","DALP-12287","DALP-14434","DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12233","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the D1 trusted attester registry of the instrument's admin in full: the parties whose attestations count, and the claim kinds that count as a pass. Replacement rather than a delta, which is what makes revoking one attester a single operation. The ledger choice is consuming, so the successor registry lives at a new contract id: submitters present the current one per submission, and a stale pin with no override fails closed. There is no EVM arm, so an EVM-family request is refused. A finished operation returns 200; an accepted one returns 202 with a status URL.","summary":"Rotate a Canton instrument admin's trusted attesters","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceUpdateAttesterRegistryBody"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profiles/{userId}":{"get":{"tags":["KYC"],"operationId":"kycV2.v2/userKycProfile/read","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true}],"responses":{"200":{"description":"The KYC profile of the requested user, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileReadOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0193fa5d-4b17-7c88-8e51-9a2f0d6c3b71","userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","status":"approved","hasPendingUpdate":false,"approvedVersion":{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","versionNumber":2,"firstName":"Amara","lastName":"Okafor","contentHash":"ad8bfb5243fffeb4db2aa581ae965be67c08059dd899e23a76afdb05d71bd8e0","approvedAt":"2026-06-05T14:05:00.000Z","approvedBy":"0193fa5e-7d20-7b63-9f14-8c5a2e70d419"},"latestVersion":{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","versionNumber":2,"status":"approved","isDraft":false,"createdAt":"2026-06-02T08:15:00.000Z"},"openActionRequestsCount":0,"createdAt":"2026-06-02T08:15:00.000Z","updatedAt":"2026-06-05T14:05:00.000Z"},"links":{"self":"/v2/kyc-profiles/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the KYC profile of one user, with the review status, the pending-update flag, the approved version, the most recent version, and the number of open action requests. `approvedVersion` and `latestVersion` read as `null` until the user holds a version in that state. A user reads their own profile; reading another user's profile requires the claim issuer or identity manager role in the active organization.","summary":"Read a KYC profile","x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profiles/{userId}/versions":{"get":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersions/list","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"reviewedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"submittedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"versionNumber":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of KYC versions for the requested user, with paging links and the total count.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KycProfileVersionsV2ListItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","versionNumber":1,"status":"approved","createdAt":"2026-06-02T08:15:00.000Z","createdBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","submittedAt":"2026-06-04T10:22:00.000Z","submittedBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","reviewedAt":"2026-06-05T14:05:00.000Z","reviewedBy":"0193fa5e-7d20-7b63-9f14-8c5a2e70d419","reviewOutcome":"approved","isDraft":false,"isUnderReview":false,"isApproved":true,"isCurrent":true},{"id":"0194a7d9-0e44-7a19-b6c3-72f81d4a0e55","versionNumber":2,"status":"draft","createdAt":"2026-06-02T08:15:00.000Z","createdBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","submittedAt":null,"submittedBy":null,"reviewedAt":null,"reviewedBy":null,"reviewOutcome":null,"isDraft":true,"isUnderReview":false,"isApproved":false,"isCurrent":false}],"meta":{"total":2},"links":{"self":"/v2/kyc-profiles/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/versions?sort=versionNumber&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/kyc-profiles/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/versions?sort=versionNumber&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/kyc-profiles/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/versions?sort=versionNumber&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the KYC versions of one user as a page, ordered by `versionNumber` from the oldest version by default. Each entry carries the review timestamps and the derived state flags, so a client renders the review history without reading each version. A user lists their own versions; listing another user's versions requires the claim issuer or identity manager role in the active organization.","summary":"List KYC versions","x-dalp-auth":"session-or-api-key"},"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersions/create","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The draft version that this call created, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionsCreateOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d9-0e44-7a19-b6c3-72f81d4a0e55","versionNumber":2,"status":"draft","userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","firstName":"Amara","lastName":"Okafor","dob":"1988-04-12T00:00:00.000Z","country":"NL","residencyStatus":"resident","nationalId":"NL-8842-1177","createdAt":"2026-06-02T08:15:00.000Z","createdBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"},"links":{"self":"/v2/kyc-profiles/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/versions/0194a7d9-0e44-7a19-b6c3-72f81d4a0e55"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a draft version for one user and returns it. The draft takes the next version number and copies its field values from `initialData` when the request carries it, from `cloneFromVersionId` when the request supplies it, and otherwise from the version that `cloneFrom` selects. A user holds one draft at a time, so set `overwriteDraft` to `true` to replace an existing draft. A user creates a draft on their own profile; creating one for another user requires the claim issuer or identity manager role in the active organization.","summary":"Create a KYC draft version","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycProfileVersionsCreatePayload"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}":{"get":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersion/read","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The requested KYC version, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionReadOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","versionNumber":1,"status":"approved","firstName":"Amara","lastName":"Okafor","dob":"1988-04-12T00:00:00.000Z","country":"NL","residencyStatus":"resident","nationalId":"NL-8842-1177","createdAt":"2026-06-02T08:15:00.000Z","createdBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","createdByName":"Amara Okafor","submittedAt":"2026-06-04T10:22:00.000Z","submittedBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","submittedByName":"Amara Okafor","reviewedAt":"2026-06-05T14:05:00.000Z","reviewedBy":"0193fa5e-7d20-7b63-9f14-8c5a2e70d419","reviewedByName":"Ada Lovelace","reviewOutcome":"approved","reviewNotes":"Passport and address document match the submitted data.","rejectionReason":null,"documentsCount":2,"openActionRequest":{"reason":"example","requiredFields":["example"],"requestedBy":"example","requestedByName":"example","requestedAt":"example","dueAt":"example"},"canEdit":false,"canSubmit":false,"canReview":false},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one KYC version with its identity fields, its submission and review trail, the number of attached documents, and the `canEdit`, `canSubmit`, and `canReview` flags that state what the calling participant does next. A user reads their own versions; reading another user's version requires the identity manager or claim issuer role in the active organization.","summary":"Read a KYC version","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersion/update","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The draft version as it now stands, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionUpdateOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d9-0e44-7a19-b6c3-72f81d4a0e55","userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","versionNumber":2,"status":"draft","firstName":"Amara","lastName":"Okafor","dob":"1988-04-12T00:00:00.000Z","country":"NL","residencyStatus":"resident","nationalId":"NL-8842-1177","createdAt":"2026-06-02T08:15:00.000Z","createdBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"},"links":{"self":"/v2/kyc-profile-versions/0194a7d9-0e44-7a19-b6c3-72f81d4a0e55"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes the identity fields on the caller's own draft version and returns the stored result. A field that the request omits keeps its stored value, and a field sent as `null` clears it. The version stays a draft and keeps its version number, so submit it once the data is complete.","summary":"Update a KYC draft version","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycProfileVersionUpdatePayload"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}/submissions":{"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersion/submit","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The submitted version, with the submission time and the submitting participant.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionSubmitOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","status":"under_review","submittedAt":"2026-06-04T10:22:00.000Z","submittedBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/submissions"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves the caller's own draft version to `under_review` and records the submission time and the submitting participant. A version under review holds its fields and its documents until a reviewer approves it, rejects it, or requests an update.","summary":"Submit a KYC version for review","x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}/decisions":{"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersion/decision","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The approved or rejected version with the recorded review decision.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionDecisionOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","status":"approved","reviewOutcome":"approved","reviewedAt":"2026-06-05T14:05:00.000Z","reviewedBy":"0193fa5e-7d20-7b63-9f14-8c5a2e70d419","reviewNotes":"Passport and address document match the submitted data."},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/decisions"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records an approval or rejection on a version that sits under review. Send `decision: approve` with optional review notes, or `decision: reject` with a reason and optional notes. The version and profile state follow the selected outcome, and this call requires the claim issuer or identity manager role in the active organization.","summary":"Record a KYC review decision","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KycProfileVersionDecisionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/kyc-profile-versions/{versionId}/update-requests":{"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycVersion/requestUpdate","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The version under review and the action request that this call opened.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionRequestUpdateOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"version":{"id":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","status":"under_review"},"actionRequest":{"id":"0194a7d5-1c9f-7b62-9d47-8e0a3f52c714","status":"open","reason":"Upload a proof of address that a provider issued in the last three months.","requiredFields":["proof_of_address"],"dueAt":"2026-06-12T00:00:00.000Z","requestedAt":"2026-06-05T14:05:00.000Z"}},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/update-requests"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens an action request against a version that sits under review and asks the user for more information. The version stays `under_review`, and the response carries the open request with its reason, its requested fields, and its due date. Send `dueAt` as an ISO 8601 timestamp to record when the changes fall due; the platform stores that timestamp and returns it on the action request. This call requires the claim issuer or identity manager role in the active organization.","summary":"Request changes on a KYC version","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","minLength":10},"requiredFields":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"dueAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reviewNotes":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}/documents":{"get":{"tags":["KYC"],"operationId":"kycV2.v2/userKycDocuments/list","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"documentType":{"anyOf":[{"type":"string","enum":["passport","drivers_license","national_id","proof_of_address","other"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fileName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fileSize":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"mimeType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"uploadedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of documents attached to the requested version, with paging links and the total count.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KycProfileVersionDocumentsV2ListItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0194a7d3-6b12-7e44-8a90-2c7f5d31b608","documentType":"proof_of_address","fileName":"proof-of-address.pdf","fileSize":28,"mimeType":"application/pdf","uploadedAt":"2026-06-04T09:58:00.000Z","uploadedBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"}],"meta":{"total":1},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the documents attached to one KYC version as a page, ordered by `uploadedAt` from the earliest upload by default. Each entry carries the document type, the file name, the media type, the size in bytes, and the participant who uploaded it. This projection leaves out storage locations, so request a download link to read a file.","summary":"List KYC version documents","x-dalp-auth":"session-or-api-key"},"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycDocuments/confirmUpload","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The stored document record, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionDocumentConfirmUploadOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d3-6b12-7e44-8a90-2c7f5d31b608","versionId":"0194a7d1-2f88-7c05-9b3a-51d0e7c4a962","documentType":"proof_of_address","fileName":"proof-of-address.pdf","fileSize":28,"mimeType":"application/pdf","uploadedAt":"2026-06-04T09:58:00.000Z","uploadedBy":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/documents/0194a7d3-6b12-7e44-8a90-2c7f5d31b608"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Uploads one document to a draft version and returns the stored record. Send the file as base64 in `fileData`, set `fileSize` to the decoded byte length, and set `mimeType` to one of `application/pdf`, `image/jpeg`, `image/png`, or `image/webp`. Set `documentType` to what the file shows: `passport`, `drivers_license`, `national_id`, `proof_of_address`, or `other`. The platform reads the leading bytes of the decoded file and declines the upload when they describe a different media type. A user uploads to their own version; uploading for another user requires the identity manager role in the active organization.","summary":"Attach a document to a KYC version","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"documentType":{"type":"string","enum":["passport","drivers_license","national_id","proof_of_address","other"]},"fileName":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[^\\p{Cc}\\p{Cs}/\\\\]+$"},"fileSize":{"type":"integer","maximum":26214400,"exclusiveMinimum":0},"mimeType":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp"]},"fileData":{"type":"string","minLength":1,"maxLength":34952536}},"required":["documentType","fileName","fileSize","mimeType","fileData"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}/documents/{documentId}":{"delete":{"tags":["KYC"],"operationId":"kycV2.v2/userKycDocuments/delete","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"An empty `data` member, which confirms that the version no longer holds the document.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes one document from the caller's own draft version. A version that sits under review or that a reviewer already decided keeps its documents, so create a new draft to change the attachments.","summary":"Remove a KYC document","x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}/documents/{documentId}/downloads":{"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycDocuments/getDownloadUrl","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"A download link for the document, with its file name, its media type, and the link expiry.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycProfileVersionDocumentGetDownloadUrlOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"downloadUrl":"/api/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/documents/0194a7d3-6b12-7e44-8a90-2c7f5d31b608/download","fileName":"proof-of-address.pdf","mimeType":"application/pdf","expiresAt":"2026-06-05T15:05:00.000Z"},"links":{"self":"/v2/kyc-profile-versions/0194a7d1-2f88-7c05-9b3a-51d0e7c4a962/documents/0194a7d3-6b12-7e44-8a90-2c7f5d31b608/downloads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a download link for one document attached to a KYC version, together with the file name, the media type, and the `expiresAt` timestamp of the link. The link carries a one-hour lifetime, so request a fresh link once `expiresAt` passes.","summary":"Request a document download link","x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-profile-versions/{versionId}/documents/{documentId}/download":{"get":{"tags":["KYC"],"operationId":"kycV2.v2/userKycDocuments/download","parameters":[{"name":"versionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The decrypted document bytes, returned with the media type recorded when the document was uploaded.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"JVBERi0xLjcKJcfl8uXrp/Og0MTGCiUlRU9GCg=="}}}},"headers":{"content-disposition":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Return the decrypted bytes of one document attached to a KYC version. The caller must own the version or hold an authorized review role in its organization. Use the response media type and file metadata from the document record when saving or displaying the bytes.","summary":"Download a KYC document","x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-action-requests/{requestId}/fulfillments":{"post":{"tags":["KYC"],"operationId":"kycV2.v2/userKycActionRequest/fulfill","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The closed action request, with the time that the platform recorded.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/KycActionRequestFulfillOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0194a7d5-1c9f-7b62-9d47-8e0a3f52c714","status":"fulfilled","fulfilledAt":"2026-06-05T14:05:00.000Z"},"links":{"self":"/v2/kyc-action-requests/0194a7d5-1c9f-7b62-9d47-8e0a3f52c714/fulfillments"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","USER_KYC_PROFILE_NOT_FOUND_ACTION","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-0417","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Closes an open action request that the caller owns and records the time. Supply the requested information first, for example by updating the draft version or by attaching the missing document, because closing the request leaves the version it belongs to unchanged.","summary":"Fulfill a KYC action request","x-dalp-auth":"session-or-api-key"}},"/api/v2/kyc-action-requests":{"get":{"tags":["KYC"],"operationId":"kycV2.kycActionRequestsList","parameters":[],"responses":{"200":{"description":"Your KYC action requests, each with its status, reason, required fields, and request, due, and fulfilment times.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KycActionRequest"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","versionId":"example","status":"open","reason":"example","requiredFields":["example"],"requestedAt":"example","requestedBy":"example","dueAt":"example","fulfilledAt":"example","fulfilledVersionId":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the KYC action requests addressed to you, with the reason a reviewer gave, the profile fields they need, when each is due, and whether you have fulfilled it. Repeating the request is safe.","summary":"List your KYC action requests","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}/profile":{"get":{"tags":["Users"],"operationId":"v2UserProfile.v2/userProfile/read","parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"The profile of the requested user, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserProfile"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","status":"approved","personalInfoCompleted":true,"approvedVersionId":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","latestVersionId":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","fixed":[{"key":"firstName","value":"Alice","review":{"state":"approved","note":null}},{"key":"lastName","value":"Martin","review":{"state":"approved","note":null}},{"key":"country","value":"BE","review":{"state":"approved","note":null}},{"key":"nationalId","value":"BE-90041212345","review":{"state":"approved","note":null}}],"sections":[{"sectionId":"019c0000-0000-7000-8000-0000000d0001","slug":"identity-details","name":"Identity details","fields":[{"key":"dob","field":{"type":"date","mutability":"restricted-mutable","storage":"offchain","audience":"user","label":"Date of birth","required":true},"value":"1990-04-12","suggested":null,"review":{"state":"approved","note":null}}]}]},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/profile"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the profile one user holds in the active organization: the fixed fields and every profile section the organization sees, in position order, each field with its definition, the value the latest version holds, and its review state. `status` derives from the field reviews. On the user's own read through `me`, an empty user-filled field of a system section carries `suggested`: the user's newest approved value for it from another organization. A claim issuer reads another user's profile without suggestions; neither receives manager-filled fields, their definitions, or who edited or reviewed a field. An identity manager of the active organization receives every field.","summary":"Read a user profile","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Users"],"operationId":"v2UserProfile.v2/userProfile/update","parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"The profile after the write, as the caller may read it, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserProfile"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","status":"approved","personalInfoCompleted":true,"approvedVersionId":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","latestVersionId":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","fixed":[{"key":"firstName","value":"Alice","review":{"state":"approved","note":null}},{"key":"lastName","value":"Martin","review":{"state":"approved","note":null}},{"key":"country","value":"BE","review":{"state":"approved","note":null}},{"key":"nationalId","value":"BE-90041212345","review":{"state":"approved","note":null}}],"sections":[{"sectionId":"019c0000-0000-7000-8000-0000000d0001","slug":"identity-details","name":"Identity details","fields":[{"key":"dob","field":{"type":"date","mutability":"restricted-mutable","storage":"offchain","audience":"user","label":"Date of birth","required":true},"value":"1990-04-12","suggested":null,"review":{"state":"approved","note":null}}]}]},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/profile"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Saves profile values keyed by section slug and field key, and fixed fields by name, as one new version of the profile the user holds in the active organization; a key left out keeps its value and an empty string clears it. A user saves their own fixed and user-filled fields. An identity manager of the active organization saves any field of another user. A saved fixed or user-filled field becomes unreviewed; a manager-filled field is approved by the manager who saved it. A version an identity manager corrected waits for a different reviewer to approve it, and `approve: true` is refused. Only sections the organization sees are written. A field outside them, a field the caller may not write, or a value that does not fit its definition answers 400 naming each field as `<slug>.<key>`, never a value.","summary":"Save a user profile","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileUpdateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}/profile/decisions":{"post":{"tags":["Users"],"operationId":"v2UserProfile.v2/userProfile/decision","parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"The profile after the review, with a link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserProfile"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","status":"approved","personalInfoCompleted":true,"approvedVersionId":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","latestVersionId":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","fixed":[{"key":"firstName","value":"Alice","review":{"state":"approved","note":null}},{"key":"lastName","value":"Martin","review":{"state":"approved","note":null}},{"key":"country","value":"BE","review":{"state":"approved","note":null}},{"key":"nationalId","value":"BE-90041212345","review":{"state":"approved","note":null}}],"sections":[{"sectionId":"019c0000-0000-7000-8000-0000000d0001","slug":"identity-details","name":"Identity details","fields":[{"key":"dob","field":{"type":"date","mutability":"restricted-mutable","storage":"offchain","audience":"user","label":"Date of birth","required":true},"value":"1990-04-12","suggested":null,"review":{"state":"approved","note":null}}]}]},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/profile"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"An identity manager of the active organization submits one profile review decision. Set `action` to `approve` with `fields` as `all` or named fields, or to `request-changes` with named fields, a note, and an optional due date. The decision applies as of the supplied version.","summary":"Review user profile fields","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileDecisionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/users/{userId}/profile/versions":{"get":{"tags":["Users"],"operationId":"v2UserProfile.v2/userProfile/versions","parameters":[{"name":"userId","in":"path","schema":{"type":"string"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","additionalProperties":true},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of the versions of the user's profile in the active organization, with paging links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileVersion"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0194a7d7-58e3-7f10-9c26-4b7d0e91a400","versionNumber":1,"status":"approved","createdAt":"2026-04-12T09:00:00.000Z","submittedAt":"2026-04-12T09:05:00.000Z","reviewedAt":"2026-04-12T09:30:00.000Z","reviewOutcome":"approved","isDraft":false,"isUnderReview":false,"isApproved":true,"isCurrent":true,"values":{"identity-details":{"dob":"1990-04-12"}}}],"meta":{"total":1},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/profile/versions","first":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/profile/versions","prev":null,"next":null,"last":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/profile/versions"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the versions of the profile one user holds in the active organization as a page, ordered by `versionNumber`, which counts from 1 within that profile. Saved values include retired sections. A user lists their own versions; listing another user's versions requires the claim issuer or identity manager role in the active organization. Manager-filled values and editor or reviewer identities reach identity managers only.","summary":"List user profile versions","x-dalp-auth":"session-or-api-key"}},"/api/v2/organisation-kyc-profile":{"get":{"tags":["KYC"],"operationId":"v2OrganisationKycProfile.v2/organisationKycProfile/read","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OrganisationKycProfile"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"identityAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"canReview":false,"status":"incomplete","personalInfoCompleted":false,"approvedVersionId":"example","latestVersionId":"example","fixed":[{"key":"country","value":"example","review":{"state":"unreviewed","note":"example","editedBy":"example","editedByName":"example","editedAt":"example","reviewedBy":"example","reviewedByName":"example","reviewedAt":"example","reviewedVersionId":"example"}}],"sections":[{"sectionId":"example","slug":"example","name":"example","fields":[{"key":"example","field":{"type":"example","mutability":"example","storage":"example","audience":"example","position":0,"label":"example","description":"example","required":false,"defaultValue":"example","configurableInDesigner":false,"minLength":0,"maxLength":0,"lowerBound":"example","upperBound":"example","options":["example"]},"value":"example","suggested":"example","review":{"state":"unreviewed","note":"example","editedBy":"example","editedByName":"example","editedAt":"example","reviewedBy":"example","reviewedByName":"example","reviewedAt":"example","reviewedVersionId":"example"}}]}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["KYC"],"operationId":"v2OrganisationKycProfile.v2/organisationKycProfile/update","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OrganisationKycProfile"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"identityAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"canReview":false,"status":"incomplete","personalInfoCompleted":false,"approvedVersionId":"example","latestVersionId":"example","fixed":[{"key":"country","value":"example","review":{"state":"unreviewed","note":"example","editedBy":"example","editedByName":"example","editedAt":"example","reviewedBy":"example","reviewedByName":"example","reviewedAt":"example","reviewedVersionId":"example"}}],"sections":[{"sectionId":"example","slug":"example","name":"example","fields":[{"key":"example","field":{"type":"example","mutability":"example","storage":"example","audience":"example","position":0,"label":"example","description":"example","required":false,"defaultValue":"example","configurableInDesigner":false,"minLength":0,"maxLength":0,"lowerBound":"example","upperBound":"example","options":["example"]},"value":"example","suggested":"example","review":{"state":"unreviewed","note":"example","editedBy":"example","editedByName":"example","editedAt":"example","reviewedBy":"example","reviewedByName":"example","reviewedAt":"example","reviewedVersionId":"example"}}]}]},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganisationKycUpdateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organisation-kyc-profile/decisions":{"post":{"tags":["KYC"],"operationId":"v2OrganisationKycProfile.v2/organisationKycProfile/decision","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OrganisationKycProfile"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"identityAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"canReview":false,"status":"incomplete","personalInfoCompleted":false,"approvedVersionId":"example","latestVersionId":"example","fixed":[{"key":"country","value":"example","review":{"state":"unreviewed","note":"example","editedBy":"example","editedByName":"example","editedAt":"example","reviewedBy":"example","reviewedByName":"example","reviewedAt":"example","reviewedVersionId":"example"}}],"sections":[{"sectionId":"example","slug":"example","name":"example","fields":[{"key":"example","field":{"type":"example","mutability":"example","storage":"example","audience":"example","position":0,"label":"example","description":"example","required":false,"defaultValue":"example","configurableInDesigner":false,"minLength":0,"maxLength":0,"lowerBound":"example","upperBound":"example","options":["example"]},"value":"example","suggested":"example","review":{"state":"unreviewed","note":"example","editedBy":"example","editedByName":"example","editedAt":"example","reviewedBy":"example","reviewedByName":"example","reviewedAt":"example","reviewedVersionId":"example"}}]}]},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfileDecisionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/organisation-kyc-profile/versions":{"get":{"tags":["KYC"],"operationId":"v2OrganisationKycProfile.v2/organisationKycProfile/versions","parameters":[{"name":"filter","in":"query","schema":{"type":"object","additionalProperties":true},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileVersion"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","versionNumber":0,"status":"draft","createdAt":"example","createdBy":"example","submittedAt":"example","submittedBy":"example","reviewedAt":"example","reviewedBy":"example","reviewOutcome":"approved","isDraft":false,"isUnderReview":false,"isApproved":false,"isCurrent":false,"values":{}}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PROFILE_FIELDS_REFUSED","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-14264","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","compliance.dependency.REFUSED","compliance.store.ROW_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14090","DALP-14124","DALP-14125"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers":{"get":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProvidersList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"providerKind":{"anyOf":[{"type":"string","enum":["sumsub","sumsub-aml","sumsub-kyt","chainalysis","complyadvantage","elliptic","jumio","middesk","onfido","persona","trulioo","veriff"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","enum":["pending","active","paused","revoked","failed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of compliance providers, with the total match count and the links for reaching the other pages.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceProviderView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","participantId":"example","providerKind":"sumsub","status":"active","statusExplanation":"Active and accepting provider webhooks.","lastHealthCheck":{"status":"healthy","checkedAt":"2026-03-11T09:24:05.418Z","message":"All credential references resolved."},"issuerEoaAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","onchainIdentityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","providerApiKeyRef":"compliance/provider/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/api-key","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","webhookAuthMode":"hmac","webhookIpAllowlist":null,"pendingSecretExpiresAt":null,"lastActivity":null,"topics":[{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"active","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}],"topicsCount":1,"activeTopicsCount":1,"revokedTopicsCount":0,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/compliance/providers?sort=-updatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/compliance/providers?sort=-updatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/compliance/providers?sort=-updatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance providers registered for the active organization and system, each with its topic counts and most recent verdict or alert. Supports sorting, offset pagination, field filters, and global search. The platform orders results by `-updatedAt` unless `sort` says otherwise.","summary":"List compliance providers","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProvidersCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"The compliance provider as it now stands, with the topics configured under it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","participantId":"example","providerKind":"sumsub","status":"active","statusExplanation":"Active and accepting provider webhooks.","lastHealthCheck":{"status":"healthy","checkedAt":"2026-03-11T09:24:05.418Z","message":"All credential references resolved."},"issuerEoaAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","onchainIdentityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","providerApiKeyRef":"compliance/provider/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/api-key","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","webhookAuthMode":"hmac","webhookIpAllowlist":null,"pendingSecretExpiresAt":null,"lastActivity":null,"topics":[{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"active","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}],"topicsCount":0,"activeTopicsCount":0,"revokedTopicsCount":0,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311"}}}}}},"headers":{}},"202":{"description":"The provider is still being provisioned on chain. Read statusUrl until it answers the created provider or a refusal. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ComplianceProviderCreateAccepted"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"requestId":"example","state":"running","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores the provider credentials and the webhook signing secret, then provisions a claim-issuer identity for the first topic. Requires wallet verification. When provisioning does not complete, the platform deletes the secrets it stored for the provider that was never created. A session caller also sends the `X-Step-Up-Challenge` header, issued by `POST /api/v2/step-up-challenges` for this operation, target, and body; the challenge is single-use.","summary":"Create a compliance provider","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderCreateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/write-authority":{"get":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProviderWriteAuthority","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderWriteAuthority"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"allowed":false,"requiredRoles":["addonManager"],"reason":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}":{"get":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProviderRead","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"includeRevoked","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The compliance provider as it now stands, with the topics configured under it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","participantId":"example","providerKind":"sumsub","status":"active","statusExplanation":"Active and accepting provider webhooks.","lastHealthCheck":{"status":"healthy","checkedAt":"2026-03-11T09:24:05.418Z","message":"All credential references resolved."},"issuerEoaAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","onchainIdentityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","providerApiKeyRef":"compliance/provider/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/api-key","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","webhookAuthMode":"hmac","webhookIpAllowlist":null,"pendingSecretExpiresAt":null,"lastActivity":null,"topics":[{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"active","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}],"topicsCount":0,"activeTopicsCount":0,"revokedTopicsCount":0,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one compliance provider with its topics, its most recent verdict or alert, and its last recorded health check. Revoked topics stay out of `topics` unless `includeRevoked` is `true`.","summary":"Read a compliance provider","x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/provider-create-requests/{requestId}":{"get":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProviderCreateRequestRead","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","participantId":"example","providerKind":"sumsub","status":"pending","statusExplanation":"example","lastHealthCheck":{"status":"healthy","checkedAt":"example","message":"example"},"issuerEoaAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","onchainIdentityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","providerApiKeyRef":"example","webhookUrlToken":"example","webhookAuthMode":"hmac","webhookIpAllowlist":["example"],"pendingSecretExpiresAt":"example","lastActivity":{"kind":"verdict","state":"approved","outcome":"applied","at":"example"},"topics":[{"providerId":"example","topicName":"knowYourCustomer","topicId":"0","webhookUrlToken":"example","status":"pending","revocationSeverityThreshold":0,"autoClearThreshold":0,"claimValiditySeconds":31536000,"notificationChannels":[{}],"lastActivity":{"kind":"verdict","state":"approved","outcome":"applied","at":"example"},"createdAt":"example","updatedAt":"example"}],"topicsCount":0,"activeTopicsCount":0,"revokedTopicsCount":0,"createdAt":"example","updatedAt":"example"},"links":{"self":"example"}}}}}}},"202":{"description":"The provider is still being provisioned on chain. Read statusUrl until it answers the created provider or a refusal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderCreateAccepted"},"examples":{"example-1":{"value":{"requestId":"example","state":"running","statusUrl":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/validate-credentials":{"post":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProvidersValidateCredentials","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The outcome of checking the supplied credentials against the provider.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderValidation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"valid":true,"providerMessage":"Credentials accepted."},"links":{"self":"/v2/compliance/providers/validate-credentials"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sends the supplied credentials to the provider and reports whether the provider accepts them. Stores nothing and creates no provider record. `providerMessage` carries the provider's own response text when the provider returns one.","summary":"Validate compliance provider credentials","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderCredentials"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/test-connection":{"post":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProviderTestConnection","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The outcome of checking the stored credentials against the provider.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderValidation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"valid":false,"providerMessage":"Sumsub has no level named \"basic-kyc-level\". Levels on this account: id-and-liveness, id-only."},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/test-connection"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sends the credentials stored for this provider to the provider and reports whether the provider accepts them. Changes nothing and needs no wallet verification. `valid` is `false` with a `providerMessage` when the provider refuses the credentials, cannot be reached, or, for Sumsub, has no level with the configured name. It is also `false` when the stored credentials cannot be read, and then the provider is not contacted. Responds `503` when the secret store cannot be reached.","summary":"Test a compliance provider's stored credentials","x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/transitions":{"post":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProviderTransition","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The compliance provider as it now stands, with the topics configured under it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","participantId":"example","providerKind":"sumsub","status":"active","statusExplanation":"Active and accepting provider webhooks.","lastHealthCheck":{"status":"healthy","checkedAt":"2026-03-11T09:24:05.418Z","message":"All credential references resolved."},"issuerEoaAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","onchainIdentityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","providerApiKeyRef":"compliance/provider/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/api-key","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","webhookAuthMode":"hmac","webhookIpAllowlist":null,"pendingSecretExpiresAt":null,"lastActivity":null,"topics":[{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"active","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}],"topicsCount":0,"activeTopicsCount":0,"revokedTopicsCount":0,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves the provider and every topic under it to the status named in `to`. `paused` pauses an `active` provider so inbound webhook deliveries stop before signature checking, and `active` resumes a `paused` one; either responds `409` when the provider holds another status, or when another request changes the status first. `revoked` removes the provider's claim-issuer entry from the trusted-issuers registry and revokes the provider; it requires wallet verification, answers the provider record with its revoked topics included, and a repeat call rejoins the in-flight revocation instead of starting a second one. A session caller also sends the `X-Step-Up-Challenge` header, issued by `POST /api/v2/step-up-challenges` for this operation, target, and body; the challenge is single-use.","summary":"Move a compliance provider to another status","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderTransitionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/monitoring":{"get":{"tags":["Compliance providers"],"operationId":"complianceProvidersV2.complianceProviderMonitoring","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"outcome":{"anyOf":[{"type":"string","enum":["applied","replayed","rejected_out_of_order","rejected_unmapped","rejected_topic_mismatch","rejected_paused","rejected_over_cap","rejected_unsponsorable","failed","pending"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"providerEventId":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"q":{"type":"string","minLength":1,"maxLength":1000},"severity":{"anyOf":[{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"subjectAddress":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"topicName":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of monitoring alerts for the provider, with the total match count and the links for reaching the other pages.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceMonitoringEventView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"3f0a71c8-6d24-4b9e-8a15-c72e0d4b9f36","providerEventId":"evt_7d1a5c93b0e24f68","subjectAddress":"0x5C2f81aE0b7D394cA6f10e83b2D57cA9F0417Bd3","topicName":"knowYourCustomer","severity":72,"outcome":"applied","rawPayload":{"applicantId":"6512c0a4f1d83b0007a91e42","reviewAnswer":"GREEN","riskScore":72},"processedAt":"2026-03-11T09:24:07.113Z","createdAt":"2026-03-11T09:24:05.418Z"}],"meta":{"total":1},"links":{"self":"/v2/compliance/providers/cp_northwind_kyc/monitoring?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/compliance/providers/cp_northwind_kyc/monitoring?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/compliance/providers/cp_northwind_kyc/monitoring?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the monitoring alerts recorded for one provider, newest first. Supports offset pagination, filtering on `topicName`, and global search. Each entry keeps the provider payload that produced it.","summary":"List compliance provider monitoring events","x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/webhooks":{"post":{"tags":["Compliance providers"],"operationId":"complianceProviderWebhooksV2.complianceProviderWebhooksAdd","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The topic webhook this call added or updated, nested under `data.topic`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderWebhookAction"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"topic":{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"active","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/webhooks"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds a claim topic webhook under an existing provider. Requires wallet verification. The first topic is created with the provider; use this route to add later topics. A topic the provider kind does not support returns 400. A session caller also sends the `X-Step-Up-Challenge` header, issued by `POST /api/v2/step-up-challenges` for this operation, target, and body; the challenge is single-use.","summary":"Add a compliance provider webhook topic","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderWebhookAddBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/webhooks/{webhookId}":{"patch":{"tags":["Compliance providers"],"operationId":"complianceProviderWebhooksV2.complianceProviderWebhookUpdate","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderWebhookAction"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"topic":{"providerId":"example","topicName":"knowYourCustomer","topicId":"0","webhookUrlToken":"example","status":"pending","revocationSeverityThreshold":0,"autoClearThreshold":0,"claimValiditySeconds":31536000,"notificationChannels":[{}],"lastActivity":{"kind":"verdict","state":"approved","outcome":"applied","at":"example"},"createdAt":"example","updatedAt":"example"}},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderWebhookUpdateBody"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/webhooks/{webhookId}/transitions":{"post":{"tags":["Compliance providers"],"operationId":"complianceProviderWebhooksV2.complianceProviderWebhookTransition","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The topic webhook this call added or updated, nested under `data.topic`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderWebhookAction"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"topic":{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"paused","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/webhooks"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves one topic webhook to the status named in `to`. `paused` pauses an active topic so inbound deliveries stop before signature checking. `active` resumes a paused topic, or reactivates a revoked one and re-registers its trusted-issuer claim topic, which requires wallet verification. `revoked` revokes an active topic and removes its trusted-issuer claim topic, which requires wallet verification and is refused for the last active topic of a provider kind that serves one topic. Responds 409 when the topic cannot make the move. A session caller also sends the `X-Step-Up-Challenge` header, issued by `POST /api/v2/step-up-challenges` for this operation, target, and body; the challenge is single-use.","summary":"Move a compliance provider webhook to another status","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderWebhookTransitionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/providers/{providerId}/webhooks/{webhookId}/secret-rotations":{"post":{"tags":["Compliance providers"],"operationId":"complianceProviderWebhooksV2.complianceProviderWebhookRotateSecret","parameters":[{"name":"providerId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The topic webhook this call added or updated, nested under `data.topic`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceProviderWebhookAction"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"topic":{"providerId":"b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311","topicName":"knowYourCustomer","topicId":"10101010","webhookUrlToken":"7c4e19d2-58a6-4b0f-9d31-e2f60c8a4517","status":"active","revocationSeverityThreshold":80,"autoClearThreshold":0,"claimValiditySeconds":null,"notificationChannels":[{}],"lastActivity":null,"createdAt":"2026-02-27T14:08:51.002Z","updatedAt":"2026-03-11T09:24:05.418Z"}},"links":{"self":"/v2/compliance/providers/b6f2c0a4-1d83-4f1e-9c47-2a5e8d0b7311/webhooks"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores a new signing secret for one topic webhook. Inbound deliveries verify against the new secret after this call. A session caller also sends the `X-Step-Up-Challenge` header, issued by `POST /api/v2/step-up-challenges` for this operation, target, and body; the challenge is single-use.","summary":"Rotate a webhook signing secret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceProviderRotateSecretBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/compliance/subjects/sdk-access-token":{"post":{"tags":["Compliance providers"],"operationId":"complianceSubjectsV2.complianceSubjectIssueSdkAccessToken","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Access token for the identity's Sumsub applicant, with its expiry and level.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceSubjectSdkAccessToken"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"token":"_act-sbx-example-access-token","expiresAt":"2026-09-28T16:10:00.000Z","levelName":"id-and-liveness"},"links":{"self":"/v2/compliance/subjects/sdk-access-token"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED","compliance.provider.ACCESS_TOKEN_ISSUE_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525","DALP-14106"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a short-lived Sumsub WebSDK or MobileSDK access token for one identity, at the level the provider is configured with, so an app can run the identity check in-app without holding Sumsub credentials. Omit `providerId` to use the organisation's only active Sumsub provider for the topic. Omit `identityAddress` to use the caller's own identity, whose registration may still be pending; naming another identity needs a compliance provider role. The applicant is created first when the identity has none.","summary":"Issue a Sumsub SDK access token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceSubjectSdkAccessTokenBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/compliance-expression":{"get":{"tags":["Compliance rules"],"operationId":"tokenComplianceExpressionV2.tokenComplianceExpressionRead","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The compliance expression currently indexed for the token's identity registry.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceExpressionReadback"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"expression":[{"nodeType":0,"value":"26984799302505749158794800959285050858086405868089409909048783980951278841746"},{"nodeType":0,"value":"66602700950116947137359654609674923607788815289970476259958745144319039408766"},{"nodeType":1,"value":"0"}]},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-expression"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","compliance.executor.DEPENDENCY_UNAVAILABLE","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12108","DALP-12248","DALP-12249","DALP-12268","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.executor.DEPENDENCY_UNAVAILABLE","status":503,"message":"Compliance authorization temporarily unavailable","data":{"id":"DALP-12268","why":"The custody account directory did not resolve the executor needed to check this caller's compliance role.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance expression indexed for the token's identity registry in the active organization's system. Nodes come back in evaluation order, exactly as the indexer stored them and without coercion, so an expression written outside this API stays readable and can be replaced through the update endpoint.","summary":"Read a token's compliance expression","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Compliance rules"],"operationId":"tokenComplianceExpressionV2.tokenComplianceExpressionUpdate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255,"description":"The asset's own identifier: the token contract address, or a Canton instrument id.","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the replacement expression. A synchronous result carries the submitted transaction hash in `data.txHash` and in `meta.txHashes`. An asynchronous result carries `transactionId`, `status`, and a `statusUrl` you poll for the outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ComplianceExpressionWritten"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x9f2c1a4d6b8e0f3572a1c9d4e6b8f0a2c4d6e8b0f2a4c6d8e0b2f4a6c8d0e2b4"},"meta":{"txHashes":["0x9f2c1a4d6b8e0f3572a1c9d4e6b8f0a2c4d6e8b0f2a4c6d8e0b2f4a6c8d0e2b4"]},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/compliance-expression"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","compliance.provider.CREDENTIALS_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12292","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_COMPLIANCE_MODULE_NOT_REGISTERED_REGISTRY","compliance.kyc.EVIDENCE_DENIED","compliance.scope.DENIED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0247","DALP-12255","DALP-12283","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.EVIDENCE_DENIED","status":404,"message":"KYC record not found","data":{"id":"DALP-12255","why":"No KYC record visible to the current caller matches this request.","fix":"Confirm the record belongs to the active organization and use an identifier returned for that organization.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","COMPLIANCE_INVALID_STATE_TRANSITION","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","KYC_VERSION_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","compliance.kyc.DOCUMENT_CONFLICT","compliance.kyc.KYC_NOT_APPROVED","compliance.module.STATE_INVALID","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0501","DALP-12019","DALP-12195","DALP-12196","DALP-12285","DALP-12293","DALP-12297","DALP-12298","DALP-14262","DALP-14263","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0500"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","compliance.expression.NOT_NARROWED","compliance.module.CONFIG_CONTRADICTION"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12286","DALP-12287"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.expression.NOT_NARROWED","status":422,"message":"The compliance expression is too broad to enforce","data":{"id":"DALP-12287","why":"The compliance expression has no positive condition that narrows who it admits, it excludes holders of a claim they can remove themselves without a named acknowledgement, or no topic-scheme registry is indexed to grade that exclusion.","fix":"Add a positive condition or narrow the rule. To accept a holder-removable exclusion, send `holderRemovableNot.accepted` as `true` from a session that is not impersonated.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"502":{"description":"A required upstream service returned an invalid response. Retry after a short delay.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError502"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_APPLICANT_CREATE_FAILED","COMPLIANCE_TRANSACTION_REGISTER_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0496","DALP-0525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","compliance.kyc.DEPENDENCY_UNAVAILABLE","compliance.provider.UNAVAILABLE","compliance.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12108","DALP-12248","DALP-12249","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"compliance.kyc.DEPENDENCY_UNAVAILABLE","status":503,"message":"KYC data temporarily unavailable","data":{"id":"DALP-12248","why":"A store the KYC or user profile route reads did not answer, so the route could not complete. `data.dependency` names the store.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header and `data.dependency`.","retryable":true,"category":"dependency","dependency":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the token's whole compliance expression. The platform validates the submitted array before it reaches the chain: at most 32 nodes, every node value within the uint256 range, no claim-topic operand carrying id 0, and a well-formed postfix ordering. The registry contract runs no syntax or size check of its own, so an expression that skipped this validation would store successfully and then revert every later transfer. An empty array clears the expression, after which every holder passes verification. You need the governance role on the token and a wallet verification challenge.","summary":"Replace a token's compliance expression","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenComplianceExpressionReplaceBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/managed":{"post":{"tags":["Custody"],"operationId":"custodyAccountsV2.createManaged","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Identifier and status of the lifecycle request that provisions the managed account.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"status":{"type":"string","enum":["accepted","running","completed","failed"]}},"required":["requestId","status"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"00000000-0000-7000-8000-000000000000","status":"accepted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts provisioning of a custody account that a managed custody provider holds for a participant. The platform returns the lifecycle request identifier and its status. Poll the provisioning status until it completes.","summary":"Create a managed custody account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"lifecycle":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"actorUserId":{"$ref":"#/components/schemas/UserId"},"domain":{"type":"string","minLength":1},"origin":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"nonce":{"type":"string","minLength":1},"proofDigest":{"type":"string","minLength":1},"expiresAt":{"type":"string"}},"required":["requestId","custodyAccountId","organizationContextId","participantId","organizationId","providerConfigurationId","operation","ledger","network","actorUserId","domain","origin","audience","nonce","proofDigest","expiresAt"],"additionalProperties":false},"idempotencyKey":{"type":"string","minLength":1},"participantResetEpoch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["lifecycle","idempotencyKey","participantResetEpoch","chainId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/lifecycle":{"post":{"tags":["Custody"],"operationId":"custodyAccountsV2.lifecycleStart","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The lifecycle request in its current state: awaiting proof, awaiting approval, or the next step to run.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-proof"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"challengeDigest":{"type":"string","minLength":1},"expiresAt":{"type":"string"}},"required":["_tag","id","accountId","operation","challengeDigest","expiresAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-approval"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approvalDigest":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","proof","approvalDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["ready"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approval":{"anyOf":[{"type":"object","properties":{"signerWalletId":{"$ref":"#/components/schemas/WalletId"},"requestDigest":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signerWalletId","requestDigest","signature"],"additionalProperties":false},{"type":"null"}]}},"required":["_tag","id","accountId","operation","proof"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["finalized"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"account":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"lifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"detail":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"ownerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","address","ownerWalletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","accountLocator","partyId"],"additionalProperties":false}]}},"required":["id","participantId","lifecycle","detail"],"additionalProperties":false}},"required":["_tag","id","accountId","operation","account"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["failed"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"terminalCode":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","terminalCode"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"_tag":"awaiting-proof","id":"00000000-0000-7000-8000-000000000000","accountId":"00000000-0000-7000-8000-000000000000","operation":"onboard","challengeDigest":"example","expiresAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts a lifecycle request that onboards, adds, or resets a custody account for a participant on a ledger and network. The platform returns the request in its first state. Most requests start by waiting for a proof of control over the account.","summary":"Start a custody account lifecycle request","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"actorUserId":{"$ref":"#/components/schemas/UserId"},"domain":{"type":"string","minLength":1},"origin":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"nonce":{"type":"string","minLength":1},"proofDigest":{"type":"string","minLength":1},"expiresAt":{"type":"string"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","participantId","organizationId","providerConfigurationId","operation","ledger","network","actorUserId","domain","origin","audience","nonce","proofDigest","expiresAt"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/lifecycle/{requestId}/continue":{"post":{"tags":["Custody"],"operationId":"custodyAccountsV2.lifecycleContinue","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The lifecycle request in its current state: awaiting proof, awaiting approval, or the next step to run.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-proof"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"challengeDigest":{"type":"string","minLength":1},"expiresAt":{"type":"string"}},"required":["_tag","id","accountId","operation","challengeDigest","expiresAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-approval"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approvalDigest":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","proof","approvalDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["ready"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approval":{"anyOf":[{"type":"object","properties":{"signerWalletId":{"$ref":"#/components/schemas/WalletId"},"requestDigest":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signerWalletId","requestDigest","signature"],"additionalProperties":false},{"type":"null"}]}},"required":["_tag","id","accountId","operation","proof"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["finalized"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"account":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"lifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"detail":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"ownerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","address","ownerWalletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","accountLocator","partyId"],"additionalProperties":false}]}},"required":["id","participantId","lifecycle","detail"],"additionalProperties":false}},"required":["_tag","id","accountId","operation","account"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["failed"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"terminalCode":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","terminalCode"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"_tag":"awaiting-proof","id":"00000000-0000-7000-8000-000000000000","accountId":"00000000-0000-7000-8000-000000000000","operation":"onboard","challengeDigest":"example","expiresAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Runs the named next step of the lifecycle request in the path, such as claiming the first account or requesting approval. The platform returns the request in its next state. Run only the step the request currently offers.","summary":"Continue a custody account lifecycle request","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"step":{"type":"string","enum":["claim-first-account","request-approval","claim-side-effect","authorize-external"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["step"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/lifecycle/{requestId}/proof":{"post":{"tags":["Custody"],"operationId":"custodyAccountsV2.lifecycleProof","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The lifecycle request in its current state: awaiting proof, awaiting approval, or the next step to run.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-proof"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"challengeDigest":{"type":"string","minLength":1},"expiresAt":{"type":"string"}},"required":["_tag","id","accountId","operation","challengeDigest","expiresAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-approval"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approvalDigest":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","proof","approvalDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["ready"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approval":{"anyOf":[{"type":"object","properties":{"signerWalletId":{"$ref":"#/components/schemas/WalletId"},"requestDigest":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signerWalletId","requestDigest","signature"],"additionalProperties":false},{"type":"null"}]}},"required":["_tag","id","accountId","operation","proof"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["finalized"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"account":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"lifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"detail":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"ownerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","address","ownerWalletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","accountLocator","partyId"],"additionalProperties":false}]}},"required":["id","participantId","lifecycle","detail"],"additionalProperties":false}},"required":["_tag","id","accountId","operation","account"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["failed"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"terminalCode":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","terminalCode"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"_tag":"awaiting-proof","id":"00000000-0000-7000-8000-000000000000","accountId":"00000000-0000-7000-8000-000000000000","operation":"onboard","challengeDigest":"example","expiresAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Submits the proof that the lifecycle request in the path waits for. Send either a managed provider attestation or an EVM signature over the challenge digest. The platform checks the proof and returns the request in its next state.","summary":"Submit a custody account proof","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/lifecycle/{requestId}/approve":{"post":{"tags":["Custody"],"operationId":"custodyAccountsV2.lifecycleApprove","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The lifecycle request in its current state: awaiting proof, awaiting approval, or the next step to run.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-proof"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"challengeDigest":{"type":"string","minLength":1},"expiresAt":{"type":"string"}},"required":["_tag","id","accountId","operation","challengeDigest","expiresAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["awaiting-approval"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approvalDigest":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","proof","approvalDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["ready"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"proof":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["managed-attestation"]},"attestationReference":{"type":"string","minLength":1},"digest":{"type":"string","minLength":1}},"required":["_tag","attestationReference","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["evm-signature"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"digest":{"type":"string","minLength":1}},"required":["_tag","address","signature","digest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton-signature"]},"partyId":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/CantonEd25519SignatureHex"},"digest":{"type":"string","minLength":1}},"required":["_tag","partyId","signature","digest"],"additionalProperties":false}]},"approval":{"anyOf":[{"type":"object","properties":{"signerWalletId":{"$ref":"#/components/schemas/WalletId"},"requestDigest":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signerWalletId","requestDigest","signature"],"additionalProperties":false},{"type":"null"}]}},"required":["_tag","id","accountId","operation","proof"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["finalized"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"account":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"lifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"detail":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"ownerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","address","ownerWalletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","accountLocator","partyId"],"additionalProperties":false}]}},"required":["id","participantId","lifecycle","detail"],"additionalProperties":false}},"required":["_tag","id","accountId","operation","account"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["failed"]},"id":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"accountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","reset"]},"terminalCode":{"type":"string","minLength":1}},"required":["_tag","id","accountId","operation","terminalCode"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"_tag":"awaiting-proof","id":"00000000-0000-7000-8000-000000000000","accountId":"00000000-0000-7000-8000-000000000000","operation":"onboard","challengeDigest":"example","expiresAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records an existing signer's approval of the lifecycle request in the path. Send the signer wallet, the request digest, and the signature over that digest. The platform returns the request in its next state.","summary":"Approve a custody account lifecycle request","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"signerWalletId":{"$ref":"#/components/schemas/WalletId"},"requestDigest":{"type":"string","minLength":1},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["signerWalletId","requestDigest","signature"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/custody/accounts/lifecycle/{requestId}/finalize":{"post":{"tags":["Custody"],"operationId":"custodyAccountsV2.lifecycleFinalize","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The custody account the request created or changed, with its lifecycle state and ledger detail.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"lifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"detail":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"ownerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","address","ownerWalletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","accountLocator","partyId"],"additionalProperties":false}]}},"required":["id","participantId","lifecycle","detail"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"00000000-0000-7000-8000-000000000000","participantId":"example","lifecycle":"pending","detail":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","ownerWalletId":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Completes the lifecycle request in the path after its proof and approvals are in place. The platform returns the custody account with its lifecycle state and its EVM or Canton detail.","summary":"Finalize a custody account lifecycle request","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/{custodyAccountId}":{"delete":{"tags":["Custody"],"operationId":"custodyAccountsV2.archive","parameters":[{"name":"custodyAccountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"204":{"description":"The custody account is archived. The response has no body.","headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Archives the custody account in the path so it is no longer offered for new operations. Your session may need a wallet verification code for this change.","summary":"Archive a custody account","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/accounts/lifecycle/{requestId}/provisioning":{"get":{"tags":["Custody"],"operationId":"custodyAccountsV2.provisioningStatus","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true}],"responses":{"200":{"description":"Provisioning status of the lifecycle request: accepted, running, completed, or failed.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"status":{"type":"string","enum":["accepted","running","completed","failed"]}},"required":["requestId","status"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"00000000-0000-7000-8000-000000000000","status":"accepted"}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the provisioning status of the lifecycle request in the path: accepted, running, completed, or failed. Poll it after a managed account creation until it completes or fails. Repeating the request is safe.","summary":"Read custody account provisioning status","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.walletsList","parameters":[],"responses":{"200":{"description":"Wallets of the organization with their participant, kind, address, and archive flag.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/WalletId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["eoa","smart","canton"]},"address":{"type":"string","minLength":1},"archived":{"type":"boolean"}},"required":["id","participantId","kind","address","archived"],"additionalProperties":false}},"examples":{"example-1":{"value":[{"id":"example","participantId":"example","kind":"eoa","address":"example","archived":false}]}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the wallets of the active organization, each with its participant, kind, address, and archive flag. Repeating the request is safe.","summary":"List smart account wallets","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.walletCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Identifier and status of the request that applies the change: accepted, running, completed, or failed.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"status":{"type":"string","enum":["accepted","running","completed","failed"]}},"required":["requestId","status"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"example","status":"accepted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID","MULTISIG_THRESHOLD_UNREACHABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274","DALP-12395"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts creation of a multisig smart account for a participant with the controller addresses and signer threshold you send. The platform returns the request identifier and status.","summary":"Create a smart account wallet","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"controllerAddresses":{"type":"array","items":{"type":"string","minLength":1}},"threshold":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"network":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["participantId","controllerAddresses","threshold","network"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.walletRead","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true}],"responses":{"200":{"description":"The wallet with its participant, kind, address, archive flag, and signer threshold.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/WalletId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["smart"]},"address":{"type":"string","minLength":1},"archived":{"type":"boolean"},"threshold":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","participantId","kind","address","archived","threshold"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","participantId":"example","kind":"smart","address":"example","archived":false,"threshold":0}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the wallet in the path with its participant, kind, address, archive flag, and weighted signer threshold. A participant must control a weighted signer of the wallet to read it.","summary":"Read a smart account wallet","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.walletUpdate","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyNoFundingPause"}],"responses":{"200":{"description":"Identifier and status of the request that applies the change: accepted, running, completed, or failed.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"status":{"type":"string","enum":["accepted","running","completed","failed"]}},"required":["requestId","status"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"example","status":"accepted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID","MULTISIG_THRESHOLD_UNREACHABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274","DALP-12395"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Applies one change to the smart account in the path: add or remove a signer, set the threshold, or install a module. The platform returns the request identifier and status of the change.","summary":"Change a smart account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"operation":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["add-signer"]},"signer":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","signer"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["remove-signer"]},"signer":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","signer"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["set-threshold"]},"threshold":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","threshold"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["set-signer-weight"]},"signer":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","signer","weight"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["install-module"]},"module":{"$ref":"#/components/schemas/EvmAddress"},"initData":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]}},"required":["kind","module"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["uninstall-module"]},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","module"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["set-guardians"]},"module":{"$ref":"#/components/schemas/EvmAddress"},"guardians":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"weights":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["kind","module","guardians","weights"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["cancel-recovery"]},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","module"],"additionalProperties":false}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["id","walletId","operation"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallet-create-requests/{requestId}":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.walletCreateRead","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/WalletId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["smart"]},"address":{"type":"string","minLength":1},"archived":{"type":"boolean"},"threshold":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","participantId","kind","address","archived","threshold"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","participantId":"example","kind":"smart","address":"example","archived":false,"threshold":0}}}}}},"202":{"description":"The smart wallet is still being created. Read `statusUrl`, also sent as `Location`, until it answers the created smart wallet or a refusal. Do not send the create again with another configuration.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodySmartWalletCreateAccepted"},"examples":{"example-1":{"value":{"requestId":"example","state":"running","statusUrl":"example"}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}/signers":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.signersList","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true}],"responses":{"200":{"description":"Weighted signer addresses and their participant links for the smart account.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"signer":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["participantId","signer","weight"],"additionalProperties":false}},"examples":{"example-1":{"value":[{"participantId":"example","signer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","weight":0}]}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns each weighted signer's address, weight, and participant when custody can identify one in this organization. A participant must control a weighted signer of the wallet to read the list.","summary":"List smart account signers","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}/signer-events":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.signerEventsList","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of the smart account's signer events with the total number of events and links to the neighbouring pages.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodySignerEvent"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"31337:0x00000000000000000000000000000000000000000000000000000000000000ab:3","kind":"threshold-changed","timestamp":"2026-10-25T10:00:00.000Z","actor":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","approvalId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","chainId":31337,"blockNumber":"42","transactionHash":"0x00000000000000000000000000000000000000000000000000000000000000ab","logIndex":3,"validatorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","moduleTypeId":null,"signer":null,"signerHash":null,"weight":null,"threshold":2,"previousThreshold":1,"previousOwnerAddress":null,"newOwnerAddress":null,"guardianAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nonce":0,"readyAt":"example","delaySeconds":0,"guardians":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"guardianWeights":[0]}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/custody/wallets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/signer-events?page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/custody/wallets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/signer-events?page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/custody/wallets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/signer-events?page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the indexed changes to the smart account's signing rules, newest first: modules installed or removed, signers added or removed, weight and threshold changes, and owner replacements. Each event carries its block time, the transaction that made it and, when the platform can attribute it, the acting address and the approval it belongs to. A threshold change also states the threshold it replaced. A participant must control a weighted signer of the wallet to read the list.","summary":"List smart account signer events","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}/controllers":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.controllersList","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true}],"responses":{"200":{"description":"The wallet's weighted controller set and signing threshold.","content":{"application/json":{"schema":{"type":"object","properties":{"walletId":{"$ref":"#/components/schemas/WalletId"},"controllers":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["platform"]},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["_tag","participantId","address","walletId","weight"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["external"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["_tag","address","weight"],"additionalProperties":false}]}},"threshold":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"validator":{"type":"string","enum":["weighted","single-key"]}},"required":["walletId","controllers","threshold","validator"],"additionalProperties":false},"examples":{"example-1":{"value":{"walletId":"example","controllers":[{"_tag":"platform","participantId":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example","weight":0}],"threshold":0,"validator":"weighted"}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the weighted controllers and signing threshold for the smart wallet in the path. Use this read before choosing a signer for a user operation, and repeat it after a wallet mutation settles.","summary":"Read a smart wallet's controllers","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}/approvals":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.approvalsList","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true}],"responses":{"200":{"description":"Multisig approvals of the smart account with their status and signer weight.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"preview":{"type":"object","properties":{"marker":{"type":"string","enum":["dalp-user-op-preview-v1"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"nonce":{"type":"string","examples":["0"]},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"type":"string","examples":["100000"]},"verificationGasLimit":{"type":"string","examples":["150000"]},"preVerificationGas":{"type":"string","examples":["50000"]},"maxFeePerGas":{"type":"string","examples":["2000000000"]},"maxPriorityFeePerGas":{"type":"string","examples":["1000000000"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterVerificationGasLimit":{"type":"string"},"paymasterPostOpGasLimit":{"type":"string"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["marker","sender","nonce","callData","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","userOpHash"],"additionalProperties":false},"status":{"type":"string","enum":["pending","threshold-reached","submitted","landed","rejected","expired"]},"requiredWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"collectedWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progress":{"$ref":"#/components/schemas/MeterProgress"},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"awaitingCheckerSigners":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Signer addresses whose co-signature waits on their key's checker approving it; empty when none."}},"required":["id","walletId","preview","status","requiredWeight","collectedWeight","progress","expiresAt","awaitingCheckerSigners"],"additionalProperties":false}},"examples":{"example-1":{"value":[{"id":"example","walletId":"example","preview":{"marker":"dalp-user-op-preview-v1","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nonce":"0","callData":"0x5208","callGasLimit":"100000","verificationGasLimit":"150000","preVerificationGas":"50000","maxFeePerGas":"2000000000","maxPriorityFeePerGas":"1000000000","userOpHash":"0x0000000000000000000000000000000000000000000000000000000000000000","entryPointAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":0,"factory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryData":"0x5208","paymaster":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paymasterVerificationGasLimit":"example","paymasterPostOpGasLimit":"example","paymasterData":"0x5208"},"status":"pending","requiredWeight":0,"collectedWeight":0,"progress":{"value":0,"max":0},"expiresAt":"example","awaitingCheckerSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}]}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the multisig approvals of the smart account in the path, each with its user operation preview, status, required and collected signer weight, and expiry when one exists. A participant must control a weighted signer of the wallet to read the list.","summary":"List multisig approvals","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.approvalCreate","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The multisig approval with its user operation preview, status, and collected signer weight.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"preview":{"type":"object","properties":{"marker":{"type":"string","enum":["dalp-user-op-preview-v1"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"nonce":{"type":"string","examples":["0"]},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"type":"string","examples":["100000"]},"verificationGasLimit":{"type":"string","examples":["150000"]},"preVerificationGas":{"type":"string","examples":["50000"]},"maxFeePerGas":{"type":"string","examples":["2000000000"]},"maxPriorityFeePerGas":{"type":"string","examples":["1000000000"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterVerificationGasLimit":{"type":"string"},"paymasterPostOpGasLimit":{"type":"string"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["marker","sender","nonce","callData","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","userOpHash"],"additionalProperties":false},"status":{"type":"string","enum":["pending","threshold-reached","submitted","landed","rejected","expired"]},"requiredWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"collectedWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progress":{"$ref":"#/components/schemas/MeterProgress"},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"awaitingCheckerSigners":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Signer addresses whose co-signature waits on their key's checker approving it; empty when none."}},"required":["id","walletId","preview","status","requiredWeight","collectedWeight","progress","expiresAt","awaitingCheckerSigners"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","walletId":"example","preview":{"marker":"dalp-user-op-preview-v1","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nonce":"0","callData":"0x5208","callGasLimit":"100000","verificationGasLimit":"150000","preVerificationGas":"50000","maxFeePerGas":"2000000000","maxPriorityFeePerGas":"1000000000","userOpHash":"0x0000000000000000000000000000000000000000000000000000000000000000","entryPointAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":0,"factory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryData":"0x5208","paymaster":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paymasterVerificationGasLimit":"example","paymasterPostOpGasLimit":"example","paymasterData":"0x5208"},"status":"pending","requiredWeight":0,"collectedWeight":0,"progress":{"value":0,"max":0},"expiresAt":"example","awaitingCheckerSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a pending multisig approval for the user operation preview you send on the smart account in the path. Signers then add signatures until the collected weight reaches the threshold.","summary":"Create a multisig approval","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"preview":{"type":"object","properties":{"marker":{"type":"string","enum":["dalp-user-op-preview-v1"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"nonce":{"type":"string","examples":["0"]},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"type":"string","examples":["100000"]},"verificationGasLimit":{"type":"string","examples":["150000"]},"preVerificationGas":{"type":"string","examples":["50000"]},"maxFeePerGas":{"type":"string","examples":["2000000000"]},"maxPriorityFeePerGas":{"type":"string","examples":["1000000000"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterVerificationGasLimit":{"type":"string"},"paymasterPostOpGasLimit":{"type":"string"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["marker","sender","nonce","callData","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","userOpHash"],"additionalProperties":false},"status":{"type":"string","enum":["pending","threshold-reached","submitted","landed","rejected","expired"]},"requiredWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"collectedWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["id","walletId","preview","status","requiredWeight","collectedWeight","expiresAt"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/approvals/{approvalId}":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.approvalRead","parameters":[{"name":"approvalId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The approval, its collected weight, and its counted signer signatures.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"preview":{"type":"object","properties":{"marker":{"type":"string","enum":["dalp-user-op-preview-v1"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"nonce":{"type":"string","examples":["0"]},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"type":"string","examples":["100000"]},"verificationGasLimit":{"type":"string","examples":["150000"]},"preVerificationGas":{"type":"string","examples":["50000"]},"maxFeePerGas":{"type":"string","examples":["2000000000"]},"maxPriorityFeePerGas":{"type":"string","examples":["1000000000"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterVerificationGasLimit":{"type":"string"},"paymasterPostOpGasLimit":{"type":"string"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["marker","sender","nonce","callData","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","userOpHash"],"additionalProperties":false},"status":{"type":"string","enum":["pending","threshold-reached","submitted","landed","rejected","expired"]},"requiredWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"collectedWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progress":{"$ref":"#/components/schemas/MeterProgress"},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"awaitingCheckerSigners":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Signer addresses whose co-signature waits on their key's checker approving it; empty when none."},"signatures":{"type":"array","items":{"type":"object","properties":{"signerAddress":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["signerAddress","signature","weight"],"additionalProperties":false}}},"required":["id","walletId","preview","status","requiredWeight","collectedWeight","progress","expiresAt","awaitingCheckerSigners","signatures"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"0x7d2d8f95814a1b56f2387bab9ae0351bbc618196626a704f552d95159a199206","walletId":"wallet_smart","preview":{"marker":"dalp-user-op-preview-v1","sender":"0x1111111111111111111111111111111111111111","nonce":"1","callData":"0xdeadbeef","callGasLimit":"100000","verificationGasLimit":"100000","preVerificationGas":"50000","maxFeePerGas":"1000000000","maxPriorityFeePerGas":"1000000","userOpHash":"0x7d2d8f95814a1b56f2387bab9ae0351bbc618196626a704f552d95159a199206"},"status":"pending","requiredWeight":2,"collectedWeight":1,"progress":{"value":0.5,"max":1},"expiresAt":"2026-10-01T12:00:00.000Z","awaitingCheckerSigners":[],"signatures":[{"signerAddress":"0x2222222222222222222222222222222222222222","signature":"0xfeed","weight":1}]}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns an approval by its identifier or user operation hash and the signatures that count toward its threshold. Only a participant controlling a weighted signer of the wallet may read it.","summary":"Read a multisig approval and its signatures","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/approvals/{approvalId}/signatures":{"post":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.approvalSign","parameters":[{"name":"approvalId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The multisig approval with its user operation preview, status, and collected signer weight.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"preview":{"type":"object","properties":{"marker":{"type":"string","enum":["dalp-user-op-preview-v1"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"nonce":{"type":"string","examples":["0"]},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"type":"string","examples":["100000"]},"verificationGasLimit":{"type":"string","examples":["150000"]},"preVerificationGas":{"type":"string","examples":["50000"]},"maxFeePerGas":{"type":"string","examples":["2000000000"]},"maxPriorityFeePerGas":{"type":"string","examples":["1000000000"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterVerificationGasLimit":{"type":"string"},"paymasterPostOpGasLimit":{"type":"string"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["marker","sender","nonce","callData","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","userOpHash"],"additionalProperties":false},"status":{"type":"string","enum":["pending","threshold-reached","submitted","landed","rejected","expired"]},"requiredWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"collectedWeight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progress":{"$ref":"#/components/schemas/MeterProgress"},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"awaitingCheckerSigners":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Signer addresses whose co-signature waits on their key's checker approving it; empty when none."}},"required":["id","walletId","preview","status","requiredWeight","collectedWeight","progress","expiresAt","awaitingCheckerSigners"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","walletId":"example","preview":{"marker":"dalp-user-op-preview-v1","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nonce":"0","callData":"0x5208","callGasLimit":"100000","verificationGasLimit":"150000","preVerificationGas":"50000","maxFeePerGas":"2000000000","maxPriorityFeePerGas":"1000000000","userOpHash":"0x0000000000000000000000000000000000000000000000000000000000000000","entryPointAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":0,"factory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryData":"0x5208","paymaster":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paymasterVerificationGasLimit":"example","paymasterPostOpGasLimit":"example","paymasterData":"0x5208"},"status":"pending","requiredWeight":0,"collectedWeight":0,"progress":{"value":0,"max":0},"expiresAt":"example","awaitingCheckerSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"After wallet step-up verification, accepts an external signature over the canonical user operation hash or signs that digest through a managed custody account controlled by the acting participant. The signer must belong to this wallet and contributes weight once. When the threshold is met, the approval can be submitted.","summary":"Sign a multisig approval","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"signer":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"mode":{"type":"string","enum":["external"]}},"required":["signer","signature","userOpHash","mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["managed"]},"signer":{"$ref":"#/components/schemas/EvmAddress"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["mode","signer"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/custody/approvals/{approvalId}/submissions":{"post":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.approvalSubmit","parameters":[{"name":"approvalId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Identifier and status of the request that submits the approved user operation.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"status":{"type":"string","enum":["accepted","running","completed","failed"]}},"required":["requestId","status"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"example","status":"accepted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Submits the multisig approval in the path once its collected signer weight reaches the threshold. The platform returns the request identifier and status of the submission.","summary":"Submit a multisig approval","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}/gas":{"get":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.gasStatus","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true}],"responses":{"200":{"description":"Gas status of the smart account: funded, low, or empty.","content":{"application/json":{"schema":{"type":"string","enum":["funded","low","empty"]},"examples":{"example-1":{"value":"funded"}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns whether the smart account in the path holds enough native gas: funded, low, or empty. Repeating the request is safe.","summary":"Read smart account gas status","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/wallets/{walletId}/mutations":{"post":{"tags":["Smart accounts"],"operationId":"smartWalletsV2.mutation","parameters":[{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyNoFundingPause"}],"responses":{"200":{"description":"Identifier and status of the request that applies the change: accepted, running, completed, or failed.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"status":{"type":"string","enum":["accepted","running","completed","failed"]}},"required":["requestId","status"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"example","status":"accepted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID","MULTISIG_THRESHOLD_UNREACHABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274","DALP-12395"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Submits one change to the smart account in the path: add or remove a signer, set the threshold, or install a module. The platform returns the request identifier and status of the change.","summary":"Submit a smart account change","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"operation":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["add-signer"]},"signer":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","signer"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["remove-signer"]},"signer":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","signer"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["set-threshold"]},"threshold":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","threshold"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["set-signer-weight"]},"signer":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","signer","weight"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["install-module"]},"module":{"$ref":"#/components/schemas/EvmAddress"},"initData":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]}},"required":["kind","module"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["uninstall-module"]},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","module"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["set-guardians"]},"module":{"$ref":"#/components/schemas/EvmAddress"},"guardians":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"weights":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["kind","module","guardians","weights"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["cancel-recovery"]},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","module"],"additionalProperties":false}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["id","walletId","operation"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/provider-configurations":{"get":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.creationCatalog","parameters":[{"name":"invitationId","in":"query","schema":{"type":"string"},"required":false},{"name":"chainId","in":"query","schema":{"type":"string"},"required":false},{"name":"cantonNetwork","in":"query","schema":{"type":"string","description":"Canton network the listed configurations must serve. Takes precedence over `chainId`."},"required":false}],"responses":{"200":{"description":"The redacted list of healthy provider capabilities available for new accounts.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"clientConfiguration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1}},"required":["kind","tenant","appId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["injected-browser"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["kind","tenant","environmentId"],"additionalProperties":false},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"}},"required":["id","provider","providerIdentity","capabilities","clientConfiguration","investorProvider","offeredToInvestors"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"019c0000-0000-7000-8000-000000000001","provider":"injected-browser","providerIdentity":"local","capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"clientConfiguration":{"kind":"privy","tenant":"platform","appId":"example","clientId":"example"},"investorProvider":true,"offeredToInvestors":false}]}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns only healthy, enabled provider capabilities, with credential provenance and execution diagnostics excluded. The catalog lists configurations that serve one network: the Canton network named by `cantonNetwork`, else the EVM chain named by `chainId`, else the request's chain (the `X-Chain-Id` header, or the organization's default chain). An invitation read without `chainId` uses the inviting organization's default chain. The catalog answers for the active organization. A caller whose session names none reads the inviting organization catalog by naming an open invitation addressed to them.","summary":"List provider configurations available for account creation","x-dalp-auth":"session-or-api-key"}},"/api/v2/custody/investor-provider":{"get":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.investorProvider","parameters":[],"responses":{"200":{"description":"The investor default, or `null`, and every option offered to investors, default first. Credential provenance is never included.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"custody":{"type":"string","enum":["managed-account","embedded-wallet","browser-wallet"]},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"clientConfiguration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1}},"required":["kind","tenant","appId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["injected-browser"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["kind","tenant","environmentId"],"additionalProperties":false},{"type":"null"}]}},"required":["id","provider","providerIdentity","custody","capabilities","clientConfiguration"],"additionalProperties":false},{"type":"null"}]},"options":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"custody":{"type":"string","enum":["managed-account","embedded-wallet","browser-wallet"]},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"clientConfiguration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1}},"required":["kind","tenant","appId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["injected-browser"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["kind","tenant","environmentId"],"additionalProperties":false},{"type":"null"}]}},"required":["id","provider","providerIdentity","custody","capabilities","clientConfiguration"],"additionalProperties":false}}},"required":["data","options"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000002","provider":"fireblocks","providerIdentity":"local","custody":"managed-account","capabilities":{"accountCreation":"create","accountProof":"provider-attestation","managedSigning":true,"externalSigning":false,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["11155111"]}]},"clientConfiguration":null},"options":[{"id":"019c0000-0000-7000-8000-000000000002","provider":"fireblocks","providerIdentity":"local","custody":"managed-account","capabilities":{"accountCreation":"create","accountProof":"provider-attestation","managedSigning":true,"externalSigning":false,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["11155111"]}]},"clientConfiguration":null}]}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns how this organization lets its investors hold assets, and which option is the default, so you can show the investor's choice after KYC. `options` lists each healthy provider configuration that is enabled for new accounts, serves the request's chain (the `X-Chain-Id` header, or the organization's default chain), and is either the investor default or offered to investors. `data` is the default: the configuration the organization designated for investors. `data` is `null` when the organization designated none, or when that configuration is not listed in `options` (this deployment does not enable its provider kind, or it does not serve the chain); in that case show `options` with nothing preselected. When `data` is set, it is also `options[0]`. `custody` says how the investor holds: `managed-account` means the platform creates an account and signs for it, `browser-wallet` means the investor links their own browser wallet, and `embedded-wallet` means the provider's embedded SDK creates the wallet. To list the providers the organization enabled for new accounts on a network, use `GET /api/v2/custody/provider-configurations`.","summary":"Read the custody options offered to investors","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations":{"get":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminList","parameters":[],"responses":{"200":{"description":"The administrator list of custody provider configurations for the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"provenance":{"$ref":"#/components/schemas/CustodyProviderProvenance"},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"enabledForCreation":{"type":"boolean"},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"lastProbeStatus":{"type":"string","enum":["healthy","unhealthy"]},"lastProbedAt":{"type":"string"},"quarantinedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantinedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"rotatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"credentialIdentityKind":{"anyOf":[{"type":"string","enum":["provider-reported","declared","fingerprint","platform"]},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"latestAuditEvent":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["quarantined","recovered","credential-identity-recorded","credential-identity-backfilled","investor-provider-designated","investor-offered","investor-withdrawn","investor-provider-cleared","creation-disabled","creation-enabled"]},"actorUserId":{"$ref":"#/components/schemas/UserId"},"reason":{"type":"string","minLength":1},"createdAt":{"type":"string"}},"required":["action","actorUserId","reason","createdAt"],"additionalProperties":false},{"type":"null"}]}},"required":["id","organizationId","provider","providerIdentity","provenance","capabilities","enabledForCreation","executionHealth","lastProbeStatus","lastProbedAt","quarantinedAt","quarantineReason","quarantinedByUserId","rotatedAt","credentialIdentityKind","investorProvider","offeredToInvestors","exclusiveToOrganization","createdAt","updatedAt","latestAuditEvent"],"additionalProperties":false}},"templates":{"type":"array","items":{"type":"object","properties":{"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgers":{"type":"array","items":{"type":"string","enum":["evm","canton"]}},"allowsPlatformCredentials":{"type":"boolean"}},"required":["provider","accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgers","allowsPlatformCredentials"],"additionalProperties":false}}},"required":["data","templates"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"019c0000-0000-7000-8000-000000000001","organizationId":"org_northwind_coffee","provider":"injected-browser","providerIdentity":"local","provenance":{"_tag":"ManagedProviderProvenance","kind":"managed","provider":"local","credentialSource":{"_tag":"PlatformCredentialSource","source":"platform","reference":"example"},"credentialVersion":1,"metadata":{"workspaceId":"example","vaultId":"example","baseUrl":"example","authUrl":"example","targetDomainId":"example","ledgerId":"example","keyStrategy":"VaultHard","defaultAssetId":"example","defaultNetwork":"example","networkBindings":[{"chainId":1,"network":"example"}],"accountIdentifiers":{}}},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"enabledForCreation":true,"executionHealth":"healthy","lastProbeStatus":"healthy","lastProbedAt":"2026-04-12T09:30:00.000Z","quarantinedAt":null,"quarantineReason":null,"quarantinedByUserId":null,"rotatedAt":null,"credentialIdentityKind":"platform","investorProvider":true,"offeredToInvestors":false,"exclusiveToOrganization":false,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","latestAuditEvent":null}],"templates":[{"provider":"local","accountCreation":"create","accountProof":"provider-attestation","managedSigning":true,"externalSigning":false,"accountAbstraction":true,"ledgers":["evm"],"allowsPlatformCredentials":true}]}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the administrator view of stable provider configurations for the active organization.","summary":"List custody provider configurations","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The current administrator view of one custody provider configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"provenance":{"$ref":"#/components/schemas/CustodyProviderProvenance"},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"enabledForCreation":{"type":"boolean"},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"lastProbeStatus":{"type":"string","enum":["healthy","unhealthy"]},"lastProbedAt":{"type":"string"},"quarantinedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantinedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"rotatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"credentialIdentityKind":{"anyOf":[{"type":"string","enum":["provider-reported","declared","fingerprint","platform"]},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","organizationId","provider","providerIdentity","provenance","capabilities","enabledForCreation","executionHealth","lastProbeStatus","lastProbedAt","quarantinedAt","quarantineReason","quarantinedByUserId","rotatedAt","credentialIdentityKind","investorProvider","offeredToInvestors","exclusiveToOrganization","createdAt","updatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000001","organizationId":"org_northwind_coffee","provider":"injected-browser","providerIdentity":"local","provenance":{"_tag":"ManagedProviderProvenance","kind":"managed","provider":"local","credentialSource":{"_tag":"PlatformCredentialSource","source":"platform","reference":"example"},"credentialVersion":1,"metadata":{"workspaceId":"example","vaultId":"example","baseUrl":"example","authUrl":"example","targetDomainId":"example","ledgerId":"example","keyStrategy":"VaultHard","defaultAssetId":"example","defaultNetwork":"example","networkBindings":[{"chainId":1,"network":"example"}],"accountIdentifiers":{}}},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"enabledForCreation":true,"executionHealth":"healthy","lastProbeStatus":"healthy","lastProbedAt":"2026-04-12T09:30:00.000Z","quarantinedAt":null,"quarantineReason":null,"quarantinedByUserId":null,"rotatedAt":null,"credentialIdentityKind":"platform","investorProvider":true,"offeredToInvestors":false,"exclusiveToOrganization":false,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Validates capabilities, probes the exact provider provenance, then stores a new organization-scoped configuration.","summary":"Create and probe a custody provider configuration","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/ManagedCustodyProviderKind"},"providerIdentity":{"type":"string","enum":["ibm-haven"]},"credentialSource":{"type":"string","enum":["platform","organization"]},"metadata":{"type":"object","properties":{"workspaceId":{"type":"string"},"vaultId":{"type":"string"},"baseUrl":{"type":"string"},"authUrl":{"type":"string"},"targetDomainId":{"type":"string"},"ledgerId":{"type":"string"},"keyStrategy":{"type":"string","enum":["VaultHard","VaultSoft","Random"]},"defaultAssetId":{"type":"string"},"defaultNetwork":{"type":"string"},"networkBindings":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"network":{"type":"string","minLength":1}},"required":["chainId","network"],"additionalProperties":false}},"accountIdentifiers":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"credentials":{},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}},"enabledForCreation":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["provider","credentialSource","metadata","ledgerNetworks","enabledForCreation"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}},"enabledForCreation":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["provider","tenant","appId","ledgerNetworks","enabledForCreation"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["injected-browser"]},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}},"enabledForCreation":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["provider","ledgerNetworks","enabledForCreation"],"additionalProperties":false},{"type":"object","properties":{"provider":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}},"enabledForCreation":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["provider","tenant","environmentId","ledgerNetworks","enabledForCreation"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations/{providerConfigurationId}/probes":{"post":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminProbe","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The current administrator view of one custody provider configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"provenance":{"$ref":"#/components/schemas/CustodyProviderProvenance"},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"enabledForCreation":{"type":"boolean"},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"lastProbeStatus":{"type":"string","enum":["healthy","unhealthy"]},"lastProbedAt":{"type":"string"},"quarantinedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantinedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"rotatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"credentialIdentityKind":{"anyOf":[{"type":"string","enum":["provider-reported","declared","fingerprint","platform"]},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","organizationId","provider","providerIdentity","provenance","capabilities","enabledForCreation","executionHealth","lastProbeStatus","lastProbedAt","quarantinedAt","quarantineReason","quarantinedByUserId","rotatedAt","credentialIdentityKind","investorProvider","offeredToInvestors","exclusiveToOrganization","createdAt","updatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000001","organizationId":"org_northwind_coffee","provider":"injected-browser","providerIdentity":"local","provenance":{"_tag":"ManagedProviderProvenance","kind":"managed","provider":"local","credentialSource":{"_tag":"PlatformCredentialSource","source":"platform","reference":"example"},"credentialVersion":1,"metadata":{"workspaceId":"example","vaultId":"example","baseUrl":"example","authUrl":"example","targetDomainId":"example","ledgerId":"example","keyStrategy":"VaultHard","defaultAssetId":"example","defaultNetwork":"example","networkBindings":[{"chainId":1,"network":"example"}],"accountIdentifiers":{}}},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"enabledForCreation":true,"executionHealth":"healthy","lastProbeStatus":"healthy","lastProbedAt":"2026-04-12T09:30:00.000Z","quarantinedAt":null,"quarantineReason":null,"quarantinedByUserId":null,"rotatedAt":null,"credentialIdentityKind":"platform","investorProvider":true,"offeredToInvestors":false,"exclusiveToOrganization":false,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Runs a fresh health probe for the exact stored configuration and records its execution health without fallback.","summary":"Probe a custody provider configuration","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations/{providerConfigurationId}":{"patch":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminUpdate","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The current administrator view of one custody provider configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"provenance":{"$ref":"#/components/schemas/CustodyProviderProvenance"},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"enabledForCreation":{"type":"boolean"},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"lastProbeStatus":{"type":"string","enum":["healthy","unhealthy"]},"lastProbedAt":{"type":"string"},"quarantinedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantinedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"rotatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"credentialIdentityKind":{"anyOf":[{"type":"string","enum":["provider-reported","declared","fingerprint","platform"]},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","organizationId","provider","providerIdentity","provenance","capabilities","enabledForCreation","executionHealth","lastProbeStatus","lastProbedAt","quarantinedAt","quarantineReason","quarantinedByUserId","rotatedAt","credentialIdentityKind","investorProvider","offeredToInvestors","exclusiveToOrganization","createdAt","updatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000001","organizationId":"org_northwind_coffee","provider":"injected-browser","providerIdentity":"local","provenance":{"_tag":"ManagedProviderProvenance","kind":"managed","provider":"local","credentialSource":{"_tag":"PlatformCredentialSource","source":"platform","reference":"example"},"credentialVersion":1,"metadata":{"workspaceId":"example","vaultId":"example","baseUrl":"example","authUrl":"example","targetDomainId":"example","ledgerId":"example","keyStrategy":"VaultHard","defaultAssetId":"example","defaultNetwork":"example","networkBindings":[{"chainId":1,"network":"example"}],"accountIdentifiers":{}}},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"enabledForCreation":true,"executionHealth":"healthy","lastProbeStatus":"healthy","lastProbedAt":"2026-04-12T09:30:00.000Z","quarantinedAt":null,"quarantineReason":null,"quarantinedByUserId":null,"rotatedAt":null,"credentialIdentityKind":"platform","investorProvider":true,"offeredToInvestors":false,"exclusiveToOrganization":false,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes one setting per request: `enabledForCreation` adds or removes this configuration from account creation without touching existing bindings; `offeredToInvestors` sets whether the Investor portal lists it, and offering needs a configuration available for investors; `investorProvider: true` designates it as the organization's one investor provider and clears the previous designation. A body naming more than one setting, or none, is refused.","summary":"Update a custody provider configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderConfigurationUpdate"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminDelete","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirms that the unused custody provider configuration was deleted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"null"}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deletes the configuration only when no account, automation, or audit reference still depends on it.","summary":"Delete an unused custody provider configuration","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations/{providerConfigurationId}/transitions":{"post":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminTransition","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The current administrator view of one custody provider configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"provenance":{"$ref":"#/components/schemas/CustodyProviderProvenance"},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"enabledForCreation":{"type":"boolean"},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"lastProbeStatus":{"type":"string","enum":["healthy","unhealthy"]},"lastProbedAt":{"type":"string"},"quarantinedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantinedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"rotatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"credentialIdentityKind":{"anyOf":[{"type":"string","enum":["provider-reported","declared","fingerprint","platform"]},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","organizationId","provider","providerIdentity","provenance","capabilities","enabledForCreation","executionHealth","lastProbeStatus","lastProbedAt","quarantinedAt","quarantineReason","quarantinedByUserId","rotatedAt","credentialIdentityKind","investorProvider","offeredToInvestors","exclusiveToOrganization","createdAt","updatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000001","organizationId":"org_northwind_coffee","provider":"injected-browser","providerIdentity":"local","provenance":{"_tag":"ManagedProviderProvenance","kind":"managed","provider":"local","credentialSource":{"_tag":"PlatformCredentialSource","source":"platform","reference":"example"},"credentialVersion":1,"metadata":{"workspaceId":"example","vaultId":"example","baseUrl":"example","authUrl":"example","targetDomainId":"example","ledgerId":"example","keyStrategy":"VaultHard","defaultAssetId":"example","defaultNetwork":"example","networkBindings":[{"chainId":1,"network":"example"}],"accountIdentifiers":{}}},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"enabledForCreation":true,"executionHealth":"healthy","lastProbeStatus":"healthy","lastProbedAt":"2026-04-12T09:30:00.000Z","quarantinedAt":null,"quarantineReason":null,"quarantinedByUserId":null,"rotatedAt":null,"credentialIdentityKind":"platform","investorProvider":true,"offeredToInvestors":false,"exclusiveToOrganization":false,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves the configuration's execution health and writes the authenticated administrator and the reason to the audit trail. `to: quarantined` blocks new execution through it. `to: healthy` restores execution only after a successful probe newer than the quarantine.","summary":"Quarantine or recover a custody provider configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderConfigurationTransition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations/{providerConfigurationId}/credential-rotations":{"post":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminRotate","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The current administrator view of one custody provider configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"provenance":{"$ref":"#/components/schemas/CustodyProviderProvenance"},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"enabledForCreation":{"type":"boolean"},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"lastProbeStatus":{"type":"string","enum":["healthy","unhealthy"]},"lastProbedAt":{"type":"string"},"quarantinedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"quarantinedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"rotatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"credentialIdentityKind":{"anyOf":[{"type":"string","enum":["provider-reported","declared","fingerprint","platform"]},{"type":"null"}]},"investorProvider":{"type":"boolean"},"offeredToInvestors":{"type":"boolean"},"exclusiveToOrganization":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","organizationId","provider","providerIdentity","provenance","capabilities","enabledForCreation","executionHealth","lastProbeStatus","lastProbedAt","quarantinedAt","quarantineReason","quarantinedByUserId","rotatedAt","credentialIdentityKind","investorProvider","offeredToInvestors","exclusiveToOrganization","createdAt","updatedAt"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000001","organizationId":"org_northwind_coffee","provider":"injected-browser","providerIdentity":"local","provenance":{"_tag":"ManagedProviderProvenance","kind":"managed","provider":"local","credentialSource":{"_tag":"PlatformCredentialSource","source":"platform","reference":"example"},"credentialVersion":1,"metadata":{"workspaceId":"example","vaultId":"example","baseUrl":"example","authUrl":"example","targetDomainId":"example","ledgerId":"example","keyStrategy":"VaultHard","defaultAssetId":"example","defaultNetwork":"example","networkBindings":[{"chainId":1,"network":"example"}],"accountIdentifiers":{}}},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["sepolia"]}]},"enabledForCreation":true,"executionHealth":"healthy","lastProbeStatus":"healthy","lastProbedAt":"2026-04-12T09:30:00.000Z","quarantinedAt":null,"quarantineReason":null,"quarantinedByUserId":null,"rotatedAt":null,"credentialIdentityKind":"platform","investorProvider":true,"offeredToInvestors":false,"exclusiveToOrganization":false,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Rejects provider or credential-source changes before probing, then records a successful same-source credential version.","summary":"Rotate custody provider credentials inside the immutable source","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"metadata":{"type":"object","properties":{"workspaceId":{"type":"string"},"vaultId":{"type":"string"},"baseUrl":{"type":"string"},"authUrl":{"type":"string"},"targetDomainId":{"type":"string"},"ledgerId":{"type":"string"},"keyStrategy":{"type":"string","enum":["VaultHard","VaultSoft","Random"]},"defaultAssetId":{"type":"string"},"defaultNetwork":{"type":"string"},"networkBindings":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"network":{"type":"string","minLength":1}},"required":["chainId","network"],"additionalProperties":false}},"accountIdentifiers":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"credentials":{},"credentialUpdate":{"type":"string","enum":["replace","merge"]}},"required":["metadata"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations/{providerConfigurationId}/wallet-role-reconciliations":{"post":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.adminReconcileWalletRoles","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"How many wallets the call examined, tagged, found already tagged, could not tag on this provider, or failed to tag.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"examined":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assigned":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unchanged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unsupported":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["examined","assigned","unchanged","unsupported","failed"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"examined":12,"assigned":9,"unchanged":3,"unsupported":0,"failed":0}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Gives each wallet this provider configuration records for the organization the tag of its role and the organization's tenant tag, so a custodian policy can tell an investor wallet from an infrastructure wallet. A wallet in a managed binding gets `dalp:bundler`, `dalp:relayer` or `dalp:organization-operations`, and a wallet in a provisioning claim gets `dalp:participant`; the binding role wins when a wallet has both. Paymaster signer wallets and identity wallets that earlier releases created have no such record, so this call does not examine them; wallets created from this release on get their role tag when they are created. The call adds a missing tag, removes another role's tag, and keeps every other tag. Only a dfns configuration carries wallet tags; on another provider each wallet counts as unsupported. The dfns credential needs permission to add and remove wallet tags, or every wallet counts as failed. Run it once the custodian tenant's owner agrees, because a policy that filters on these tags starts to apply to the tagged wallets. A second run changes nothing, so a call that times out on a large organization can be repeated until every wallet counts as unchanged.","summary":"Tag the configuration's wallets with their roles","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/custody/provider-configurations/{providerConfigurationId}/legacy-wallet-reconciliations":{"post":{"tags":["Custody"],"operationId":"custodyProviderConfigurationsV2.legacyWalletReconciliationCreate","parameters":[{"name":"providerConfigurationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The provider wallet id and signing address now recorded on the claim.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"providerWalletId":{"type":"string","minLength":1},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["providerWalletId","signingAddress"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"providerWalletId":"42:ETH","signingAddress":"0x1111111111111111111111111111111111111111"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_PROVIDER_CONFIG_NOT_FOUND","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-18113","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Older provisioning claims stored the raw client key as their provider reference. When the provider created the wallet before the claim finished, provisioning refuses the claim and leaves the wallet alone. Name the claim by `actorUserId` and the client key in `idempotencyKey`. The call reads the provider wallet under the raw reference, without writing anything at the provider, and records it on the claim only when every check holds. The claim is open and still carries the raw reference. The wallet carries that reference and is named for the actor. A dfns wallet also shows the tag for this organization. Fireblocks reports no tag, so the claim records prove the organization: no other claim in any organization holds the reference for the same actor, and the wallet address is recorded nowhere else. A provider kind that has not stated its proof is refused. A claim the organization does not hold answers 404. A failed check answers 409 and names the check; the claim, its reference and the provider wallet stay as they were. A recorded wallet writes an audit row with the operator and the wallet facts; a refused check writes a row with the operator, the failed check and the claim key, and no provider data. A second request after a success answers with the recorded wallet and writes no second row.","summary":"Record a legacy provider wallet on its provisioning claim","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"actorUserId":{"$ref":"#/components/schemas/UserId"},"idempotencyKey":{"type":"string","minLength":1}},"required":["actorUserId","idempotencyKey"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/wallets":{"get":{"tags":["Participants"],"operationId":"v2/participants/walletsList","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true}],"responses":{"200":{"description":"Every wallet owned by the participant, including signer-only wallets. Each organization and chain verdict remains present when the organization cannot drive that wallet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantWalletListResponse"},"examples":{"example-1":{"value":{"data":[{"id":"019c0000-0000-7000-8000-000000000001","participantId":"019c0000-0000-7000-8000-000000000002","walletType":"eoa","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","cantonPartyId":null,"cantonNetworkId":null,"chainId":11155111,"label":"Primary key","boundChains":[11155111],"kind":"multisig","threshold":0,"signerCount":0,"modules":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}],"custody":[{"custodyAccountId":"00000000-0000-7000-8000-000000000000","organizationId":"example","ledger":"evm","network":"testnet","accountLifecycle":"pending","contextLifecycle":"active","eligibility":"eligible","isPrimary":false,"provider":"local","providerIdentity":"local","executionHealth":"healthy","smartWalletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"managed","controllerWalletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}],"signsFor":[{"walletId":"example","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","label":"example","chainId":0}],"organizations":[{"organizationId":"019c0000-0000-7000-8000-000000000003","organizationName":"Example organization","chainId":11155111,"eligible":true,"reason":null}],"holdsBalance":false}],"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/wallets"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR","custody.participant.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14086","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every wallet Alice owns for this participant, including signer-only wallets. Each row includes custody, chain bindings, smart wallets it signs for, and each member organization's chain-specific drive verdict.","summary":"List account participant wallets","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/wallets/{walletId}/removal":{"post":{"tags":["Participants"],"operationId":"v2/participants/walletRemove","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"walletId","in":"path","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/preferOnlyNoFundingPause"}],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantWalletRemovalResponse"},"examples":{"example-1":{"value":{"data":{"walletId":"019c0000-0000-7000-8000-000000000001","unregistered":[{"organizationId":"019c0000-0000-7000-8000-000000000003","chainId":11155111,"route":"wallet"}]},"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/wallets"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PARTICIPANT_WALLET_REMOVAL_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12162","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Unregisters the wallet from every organization and chain it is registered on, then archives it. The wallet signs only the removal of a registration that is still pending. An approved registration is removed by the organization's managed signer, which must hold the identity manager role on the organization's system; when the organization has no managed signer on that chain, or its signer lacks that role, the removal is refused with `data.reason` `organization-signer-missing`. Before the organization's signer submits, the wallet's balance of every token on the system is read again at the chain head, and the removal is refused with `data.reason` `holder-locked` while the holder's identity has a lock-up holder lock on any token of the system that has not reached its unlock time. Nothing is submitted when the wallet still holds a token balance in an organization (`holds-balance`), still signs for a live smart wallet, or is still held by a custody account that is not archived; the answer is then 409 `PARTICIPANT_WALLET_REMOVAL_REFUSED`, and `data.reason` names which. Removing the participant's last wallet on a chain also archives its identity on that chain and its registration requests with the organizations where it then holds no identity; onboarding again creates a new identity. The participant's claims and its other wallets are unaffected. The request is wallet-verified.","summary":"Remove an account participant wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantWalletRemovalInput"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/custody-accounts":{"get":{"tags":["Participants"],"operationId":"v2/participants/custodyAccountsList","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true}],"responses":{"200":{"description":"Every custody account linked to the participant in the active organization.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantCustodyAccountListResponse"},"examples":{"example-1":{"value":{"data":[],"links":{"self":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/custody-accounts"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every managed and self-custody account linked to the participant in the active organization. Each item identifies its provider, ledger and network, lifecycle, exact signing address, and optional linked smart account. The scoped primary account is first.","summary":"List a participant's custody accounts","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/custody-accounts/{custodyAccountId}/provider-balances":{"get":{"tags":["Participants"],"operationId":"v2/participants/custodyAccountProviderBalancesRead","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"custodyAccountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"required":true}],"responses":{"200":{"description":"ProviderBalancesResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderBalancesResponse"},"examples":{"example-1":{"value":{"data":{"status":"available","observedAt":"example","balances":[{"assetKey":"example","kind":"native","symbol":"example","decimals":0,"contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","total":"0","available":"0","onHold":"0"}],"omitted":0},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the assets the custody provider reports for the account, for example BTC in a Fireblocks vault. This is the provider's view, not DALP's indexed balances, and it never changes the external-token register. The answer is always 200 for a readable account and carries one of three statuses. `available` lists the rows with `observedAt` and `omitted`, the count of rows dropped because the provider gave no usable decimals or amount. `unavailable` names why the provider could not be read now, such as `provider-unreachable` or `credential-invalid`. `unsupported` names why this account has no provider asset list, such as `self-custody`. Amounts are decimal strings in whole-token units and `onHold` is the part the provider does not let DALP spend now. A read is cached for 30 seconds and a failure for 5 seconds, so a repeat call inside that window returns the same `observedAt`. An account that does not exist, belongs to another participant, or sits outside the caller's reach answers 404.","summary":"Read what the custody provider holds for a custody account","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-accounts":{"get":{"tags":["Users"],"operationId":"custodyUserAccountsV2.listAccounts","parameters":[{"name":"invitationId","in":"query","schema":{"type":"string"},"required":false},{"name":"participantId","in":"query","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":false}],"responses":{"200":{"description":"All custody accounts linked to the authenticated holder in the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"accountLifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"contextLifecycle":{"type":"string","enum":["active","archived"]},"eligibility":{"type":"string","enum":["eligible","ineligible"]},"eligibilityReason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}]},"retryableOnboarding":{"type":"boolean"},"isPrimary":{"type":"boolean"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"],"description":"The provider the account's configuration names itself as: its `provider`, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven."},"clientConfiguration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1}},"required":["kind","tenant","appId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["injected-browser"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["kind","tenant","environmentId"],"additionalProperties":false},{"type":"null"}]},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"signingAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"ownerWalletId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]},"smartWalletId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]},"smartWalletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"cantonPartyId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"revokeRefusal":{"type":"string","enum":["ineligible","only-live-key","funded-key","unweighted-smart-wallet"],"description":"Why revoking this account cannot complete; absent when no reason applies. The first reason that applies is named, in the order the revoke checks them. `ineligible`: the account is not eligible for a revoke, for example because its provider is quarantined. `only-live-key`: no other live key of the participant can approve the revoke. `funded-key`: the key holds no smart wallet and still holds tokens, which a revoke would strand. `unweighted-smart-wallet`: the participant's smart wallet has no weighted multisig validator with threshold 1, so the key cannot be removed from it."}},"required":["custodyAccountId","organizationContextId","participantId","organizationId","ledger","network","locator","accountLifecycle","contextLifecycle","eligibility","eligibilityReason","isPrimary","providerConfigurationId","provider","providerIdentity","clientConfiguration","capabilities","executionHealth","signingAddress","ownerWalletId","smartWalletId","smartWalletAddress","cantonPartyId","createdAt","updatedAt"],"additionalProperties":false}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","participantId":"participant_northwind_owner","organizationId":"org_northwind_coffee","ledger":"evm","network":"11155111","locator":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","accountLifecycle":"active","contextLifecycle":"active","eligibility":"eligible","eligibilityReason":null,"retryableOnboarding":false,"isPrimary":true,"providerConfigurationId":"019c0000-0000-7000-8000-000000000001","provider":"injected-browser","providerIdentity":"local","clientConfiguration":{"kind":"privy","tenant":"platform","appId":"example","clientId":"example"},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["11155111"]}]},"executionHealth":"healthy","signingAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","ownerWalletId":"wallet_northwind_owner","smartWalletId":null,"smartWalletAddress":null,"cantonPartyId":null,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","revokeRefusal":"ineligible"}],"links":{"self":"/v2/users/me/custody-accounts"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every managed and self-custody account linked to the authenticated identity in the active organization. The primary account is first. Smart-account fields are null when account abstraction is disabled. Send `participantId` to read the accounts of a pending participant the holder is proving a key for rather than the one the session acts as.","summary":"List the authenticated holder's custody accounts","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/primary-custody-account":{"put":{"tags":["Users"],"operationId":"custodyUserAccountsV2.selectPrimary","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"One custody account linked to the authenticated holder in the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"accountLifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"contextLifecycle":{"type":"string","enum":["active","archived"]},"eligibility":{"type":"string","enum":["eligible","ineligible"]},"eligibilityReason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}]},"retryableOnboarding":{"type":"boolean"},"isPrimary":{"type":"boolean"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"],"description":"The provider the account's configuration names itself as: its `provider`, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven."},"clientConfiguration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1}},"required":["kind","tenant","appId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["injected-browser"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["kind","tenant","environmentId"],"additionalProperties":false},{"type":"null"}]},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"signingAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"ownerWalletId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]},"smartWalletId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]},"smartWalletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"cantonPartyId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"revokeRefusal":{"type":"string","enum":["ineligible","only-live-key","funded-key","unweighted-smart-wallet"],"description":"Why revoking this account cannot complete; absent when no reason applies. The first reason that applies is named, in the order the revoke checks them. `ineligible`: the account is not eligible for a revoke, for example because its provider is quarantined. `only-live-key`: no other live key of the participant can approve the revoke. `funded-key`: the key holds no smart wallet and still holds tokens, which a revoke would strand. `unweighted-smart-wallet`: the participant's smart wallet has no weighted multisig validator with threshold 1, so the key cannot be removed from it."}},"required":["custodyAccountId","organizationContextId","participantId","organizationId","ledger","network","locator","accountLifecycle","contextLifecycle","eligibility","eligibilityReason","isPrimary","providerConfigurationId","provider","providerIdentity","clientConfiguration","capabilities","executionHealth","signingAddress","ownerWalletId","smartWalletId","smartWalletAddress","cantonPartyId","createdAt","updatedAt"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","participantId":"participant_northwind_owner","organizationId":"org_northwind_coffee","ledger":"evm","network":"11155111","locator":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","accountLifecycle":"active","contextLifecycle":"active","eligibility":"eligible","eligibilityReason":null,"retryableOnboarding":false,"isPrimary":true,"providerConfigurationId":"019c0000-0000-7000-8000-000000000001","provider":"injected-browser","providerIdentity":"local","clientConfiguration":{"kind":"privy","tenant":"platform","appId":"example","clientId":"example"},"capabilities":{"accountCreation":"link","accountProof":"interactive-address","managedSigning":false,"externalSigning":true,"accountAbstraction":true,"ledgerNetworks":[{"ledger":"evm","networks":["11155111"]}]},"executionHealth":"healthy","signingAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","ownerWalletId":"wallet_northwind_owner","smartWalletId":null,"smartWalletAddress":null,"cantonPartyId":null,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","revokeRefusal":"ineligible"},"links":{"self":"/v2/users/me/custody-accounts/019c0000-0000-7000-8000-000000000002"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Makes one active eligible custody account primary for its ledger and network, named by `custodyAccountId` in the body. This does not remove or archive the other accounts. Send `participantId` when the session acts as no participant, which happens when the acting participant's primary account is not eligible here while another of its accounts is.","summary":"Select the primary custody account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrimaryCustodyAccountInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-accounts/managed":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.createManaged","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"The managed account linked to the authenticated identity.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]}},"required":["requestId","custodyAccountId","operation","state"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"0198f2f0-6d0b-7f86-8f24-c5e1ef9f9d11","custodyAccountId":"0198f2f0-6d0b-7f86-8f24-c5e1ef9f9d12","operation":"add","state":"awaiting-existing-approval"},"links":{"self":"/v2/users/me/custody-accounts"}}}}}},"headers":{"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for a custody-account lifecycle mutation. The work is accepted, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST while the request is non-terminal.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"statusUrl":{"type":"string"}},"required":["requestId","state","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"019c0000-0000-7000-8000-000000000004","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}},"headers":{"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12276","DALP-12278","DALP-12384","DALP-12406","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","custody.user.PERSONAL_ACCOUNT_LIMIT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-14277","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates an account with the selected enabled managed provider configuration and links it through the durable account lifecycle. By default the platform accepts the request and answers the lifecycle handle with its status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for the lifecycle to settle and receives the settled result. The request is wallet-verified. A session caller also sends the `X-Step-Up-Challenge` header, issued by `POST /api/v2/step-up-challenges` for this operation, target, and body; the challenge is single-use.","summary":"Create a managed custody account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"invitationId":{"type":"string"},"purpose":{"type":"string","enum":["deposit"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["providerConfigurationId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-accounts/lifecycles":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.runLifecycle","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"The durable state and continuation identifiers for one custody-account lifecycle request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"$ref":"#/components/schemas/TransactionPreparationId"},{"type":"null"}]},"externalAuthorizingCustodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}]},"externalMessageDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}]},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","operation":"add","state":"awaiting-existing-approval","externalPreparationId":null,"externalAuthorizingCustodyAccountId":null,"externalMessageDigest":null,"terminalResult":null,"terminalCode":null},"links":{"self":"/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}}},"headers":{"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for a custody-account lifecycle mutation. The work is accepted, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST while the request is non-terminal.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"statusUrl":{"type":"string"}},"required":["requestId","state","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"019c0000-0000-7000-8000-000000000004","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}},"headers":{"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Takes one signed account-control proof and carries the whole lifecycle to its end: onboarding, Add account, revocation, or archival. The platform settles every step it can settle on its own. Where a step needs the holder's key, the response names the authorization to answer, the client answers it once through the transaction surface, and the platform carries the request the rest of the way without a second call here. By default the request is accepted with the 202 lifecycle handle and its status URL; send Prefer: wait=<seconds> to wait for the settled result instead.","summary":"Run a custody account lifecycle","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"proof":{"type":"object","properties":{"binding":{"type":"object","properties":{"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"actorUserId":{"$ref":"#/components/schemas/UserId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"domain":{"type":"string","minLength":1},"origin":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"participantResetEpoch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nonce":{"type":"string","minLength":1},"proofDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"expiresAt":{"type":"string"}},"required":["operation","actorUserId","participantId","organizationId","providerConfigurationId","ledger","network","domain","origin","audience","participantResetEpoch","nonce","proofDigest","expiresAt"],"additionalProperties":false},"account":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmCustodyAccountFacts"]},"ledger":{"type":"string","enum":["evm"]},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"managedSignerKeyId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]}},"required":["_tag","ledger","signingAddress","managedSignerKeyId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonCustodyAccountFacts"]},"ledger":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","accountLocator","partyId"],"additionalProperties":false}]},"artifact":{"type":"string","minLength":1}},"required":["binding","account","artifact"],"additionalProperties":false},"invitationId":{"type":"string"}},"required":["proof"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-account-control-preparations":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.prepareControl","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The server-bound account control challenge that the external account must sign.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"binding":{"type":"object","properties":{"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"actorUserId":{"$ref":"#/components/schemas/UserId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"domain":{"type":"string","minLength":1},"origin":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"participantResetEpoch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nonce":{"type":"string","minLength":1},"proofDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"expiresAt":{"type":"string"}},"required":["operation","actorUserId","participantId","organizationId","providerConfigurationId","ledger","network","domain","origin","audience","participantResetEpoch","nonce","proofDigest","expiresAt"],"additionalProperties":false},"account":{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmCustodyAccountFacts"]},"ledger":{"type":"string","enum":["evm"]},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"managedSignerKeyId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]}},"required":["_tag","ledger","signingAddress","managedSignerKeyId"],"additionalProperties":false},"message":{"type":"string","minLength":1}},"required":["binding","account","message"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"binding":{"operation":"add","actorUserId":"user_northwind_owner","participantId":"participant_northwind_owner","organizationId":"org_northwind_coffee","providerConfigurationId":"019c0000-0000-7000-8000-000000000001","ledger":"evm","network":"sepolia","domain":"dalp.example","origin":"https://console.dalp.example","audience":"dalp-api","participantResetEpoch":0,"nonce":"custody-proof-7k2m","proofDigest":"0xabababababababababababababababababababababababababababababababab","expiresAt":"2026-04-12T09:40:00.000Z"},"account":{"_tag":"EvmCustodyAccountFacts","ledger":"evm","signingAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","managedSignerKeyId":null},"message":"DALP custody-account control proof\n0xabababababababababababababababababababababababababababababababab"},"links":{"self":"/v2/users/me/custody-account-control-preparations"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one server-bound challenge for the selected enabled external provider and EVM address. Sign the returned message, then start the lifecycle request with the returned binding and account facts.","summary":"Prepare external custody account control","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"invitationId":{"type":"string"}},"required":["providerConfigurationId","signingAddress"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-account-requests":{"get":{"tags":["Users"],"operationId":"custodyUserAccountsV2.listLifecycleRequests","parameters":[{"name":"invitationId","in":"query","schema":{"type":"string"},"required":false},{"name":"participantId","in":"query","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":false}],"responses":{"200":{"description":"Every unsettled custody-account lifecycle request the authenticated holder owns in the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"$ref":"#/components/schemas/TransactionPreparationId"},{"type":"null"}]},"externalAuthorizingCustodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}]},"externalMessageDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}]},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":false}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","operation":"add","state":"awaiting-existing-approval","externalPreparationId":null,"externalAuthorizingCustodyAccountId":null,"externalMessageDigest":null,"terminalResult":null,"terminalCode":null}],"links":{"self":"/v2/users/me/custody-account-requests"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every unsettled lifecycle request owned by the authenticated holder in the active organization, newest first. Use it to recover a request identifier the client lost (a browser reload, a second device) and read where the request stands. The platform settles each request itself; a request that stops on a holder's approval continues through the approval routes. Send `participantId` to list the requests of a pending participant the holder is proving a key for rather than the one the session acts as. Settled requests are not listed.","summary":"List open custody account lifecycle requests","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-accounts/{custodyAccountId}/lifecycle-control-preparations":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.prepareExistingControl","parameters":[{"name":"custodyAccountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The server-bound account control challenge that the external account must sign.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"binding":{"type":"object","properties":{"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"actorUserId":{"$ref":"#/components/schemas/UserId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"domain":{"type":"string","minLength":1},"origin":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"participantResetEpoch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nonce":{"type":"string","minLength":1},"proofDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"expiresAt":{"type":"string"}},"required":["operation","actorUserId","participantId","organizationId","providerConfigurationId","ledger","network","domain","origin","audience","participantResetEpoch","nonce","proofDigest","expiresAt"],"additionalProperties":false},"account":{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmCustodyAccountFacts"]},"ledger":{"type":"string","enum":["evm"]},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"managedSignerKeyId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]}},"required":["_tag","ledger","signingAddress","managedSignerKeyId"],"additionalProperties":false},"message":{"type":"string","minLength":1}},"required":["binding","account","message"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"binding":{"operation":"add","actorUserId":"user_northwind_owner","participantId":"participant_northwind_owner","organizationId":"org_northwind_coffee","providerConfigurationId":"019c0000-0000-7000-8000-000000000001","ledger":"evm","network":"sepolia","domain":"dalp.example","origin":"https://console.dalp.example","audience":"dalp-api","participantResetEpoch":0,"nonce":"custody-proof-7k2m","proofDigest":"0xabababababababababababababababababababababababababababababababab","expiresAt":"2026-04-12T09:40:00.000Z"},"account":{"_tag":"EvmCustodyAccountFacts","ledger":"evm","signingAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","managedSignerKeyId":null},"message":"DALP custody-account control proof\n0xabababababababababababababababababababababababababababababababab"},"links":{"self":"/v2/users/me/custody-account-control-preparations"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a server-bound control challenge for an existing account. External accounts sign the message. Managed accounts use the dedicated managed lifecycle operation.","summary":"Prepare custody account revocation or archival","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"operation":{"type":"string","enum":["revoke","archive"]},"participantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["operation"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-accounts/{custodyAccountId}/managed-lifecycle":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.startManagedLifecycle","parameters":[{"name":"custodyAccountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"The durable state and continuation identifiers for one custody-account lifecycle request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"$ref":"#/components/schemas/TransactionPreparationId"},{"type":"null"}]},"externalAuthorizingCustodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}]},"externalMessageDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}]},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","operation":"add","state":"awaiting-existing-approval","externalPreparationId":null,"externalAuthorizingCustodyAccountId":null,"externalMessageDigest":null,"terminalResult":null,"terminalCode":null},"links":{"self":"/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}}},"headers":{"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for a custody-account lifecycle mutation. The work is accepted, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST while the request is non-terminal.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"statusUrl":{"type":"string"}},"required":["requestId","state","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"019c0000-0000-7000-8000-000000000004","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}},"headers":{"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts an exact managed-account lifecycle operation with a server-created provider attestation. External accounts must use the control preparation and signed lifecycle start operations. A request whose reconciliation is still running answers the 202 lifecycle handle unless Prefer: wait=<seconds> holds the request until it settles.","summary":"Start managed custody account revocation or archival","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"operation":{"type":"string","enum":["revoke","archive"]},"participantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["operation"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-accounts/{custodyAccountId}/smart-wallet-deployment":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.deploySmartWallet","parameters":[{"name":"custodyAccountId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitForSettlement"}],"responses":{"200":{"description":"The smart wallet's id and address, and whether it has code on the chain yet.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"walletId":{"$ref":"#/components/schemas/WalletId"},"address":{"$ref":"#/components/schemas/EvmAddress"},"deployed":{"type":"boolean"}},"required":["walletId","address","deployed"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"walletId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","address":"0x5fbdb2315678afecb367f032d93f642f64180aa3","deployed":true},"links":{"self":"/v2/users/me/custody-accounts/0198f1a2-3c4d-7e8f-9a0b-2c3d4e5f6a7b/smart-wallet-deployment"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","custody.smart-wallet.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12386","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","custody.smart-wallet.DEPLOY_REFUSED","custody.smart-wallet.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12387","DALP-12388","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deploys the smart wallet that the caller's own active self custody account controls on the request's chain, and records the wallet first if it is missing. A front end that links an investor's browser wallet calls it when the organization runs smart accounts. Send the request first with an empty body. When the wallet already has code on the chain, the answer is 200 with `deployed` true. Otherwise the answer is 409 `custody.smart-wallet.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED`, and `data.signingPayload.typedData` holds the account factory's EIP-712 `CreateAccount` payload. Have the connected wallet sign it (`eth_signTypedData_v4`), then send the same request with the signature in `externalMessageAuthorization.signature`. The organization's operations wallet relays the deployment and pays its gas, and the answer is 200. Repeat the signed request until `deployed` is true. A signature stays valid for one to two hours. After that the answer is 400 `custody.smart-wallet.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID`, so send the request without a signature again for a new payload. When the organization does not run smart accounts on this chain, the answer is 409 `custody.smart-wallet.DEPLOY_REFUSED` with `data.reason` `account-abstraction-disabled`, and the account needs no smart wallet.","summary":"Deploy your self custody smart wallet","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalMessageAuthorization":{"type":"object","properties":{"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signature"],"additionalProperties":false}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-account-requests/{requestId}":{"get":{"tags":["Users"],"operationId":"custodyUserAccountsV2.readLifecycle","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"name":"invitationId","in":"query","schema":{"type":"string"},"required":false},{"name":"participantId","in":"query","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":false}],"responses":{"200":{"description":"The durable state and continuation identifiers for one custody-account lifecycle request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"$ref":"#/components/schemas/TransactionPreparationId"},{"type":"null"}]},"externalAuthorizingCustodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}]},"externalMessageDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}]},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","operation":"add","state":"awaiting-existing-approval","externalPreparationId":null,"externalAuthorizingCustodyAccountId":null,"externalMessageDigest":null,"terminalResult":null,"terminalCode":null},"links":{"self":"/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the durable state and continuation identifiers for one lifecycle request owned by the authenticated holder in the active organization. Send `participantId` when the request was started for a pending participant other than the one the session acts as.","summary":"Read a custody account lifecycle request","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-account-requests/{requestId}/stream":{"get":{"tags":["Users"],"operationId":"custodyUserAccountsV2.readLifecycleStream","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"name":"invitationId","in":"query","schema":{"type":"string"},"required":false},{"name":"participantId","in":"query","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":false}],"responses":{"200":{"description":"Server-sent events carrying the request's current state first, then a new snapshot each time the state changes, until the request comes to rest or three minutes pass.","content":{"text/event-stream":{"schema":{"type":"object","properties":{"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"custodyAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"organizationContextId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody account organization context identifier"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"type":"string","minLength":1,"description":"Server-prepared transaction authorization identifier"},{"type":"null"}]},"externalAuthorizingCustodyAccountId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},{"type":"null"}]},"externalMessageDigest":{"anyOf":[{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},{"type":"null"}]},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}]},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":true},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"requestId":"00000000-0000-7000-8000-000000000000","custodyAccountId":"00000000-0000-7000-8000-000000000000","organizationContextId":"00000000-0000-7000-8000-000000000000","operation":"onboard","state":"awaiting-proof","externalPreparationId":"example","externalAuthorizingCustodyAccountId":"00000000-0000-7000-8000-000000000000","externalMessageDigest":"0x5208","terminalResult":"succeeded","terminalCode":"example"}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a server-sent event stream for one lifecycle request owned by the authenticated holder, in the same shape as the request read. Send `participantId` when the request was started for a pending participant other than the one the session acts as. Browser callers must be same-origin or the route answers 404. The stream ends when the request comes to rest, or after three minutes; use the request read after that.","summary":"Stream a custody account lifecycle request","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-account-requests/{requestId}/approval-preparation":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.prepareApproval","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The exact approval message and signer method for one existing custody account.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"existingSignerCustodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"proofDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"signingMethod":{"type":"string","enum":["managed","external"]},"message":{"type":"string","minLength":1}},"required":["requestId","custodyAccountId","existingSignerCustodyAccountId","proofDigest","signingAddress","signingMethod","message"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","existingSignerCustodyAccountId":"019c0000-0000-7000-8000-000000000005","proofDigest":"0xabababababababababababababababababababababababababababababababab","signingAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","signingMethod":"external","message":"DALP custody-account approval\n019c0000-0000-7000-8000-000000000004"},"links":{"self":"/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004/approval-preparation"}}}}}},"headers":{}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the exact message and signer mode for an eligible existing account. Managed signers approve on the server; external signers must sign the returned message before approval. Send `participantId` when the request was started for a pending participant other than the one the session acts as.","summary":"Prepare a custody account approval","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"existingSignerCustodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["existingSignerCustodyAccountId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/custody-account-requests/{requestId}/approval":{"post":{"tags":["Users"],"operationId":"custodyUserAccountsV2.approveLifecycle","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"The durable state and continuation identifiers for one custody-account lifecycle request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"$ref":"#/components/schemas/TransactionPreparationId"},{"type":"null"}]},"externalAuthorizingCustodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}]},"externalMessageDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}]},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","operation":"add","state":"awaiting-existing-approval","externalPreparationId":null,"externalAuthorizingCustodyAccountId":null,"externalMessageDigest":null,"terminalResult":null,"terminalCode":null},"links":{"self":"/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}}},"headers":{"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for a custody-account lifecycle mutation. The work is accepted, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST while the request is non-terminal.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"statusUrl":{"type":"string"}},"required":["requestId","state","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"requestId":"019c0000-0000-7000-8000-000000000004","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}},"headers":{"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","CUSTODY_APPROVAL_REJECTED","CUSTODY_SCOPE_DENIED","CUSTODY_WALLET_NOT_SIGNER","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12276","DALP-12278","DALP-12406","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_ACCOUNT_NOT_FOUND_PUBLIC","CUSTODY_WALLET_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12257","DALP-12296","DALP-14220","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","CUSTODY_APPROVAL_PENDING","CUSTODY_ARCHIVE_HOLDS_TOKENS","CUSTODY_ARCHIVE_LIVE_WALLET","CUSTODY_DIRECT_PARTICIPANT_HAS_KEY","CUSTODY_KEY_HOLDS_TOKENS","CUSTODY_LIFECYCLE_CONFLICT","CUSTODY_ONLY_LIVE_KEY","CUSTODY_PROVIDER_CONFIG_CONFLICT","MULTISIG_APPROVAL_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12272","DALP-12275","DALP-12297","DALP-12298","DALP-12401","DALP-12403","DALP-12404","DALP-12405","DALP-12413","DALP-14219","DALP-14221","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROOF_INVALID","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271","DALP-12274"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROOF_INVALID","status":422,"message":"The custody proof does not bind this account","data":{"id":"DALP-12274","why":"The control proof, external control artifact, provider binding, or step-up confirmation sent with this request does not bind the account on this ledger, or the custody provider does not support the ledger. It also answers when the custody provider refused to sign the operation, for example because signing failed or the wallet cannot pay the fee.","fix":"Produce a new proof or confirmation for this account and ledger, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CUSTODY_DEPENDENCY_REFUSED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14087","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CUSTODY_PROVIDER_UNAVAILABLE","DALP-0083","SESSION_RESOLUTION_FAILED","custody.write.OUTCOME_UNKNOWN","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12109","DALP-12307","DALP-14218"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_UNAVAILABLE","status":503,"message":"The custody provider or the transaction queue is temporarily unavailable","data":{"id":"DALP-14218","why":"The custody provider, its authenticated probe, the custody store, the participant directory, the wallet's chain or the transaction queue did not answer in time, so the custody request could not be completed.","fix":"Retry the request. If the failure continues, check the custody provider's status and contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves with the selected existing account. Omit artifact for a managed signer. An external signer must submit the signature artifact over the prepared message. Send `participantId` when the request was started for a pending participant other than the one the session acts as. A request whose reconciliation is still running answers the 202 lifecycle handle unless Prefer: wait=<seconds> holds the request until it settles.","summary":"Approve a custody account lifecycle request","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"existingSignerCustodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"artifact":{"type":"string","minLength":1},"participantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["existingSignerCustodyAccountId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/custody-ops/whitelist":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/whitelistList","parameters":[{"name":"offset","in":"query","schema":{"type":"string"},"required":false},{"name":"limit","in":"query","schema":{"type":"string"},"required":false},{"name":"state","in":"query","schema":{"type":"string","enum":["proposed","proved","active","refused","revoked"]},"required":false}],"responses":{"200":{"description":"CustodyWhitelistPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyWhitelistPage"},"examples":{"example-1":{"value":{"data":[],"meta":{"facets":{},"total":0},"links":{"self":"/api/v2/custody-ops/whitelist","first":"/api/v2/custody-ops/whitelist","prev":null,"next":null,"last":"/api/v2/custody-ops/whitelist"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns your own withdrawal destinations newest first, with their proof and operator-review state.","summary":"List your withdrawal destinations","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Custody operations"],"operationId":"custodyOps/whitelistCreate","parameters":[{"name":"idempotency-key","in":"header","schema":{"type":"string","minLength":1,"description":"Key that names this destination proposal. A retry under the same key answers the same entry; a different destination under it is refused.","examples":["0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"CustodyWhitelistProposalResult","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyWhitelistProposalResult"},"examples":{"example-1":{"value":{"entry":{"entryId":"wle_01J8Z3M4N5P6Q7R8S9T0V1W2X3","organizationId":"org_northwind","participantId":"prt_northwind_investor","chainId":1,"destination":"0x5b38da6a701c568545dcfcb03fcb875f56beddc4","participantResetEpoch":0,"registryWalletId":null,"registryProviderConfigurationId":null,"createdAt":"2026-09-01T09:00:00.000Z","updatedAt":"2026-09-01T09:00:00.000Z","rowVersion":1,"reason":null,"reviewedBy":null,"accountableUserId":null,"reviewedAt":null,"state":"proposed","proofDigest":null,"provedAt":null,"provedBy":null,"provedImpersonatedBy":null,"revokedAt":null},"challenge":{"entryId":"wle_01J8Z3M4N5P6Q7R8S9T0V1W2X3","organizationId":"org_northwind","participantId":"prt_northwind_investor","chainId":1,"destination":"0x5b38da6a701c568545dcfcb03fcb875f56beddc4","participantResetEpoch":0,"nonce":"9f3b7c1e5a2d4860","expiresAt":"2026-09-01T09:15:00.000Z","proofDigest":"0x4d8c1b7a3e5f90d2c6b8a4e1f37d5092b6c8e0a2d4f6819b3d5f7a9c1e3b5d70","createdAt":"2026-09-01T09:00:00.000Z","usedAt":null},"message":"DALP destination control proof\nOrganization: org_northwind\nChain: 1\nDestination: 0x5b38da6a701c568545dcfcb03fcb875f56beddc4\nValid until: 2026-09-01T09:15:00.000Z\nProof: 0x4d8c1b7a3e5f90d2c6b8a4e1f37d5092b6c8e0a2d4f6819b3d5f7a9c1e3b5d70"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","WHITELIST_DESTINATION_IN_USE","WHITELIST_TRANSITION_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14207","DALP-14208","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a destination-control challenge bound to your participant and destination.","summary":"Propose a withdrawal destination","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyWhitelistProposal"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/custody-ops/whitelist/{entryId}/proofs":{"post":{"tags":["Custody operations"],"operationId":"custodyOps/whitelistProofCreate","parameters":[{"name":"entryId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Consumes the destination-control challenge once, records the proved destination and opens its operator screening case in one transaction.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"state":{"type":"string","enum":["proposed"]},"proofDigest":{"type":"null"},"provedAt":{"type":"null"},"provedBy":{"type":"null"},"provedImpersonatedBy":{"type":"null"},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["proved"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["active"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["refused"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"state":{"type":"string","enum":["revoked"]},"proofDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"provedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000},{"type":"null"}]},"reviewedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"accountableUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"revokedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","reason","reviewedBy","accountableUserId","reviewedAt","revokedAt"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"entryId":"wle_01J8Z3M4N5P6Q7R8S9T0V1W2X3","organizationId":"org_northwind","participantId":"prt_northwind_investor","chainId":1,"destination":"0x5b38da6a701c568545dcfcb03fcb875f56beddc4","participantResetEpoch":0,"registryWalletId":"fb_external_wallet_9K2M4P6Q","registryProviderConfigurationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","createdAt":"2026-09-01T09:00:00.000Z","updatedAt":"2026-09-01T09:05:00.000Z","rowVersion":2,"reason":null,"reviewedBy":null,"accountableUserId":null,"reviewedAt":null,"proofDigest":"0x4d8c1b7a3e5f90d2c6b8a4e1f37d5092b6c8e0a2d4f6819b3d5f7a9c1e3b5d70","provedAt":"2026-09-01T09:05:00.000Z","provedBy":"usr_northwind_investor","provedImpersonatedBy":null,"state":"proved","revokedAt":null}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WHITELIST_ENTRY_UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14209","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTRY_REFUSED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","WHITELIST_TRANSITION_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14208","DALP-14262","DALP-9086","DALP-9433","DALP-9837"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WHITELIST_DESTINATION_PROOF_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14210"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WHITELIST_DESTINATION_PROOF_INVALID","status":422,"message":"The destination control proof is invalid","data":{"id":"DALP-14210","why":"The signed proof does not match the challenge the platform issued, the challenge expired, is not valid yet or belongs to an earlier custody reset, or the signature is not the destination address's own canonical signature.","fix":"Request a fresh challenge and sign the message it answers.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REGISTRY_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307","DALP-9832"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Consumes the destination-control challenge once, records the proved destination and opens its operator screening case in one transaction. A failed attempt commits none of those changes. Repeating the accepted proof returns the recorded entry and adopts its existing case.","summary":"Prove a withdrawal destination","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyWhitelistProof"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/custody-ops/whitelist/{entryId}/revocations":{"post":{"tags":["Custody operations"],"operationId":"custodyOps/whitelistRevocationCreate","parameters":[{"name":"entryId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Revokes one of your destinations so future withdrawals cannot use it.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"state":{"type":"string","enum":["proposed"]},"proofDigest":{"type":"null"},"provedAt":{"type":"null"},"provedBy":{"type":"null"},"provedImpersonatedBy":{"type":"null"},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["proved"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["active"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["refused"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"state":{"type":"string","enum":["revoked"]},"proofDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"provedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000},{"type":"null"}]},"reviewedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"accountableUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"revokedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","reason","reviewedBy","accountableUserId","reviewedAt","revokedAt"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"entryId":"wle_01J8Z3M4N5P6Q7R8S9T0V1W2X3","organizationId":"org_northwind","participantId":"prt_northwind_investor","chainId":1,"destination":"0x5b38da6a701c568545dcfcb03fcb875f56beddc4","participantResetEpoch":0,"registryWalletId":"fb_external_wallet_9K2M4P6Q","registryProviderConfigurationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","createdAt":"2026-09-01T09:00:00.000Z","updatedAt":"2026-09-01T11:00:00.000Z","rowVersion":4,"state":"revoked","proofDigest":"0x4d8c1b7a3e5f90d2c6b8a4e1f37d5092b6c8e0a2d4f6819b3d5f7a9c1e3b5d70","provedAt":"2026-09-01T09:05:00.000Z","provedBy":"usr_northwind_investor","provedImpersonatedBy":null,"reason":"Destination verified by the custody desk.","reviewedBy":"usr_northwind_operator","accountableUserId":"usr_northwind_operator","reviewedAt":"2026-09-01T09:30:00.000Z","revokedAt":"2026-09-01T11:00:00.000Z"}}}}},"headers":{}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WHITELIST_ENTRY_UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14209","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTRY_REFUSED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","WHITELIST_TRANSITION_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14208","DALP-14262","DALP-9086","DALP-9433","DALP-9837"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REGISTRY_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307","DALP-9832"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Revokes one of your destinations so future withdrawals cannot use it.","summary":"Revoke a withdrawal destination","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["expectedRowVersion"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/mine":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayMineRead","parameters":[],"responses":{"200":{"description":"CustodyGatewayMineResource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayMineResource"},"examples":{"example-1":{"value":{"data":{"gateway":{"gatewayAddress":"0x9999999999999999999999999999999999999999","escrow":"0x8888888888888888888888888888888888888888","clientIdentity":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","paused":false,"defaultPayoutAddress":null,"clientWallet":"0xdddddddddddddddddddddddddddddddddddddddd"},"autoClaim":[{"token":null,"enabled":false,"source":"addon"}]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/mine"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the gateway whose coins-go-to wallet is the wallet you act with, its pause state, default payout address and the auto-claim setting that applies to it. A wallet with no gateway answers 404.","summary":"Read your custody gateway","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/deposits":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayDepositsList","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"progress":{"anyOf":[{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},{"type":"object","properties":{"eq":{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},"ne":{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"source":{"type":"string","description":"The reported transfer that recorded the deposit, as a transaction hash and log index joined by a colon.","examples":["0xa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9:3"],"maxLength":80}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"CustodyGatewayDepositsPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayDepositsPage"},"examples":{"example-1":{"value":{"data":[{"depositId":"0x00000000000000000000000000000000000000000000000000000000000000d1","recordId":"0x9999999999999999999999999999999999999999:deposit:0x00000000000000000000000000000000000000000000000000000000000000d1","kind":"deposit","token":"0x1111111111111111111111111111111111111111","sender":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","amount":"1000000","sourceTransactionHash":null,"sourceLogIndex":null,"stage":"quarantined","returnedBy":null,"paidTo":null,"senderConfirmed":false,"frozenUntil":null,"reported":false,"everFrozen":false,"heldForCustody":"0","custodyAnswer":null,"createdAt":"2026-10-20T09:00:00.000Z","settledAt":null}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/deposits?page[limit]=50&page[offset]=0","first":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/deposits?page[limit]=50&page[offset]=0","prev":null,"next":null,"last":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/deposits?page[limit]=50&page[offset]=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the gateway's deposit records, newest first, with the stage each is in. `filter[q]` matches the deposit id or sender address. `filter[source]` keeps only the deposit a reported transfer recorded, as `txHash:logIndex`.","summary":"List the deposits of a gateway","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayDepositCreate","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues the deposit from the wallet you act with, preceded by an approval for the exact amount when the allowance is short.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayDepositCreated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"token":"0x1111111111111111111111111111111111111111","amount":"1000000"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/deposits"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9821","DALP-9822","DALP-9824"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the deposit from the wallet you act with, preceded by an approval for the exact amount when the allowance is short. Answers 200 when settled within the preference window, otherwise 202 with the transaction to poll.","summary":"Deposit a coin into a gateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayDepositCreate"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/deposits/{depositId}":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayDepositRead","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"depositId","in":"path","schema":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"The 32-byte deposit id the gateway assigned, as lowercase hex."},"required":true}],"responses":{"200":{"description":"CustodyGatewayDepositResource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayDepositResource"},"examples":{"example-1":{"value":{"data":{"depositId":"0x00000000000000000000000000000000000000000000000000000000000000d1","recordId":"0x9999999999999999999999999999999999999999:deposit:0x00000000000000000000000000000000000000000000000000000000000000d1","kind":"deposit","token":"0x1111111111111111111111111111111111111111","sender":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","amount":"1000000","sourceTransactionHash":null,"sourceLogIndex":null,"stage":"quarantined","returnedBy":null,"paidTo":null,"senderConfirmed":false,"frozenUntil":null,"reported":false,"everFrozen":false,"heldForCustody":"0","custodyAnswer":null,"createdAt":"2026-10-20T09:00:00.000Z","settledAt":null,"stages":[{"stage":"quarantined","mover":null,"transactionHash":"0xabababababababababababababababababababababababababababababababab","at":"2026-10-20T09:00:00.000Z"}]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/deposits/0x00000000000000000000000000000000000000000000000000000000000000d1"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","GATEWAY_RECORD_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814","DALP-9829"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one deposit with its stage history. A deposit waiting for the custodian shows the receipts held and the custodian's answer. A deposit that is not indexed answers 404.","summary":"Read a deposit","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/deposits/{depositId}/transitions":{"post":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayDepositTransitionCreate","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"depositId","in":"path","schema":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"The 32-byte deposit id the gateway assigned, as lowercase hex."},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues the transition signed by your own wallet.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayRecordTransition"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transition":"clear","recordId":"0x00000000000000000000000000000000000000000000000000000000000000d1"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/deposits/0x00000000000000000000000000000000000000000000000000000000000000d1/transitions"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","GATEWAY_RECORD_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814","DALP-9829"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_DEPOSIT_STATE_REFUSED","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820","DALP-9833"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_CLIENT_FLAGGED","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-13995","DALP-9821","DALP-9822","DALP-9824"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the transition signed by your own wallet. A role the transition needs and you lack answers 403, a transition the deposit's stage does not allow answers 409 and queues nothing, and one that needs the add-on's checker approval answers 422 with the calls to propose. A screener clear or a keeper retry while a compliance claim of the gateway's client is revoked or expired answers 422 GatewayClientFlagged and queues nothing. Confirming that the custodian accepted the coins is the keeper's alone and is not a transition.","summary":"Move a deposit to its next stage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayDepositTransitionCreate"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/withdrawals":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayWithdrawalsList","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"progress":{"anyOf":[{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},{"type":"object","properties":{"eq":{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},"ne":{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"CustodyGatewayWithdrawalsPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalsPage"},"examples":{"example-1":{"value":{"data":[{"requestId":"7","recordId":"0x9999999999999999999999999999999999999999:withdrawal:7","receiptToken":"0x2222222222222222222222222222222222222222","token":"0x1111111111111111111111111111111111111111","owner":"0xdddddddddddddddddddddddddddddddddddddddd","requestedBy":"0xdddddddddddddddddddddddddddddddddddddddd","shares":"1000000","stage":"awaiting-funds","assetsReserved":"1000000","assetsPaid":null,"fee":null,"payoutAddress":"0x3333333333333333333333333333333333333333","returnReason":null,"autoPayFailure":null,"frozenUntil":null,"reported":false,"everFrozen":false,"needsScreening":false,"needsApproval":false,"cancelAvailableAt":"2026-10-27T09:00:00.000Z","createdAt":"2026-10-20T09:00:00.000Z","settledAt":null}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawals?page[limit]=50&page[offset]=0","first":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawals?page[limit]=50&page[offset]=0","prev":null,"next":null,"last":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawals?page[limit]=50&page[offset]=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the gateway's withdrawal requests, newest first. `filter[q]` matches the request id or owner address.","summary":"List the withdrawal requests of a gateway","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayWithdrawalCreate","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues handing in receipts for the coins, preceded by an approval for the exact amount when the allowance is short.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalCreated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"receiptToken":"0x2222222222222222222222222222222222222222","shares":"1000000","payout":"0x3333333333333333333333333333333333333333"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawals"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_CLIENT_FLAGGED","GATEWAY_PAYOUT_NOT_APPROVED","GATEWAY_RECEIPTS_UNAVAILABLE","GATEWAY_WRITE_REFUSED","PARTICIPANT_RESTRICTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-13995","DALP-14393","DALP-9821","DALP-9822","DALP-9824","DALP-9827","DALP-9828"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues handing in receipts for the coins, preceded by an approval for the exact amount when the allowance is short. A client whose compliance claim was revoked or expired, a payout address that is not approved, or more receipts than the wallet holds once those held for custody are set aside, answers 422 and queues nothing.","summary":"Request a withdrawal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalCreate"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/withdrawals/{requestId}":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayWithdrawalRead","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The withdrawal request id the gateway assigned, as decimal text."},"required":true}],"responses":{"200":{"description":"CustodyGatewayWithdrawalResource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalResource"},"examples":{"example-1":{"value":{"data":{"requestId":"7","recordId":"0x9999999999999999999999999999999999999999:withdrawal:7","receiptToken":"0x2222222222222222222222222222222222222222","token":"0x1111111111111111111111111111111111111111","owner":"0xdddddddddddddddddddddddddddddddddddddddd","requestedBy":"0xdddddddddddddddddddddddddddddddddddddddd","shares":"1000000","stage":"awaiting-funds","assetsReserved":"1000000","assetsPaid":null,"fee":null,"payoutAddress":"0x3333333333333333333333333333333333333333","returnReason":null,"autoPayFailure":null,"frozenUntil":null,"reported":false,"everFrozen":false,"needsScreening":false,"needsApproval":false,"cancelAvailableAt":"2026-10-27T09:00:00.000Z","createdAt":"2026-10-20T09:00:00.000Z","settledAt":null,"stages":[{"stage":"quarantined","mover":null,"transactionHash":"0xabababababababababababababababababababababababababababababababab","at":"2026-10-20T09:00:00.000Z"}]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawals/7"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","GATEWAY_RECORD_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814","DALP-9829"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one withdrawal request with its stage, payout address and the coins paid. A request that is not indexed answers 404.","summary":"Read a withdrawal request","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/withdrawals/{requestId}/transitions":{"post":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayWithdrawalTransitionCreate","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The withdrawal request id the gateway assigned, as decimal text."},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues the transition signed by your own wallet.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayRecordTransition"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transition":"cancel","recordId":"7"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawals/7/transitions"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","GATEWAY_RECORD_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814","DALP-9829"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","GATEWAY_WITHDRAWAL_STATE_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820","DALP-9834"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_CLIENT_FLAGGED","GATEWAY_PAYOUT_NOT_APPROVED","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-13995","DALP-9821","DALP-9822","DALP-9824","DALP-9827"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the transition signed by your own wallet. A role the transition needs and you lack answers 403, a transition the request's stage does not allow, or a clear once needsScreening is false, answers 409 and queues nothing, and one that needs the add-on's checker approval answers 422 with the calls to propose. A screener clear, a collect or a paused exit of a claimable request while a compliance claim of the gateway's client is revoked or expired answers 422 GatewayClientFlagged and queues nothing.","summary":"Move a withdrawal request to its next stage","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalTransitionCreate"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/auto-claim":{"patch":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayAutoClaimPatch","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues the gateway's auto-claim switch, signed by the wallet you act with.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayAutoClaimWritten"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"enabled":true},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/auto-claim"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9821","DALP-9822","DALP-9824"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the gateway's auto-claim switch, signed by the wallet you act with.","summary":"Set whether fulfilled requests are paid without a claim","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayAutoClaimPatch"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/default-payout":{"patch":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayDefaultPayoutPatch","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues the address receipts sent by plain transfer are paid to.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayDefaultPayoutWritten"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"payout":"0x3333333333333333333333333333333333333333"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/default-payout"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_PAYOUT_NOT_APPROVED","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9821","DALP-9822","DALP-9824","DALP-9827"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the address receipts sent by plain transfer are paid to. An address that is not on the gateway's approved list answers 422.","summary":"Set the default payout address","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayDefaultPayoutPatch"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/unsupported":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayUnsupportedList","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"CustodyGatewayUnsupportedPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayUnsupportedPage"},"examples":{"example-1":{"value":{"data":[{"recordKey":"0x00000000000000000000000000000000000000000000000000000000000000d1","token":"0x1111111111111111111111111111111111111111","sender":"0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee","amount":"1000000","status":"unsupported","senderConfirmed":false,"depositId":null,"paidTo":null,"createdAt":"2026-10-20T09:00:00.000Z"}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/unsupported?page[limit]=50&page[offset]=0","first":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/unsupported?page[limit]=50&page[offset]=0","prev":null,"next":null,"last":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/unsupported?page[limit]=50&page[offset]=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists coins the gateway received that it does not accept, newest first.","summary":"List the unsupported-coin records of a gateway","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/unsupported/{recordKey}/transitions":{"post":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayUnsupportedTransitionCreate","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"recordKey","in":"path","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues ignoring the record, returning the coins, enabling the coin as a deposit or recovering the coins to a wallet.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayRecordTransition"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transition":"ignore","recordId":"0x00000000000000000000000000000000000000000000000000000000000000d1"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/unsupported/0x00000000000000000000000000000000000000000000000000000000000000d1/transitions"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","GATEWAY_RECORD_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814","DALP-9829"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_DEPOSIT_STATE_REFUSED","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820","DALP-9833"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9821","DALP-9822","DALP-9824"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues ignoring the record, returning the coins, enabling the coin as a deposit or recovering the coins to a wallet. A change that needs the add-on's checker approval answers 422 with the calls to propose.","summary":"Resolve an unsupported-coin record","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayUnsupportedTransitionCreate"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/transitions":{"post":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayLifecycleTransitionCreate","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"Queues the gateway-wide switch, signed by your own wallet.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayRecordTransition"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transition":"pause","recordId":"0x9999999999999999999999999999999999999999"},"meta":{"txHashes":["0xabababababababababababababababababababababababababababababababab"]},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/transitions"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","FORBIDDEN","GATEWAY_ROLE_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9835"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_APPROVAL_REQUIRED","GATEWAY_CANNOT_WAIT_FOR_CUSTODY","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9821","DALP-9822","DALP-9824"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_APPROVAL_REQUIRED","status":422,"message":"The gateway change needs checker approval","data":{"id":"DALP-9821","why":"The add-on's checkers must approve this change before it can be sent.","fix":"Propose each listed call to the add-on's access manager, collect the approvals, then send the same request again.","retryable":false,"category":"client","calls":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the gateway-wide switch, signed by your own wallet.","summary":"Pause, unpause or close a gateway","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayLifecycleTransitionCreate"}}},"required":true},"x-dalp-auth":"session"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/payouts":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayPayoutsList","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"CustodyGatewayPayoutsPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayPayoutsPage"},"examples":{"example-1":{"value":{"data":[{"address":"0xcccccccccccccccccccccccccccccccccccccccc","isDefault":true},{"address":"0xc8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8c8","isDefault":false}],"meta":{"total":2,"facets":{}},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/payouts?page[limit]=50&page[offset]=0","first":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/payouts?page[limit]=50&page[offset]=0","prev":null,"next":null,"last":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/payouts?page[limit]=50&page[offset]=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the payout addresses a withdrawal of the gateway may name, with the gateway's default marked. Suspended and removed addresses are left out, so the default is unmarked while it cannot be paid. `filter[q]` matches the address. A gateway the caller cannot read answers 404.","summary":"List the approved payout addresses of a gateway","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/tokens":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayEnabledTokensList","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"CustodyGatewayClientTokensPage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayClientTokensPage"},"examples":{"example-1":{"value":{"data":[{"token":"0x1111111111111111111111111111111111111111","receiptToken":"0x2222222222222222222222222222222222222222"}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/tokens?page[limit]=50&page[offset]=0","first":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/tokens?page[limit]=50&page[offset]=0","prev":null,"next":null,"last":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/tokens?page[limit]=50&page[offset]=0"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the coins the gateway accepts with the custody receipt each one mints. Removed coins are left out. `filter[q]` matches the coin or the receipt. A gateway the caller cannot read answers 404.","summary":"List the coins and receipts a gateway takes","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/custody-gateways/gateways/{gatewayAddress}/withdrawal-fee-quotes":{"get":{"tags":["Custody operations"],"operationId":"custodyOps/gatewayWithdrawalFeeQuote","parameters":[{"name":"gatewayAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"receiptToken","in":"query","schema":{"type":"string","description":"The custody receipt the withdrawal hands in.","examples":["0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"]},"required":true},{"name":"shares","in":"query","schema":{"type":"string","pattern":"^[1-9][0-9]{0,77}$","description":"The receipts handed in, in base units, as a decimal string.","examples":["250000"]},"required":true}],"responses":{"200":{"description":"CustodyGatewayWithdrawalFeeQuoteResource","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalFeeQuoteResource"},"examples":{"example-1":{"value":{"data":{"receiptToken":"0x2222222222222222222222222222222222222222","token":"0x1111111111111111111111111111111111111111","shares":"1000000","fee":"60","feeMode":"deducted","gasCeiling":"900","net":"999940"},"links":{"self":"/api/v2/addons/custody-gateways/gateways/0x9999999999999999999999999999999999999999/withdrawal-fee-quotes?receiptToken=0x2222222222222222222222222222222222222222&shares=1000000"}}}}}}},"400":{"description":"The request does not match what this route publishes: a body, query, path, or header field is missing or carries a value the schema refuses. The response names the field, and this status never describes the state of the record the request names.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The row this route names does not exist in the active organization, so the platform returned none. Check the identifier, then send the request again. This status never says whether such a row exists in another organization.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_ADDON_NOT_DEPLOYED","GATEWAY_NOT_FOUND","GATEWAY_RECORD_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9813","DALP-9814","DALP-9829"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the row it names: another writer changed it, or its current state does not permit this change. Read the row again, then repeat the request with the version or state you read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GATEWAY_SIGNER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9820"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is well-formed but the platform refuses what it asks for, and the response names the rule that refused it. Correct that cause before sending the request again: a retry that changes nothing answers the same refusal.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","GATEWAY_WRITE_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9824"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"GATEWAY_WRITE_REFUSED","status":422,"message":"The gateway refused the change","data":{"id":"DALP-9824","why":"The add-on refuses this change in its current state, the gateway is closed, or the withdrawal leaves nothing after the fee.","fix":"Read `data.revert`, correct the request or the add-on's state, then send it again.","retryable":false,"category":"client","revert":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller sent more requests than the platform accepts in this window. Wait for the interval in `Retry-After`, then send the request again. Nothing was changed by the refused calls.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A dependency this route needs is unavailable, so the platform did not attempt the work. Retry after the interval in `Retry-After`; nothing was changed by the refused call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"The platform stopped waiting before the work this route asked for finished, and the response names the resource that reports its real state. Read that resource before sending the request again rather than repeating the call.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Prices handing in receipts from the gateway's resolved withdrawal terms: the fee, the gas ceiling and the net before the network fee. A receipt the add-on does not enable answers 404; shares a deducted fee covers answer 422 with the CustodyGatewayFeeExceedsAmount revert. A gateway the caller cannot read answers 404.","summary":"Price a gateway withdrawal from its terms","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/escrows":{"get":{"tags":["Escrows"],"operationId":"v2/addons/escrow/escrowsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"addonKind":{"type":"string","enum":["trading-venue","other"],"description":"The kind of add-on that controls the escrow, read from the controller's indexed contract type. `other` is a controller of a type this list does not name yet."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["label","-label","createdAt","-createdAt","controllerAddress","-controllerAddress","tokenCount","-tokenCount","openLockCount","-openLockCount"]},"required":false}],"responses":{"200":{"description":"One page of the system's escrows with their holdings and open lock count, the total that matches the filter, and how many escrows each add-on kind controls.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowList"},"examples":{"example-1":{"value":{"data":[{"escrowAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","label":"Northwind venue escrow","addonKind":"trading-venue","controllerAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","factoryAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","identityAddress":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","country":528,"tokenCount":1,"openLockCount":2,"held":[{"tokenAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","symbol":"NWB","decimals":18,"amount":"2500000000000000000000"}],"createdAt":"2026-10-20T09:00:00.000Z"}],"meta":{"total":1,"facets":{"addonKind":[{"value":"trading-venue","count":1}]}},"links":{"self":"/api/v2/addons/escrows?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/addons/escrows?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/addons/escrows?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ESCROW_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9701"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the escrows that the add-ons of your organisation's system deployed, newest first by default. Each escrow names the add-on kind that controls it, the tokens it holds and how many locks are open. Filter by `filter[addonKind]` and sort by `label` or `createdAt`. An organisation without a deployed system gets an empty page. You need the organisation owner role or platform administrator access.","summary":"List your system's escrows","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/escrows/{escrowAddress}":{"get":{"tags":["Escrows"],"operationId":"v2/addons/escrow/escrowsRead","parameters":[{"name":"escrowAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The escrow with its holdings and open lock count.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowSingle"},"examples":{"example-1":{"value":{"data":{"escrowAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","label":"Northwind venue escrow","addonKind":"trading-venue","controllerAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","factoryAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","identityAddress":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","country":528,"tokenCount":1,"openLockCount":2,"held":[{"tokenAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","symbol":"NWB","decimals":18,"amount":"2500000000000000000000"}],"createdAt":"2026-10-20T09:00:00.000Z"},"links":{"self":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ESCROW_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9701"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one escrow of your organisation's system with the add-on kind that controls it, the tokens it holds and how many locks are open. An escrow that belongs to another system answers 404, as does an address that is not an escrow. You need the organisation owner role or platform administrator access.","summary":"Read an escrow","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/escrows/{escrowAddress}/balances":{"get":{"tags":["Escrows"],"operationId":"v2/addons/escrow/escrowBalancesList","parameters":[{"name":"escrowAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["ownerAddress","-ownerAddress","symbol","-symbol","free","-free","locked","-locked"],"description":"The field to sort by, with a leading `-` for descending. `free` and `locked` order by the amount in whole tokens, so tokens with different decimals compare as the Console shows them. Absent, balances come ordered by owner address, then token address."},"required":false}],"responses":{"200":{"description":"One page of owner and token balances with their free and locked amounts, and the total number of rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowBalanceList"},"examples":{"example-1":{"value":{"data":[{"ownerAddress":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","tokenAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","symbol":"NWB","decimals":18,"free":"1500000000000000000000","locked":"1000000000000000000000"}],"meta":{"total":1},"links":{"self":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/balances?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/balances?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/balances?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ESCROW_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9701"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the escrow's balances, one row per owner and token, ordered by owner and then token. `free` is what the owner can withdraw now and `locked` is what open locks hold. Owners whose balance is back to zero are left out. You need the organisation owner role or platform administrator access.","summary":"List an escrow's balances","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/escrows/{escrowAddress}/locks":{"get":{"tags":["Escrows"],"operationId":"v2/addons/escrow/escrowLocksList","parameters":[{"name":"escrowAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"status":{"type":"string","enum":["open","unlocked","relocked","paid","booked","reclaimed","forced"],"description":"`open` while units remain locked. Once the lock is empty, the move that emptied it: `unlocked` back to free, `relocked` into another lock, `paid` out, `booked` to another owner's free balance (a venue delivery whose receiver could not take the transfer), `reclaimed` by the owner after it expired, or `forced` by a custodian's forced transfer."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["lockId","-lockId","ownerAddress","-ownerAddress","symbol","-symbol","amount","-amount","reclaimableFrom","-reclaimableFrom"],"description":"The field to sort by, with a leading `-` for descending. `amount` orders by the amount in whole tokens; a lock with no owner exit sorts as the latest `reclaimableFrom`. Absent, locks come newest first."},"required":false}],"responses":{"200":{"description":"One page of the escrow's locks with their amount, status and reclaim time, and the total number that match the filter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowLockList"},"examples":{"example-1":{"value":{"data":[{"lockId":"0x3c5d1e7a9b2f4c6d8e0a1b3c5d7e9f1a2b4c6d8e0f1a3b5c7d9e1f3a5b7c9d1e","ownerAddress":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","tokenAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","symbol":"NWB","decimals":18,"amount":"1000000000000000000000","reclaimableFrom":"2026-11-20T09:00:00.000Z","status":"open","openedAt":"2026-10-21T14:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/locks?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/locks?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/locks?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ESCROW_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9701"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the escrow's locks, newest first. An open lock shows what it still holds and when its owner may reclaim it; `reclaimableFrom` is null when the owner can never reclaim it. An emptied lock keeps the status of the move that emptied it. Filter by `filter[status]`. You need the organisation owner role or platform administrator access.","summary":"List an escrow's locks","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/escrows/{escrowAddress}/events":{"get":{"tags":["Escrows"],"operationId":"v2/addons/escrow/escrowEventsList","parameters":[{"name":"escrowAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["blockTimestamp","-blockTimestamp"],"description":"The field to sort by, with a leading `-` for descending. Absent, events come newest first."},"required":false}],"responses":{"200":{"description":"One page of the escrow's events with their block, transaction and decoded arguments, and the total number of events.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowEventList"},"examples":{"example-1":{"value":{"data":[{"eventName":"EscrowLocked","blockNumber":"1842","blockTimestamp":"2026-10-21T14:30:00.000Z","txHash":"0x9a1b3c5d7e9f1a2b4c6d8e0f1a3b5c7d9e1f3a5b7c9d1e3f5a7b9c1d3e5f7a9b","logIndex":2,"senderAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","values":[{"name":"owner","value":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"},{"name":"amount","value":"1000000000000000000000"}]}],"meta":{"total":1},"links":{"self":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/events?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/events?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/addons/escrows/0x5FbDB2315678afecb367f032d93F642f64180aa3/events?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ESCROW_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9701"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the events the escrow emitted, newest first, with the decoded event arguments. Use it as the escrow's audit trail. You need the organisation owner role or platform administrator access.","summary":"List an escrow's events","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/escrows/{escrowAddress}/forced-transfers":{"post":{"tags":["Escrows"],"operationId":"v2/addons/escrow/escrowForcedTransfersCreate","parameters":[{"name":"escrowAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowForcedTransferMutationResponse"},"examples":{"example-1":{"value":{"data":{"escrowAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","from":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","to":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","lockIds":["0x0000000000000000000000000000000000000000000000000000000000000000"]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult_1"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","ESCROW_CUSTODIAN_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9703"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ESCROW_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524","DALP-9701"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_FORCED_TRANSFER_REFUSED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433","DALP-9702"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"A token custodian moves an owner's escrowed units out of the escrow: back to the owner when the escrow is compromised, or to the rail wallet when the bank already paid the cash-out the lock backs. The escrow takes the owner's free balance first, then the listed locks. Units a bank cash-out still depends on are refused.","summary":"Force a transfer out of an escrow","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowForcedTransferPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-requests":{"get":{"tags":["Transactions"],"operationId":"transactionsV2.list","parameters":[{"name":"family","in":"query","schema":{"type":"string","enum":["evm","canton"]},"required":false},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200},"required":false},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":false},{"name":"ownership","in":"query","schema":{"type":"string","enum":["caller","scoped"],"description":"`caller`, the default, lists EVM requests sent from the caller's own wallets and Canton submissions made by the participants the caller acts as. `scoped` lists every EVM request and Canton submission of the organization for a caller with the owner or admin role in the organization or platform administrator access; any other caller gets the `caller` list."},"required":false}],"responses":{"200":{"description":"One page of transaction requests visible to the caller, across every chain family the deployment runs. Narrow on `data[].family` before reading any other field: an `evm` row carries `transactionId`, `fromAddress`, `chainId`, and `transactionHash`; a `canton` row carries `submissionId`, `submittingParty`, `networkIdentity`, and its own approval and settlement fields, and has none of the EVM ones. Families are blocked, not interleaved: every matching EVM row comes first, then every Canton row, and `meta.total` spans both. `filter[family]` selects one family; `filter[network]` narrows to one chain id or Canton network. `ownership` selects the EVM wallet set only: `scoped` is the default and lets administrators see the organization-wide set, `caller` restricts the EVM block to the caller's own wallets. It does not narrow the Canton block, whose rows are attributed to a party rather than to a user. Sort defaults to `createdAt` ascending. The call does not query the chain.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"kind":{"type":"string","minLength":1},"status":{"$ref":"#/components/schemas/TransactionRequestState"},"subStatus":{"anyOf":[{"type":"string"},{"type":"null"}]},"fromAddress":{"$ref":"#/components/schemas/EvmAddress"},"contractAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]},"receipt":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["success","reverted"]},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"blockNumber":{"type":"string"},"blockHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"contractAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"gasUsed":{"type":"string"},"cumulativeGasUsed":{"type":"string","examples":["21000"]},"effectiveGasPrice":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logs":{"type":"array","items":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"topics":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"data":{"$ref":"#/components/schemas/EthereumHexEncoded"},"blockNumber":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address","topics","data","blockNumber","transactionIndex","logIndex"],"additionalProperties":false}}},"required":["status","transactionHash","blockNumber","blockHash","from","to","contractAddress","gasUsed","cumulativeGasUsed","effectiveGasPrice","transactionIndex","logs"],"additionalProperties":false},{"type":"null"}]},"result":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"steps":{"type":"array","items":{"$ref":"#/components/schemas/ExecutionChainStepOutcome"}},"mayStillLand":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["family","transactionId","kind","status","subStatus","fromAddress","contractAddress","chainId","transactionHash","blockNumber","errorMessage","createdAt","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"submissionId":{"type":"string","minLength":1},"networkIdentity":{"$ref":"#/components/schemas/NetworkId"},"submittingParty":{"$ref":"#/components/schemas/CantonPartyId"},"submissionStatus":{"type":"string","enum":["intent","approved","executed","projecting","settled","expired","failed"]},"approvalStatus":{"type":"string","enum":["none","pending","approved","denied"]},"approvalDecidedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvalDecidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"ledgerSubmissionId":{"type":"string"},"settlementOffset":{"$ref":"#/components/schemas/LedgerOffset"},"contractId":{"type":"string","minLength":1,"allOf":[{"description":"Contract the settled submission created or rotated, when the operation reports one."}]},"failureReason":{"type":"object","properties":{"category":{"type":"string","enum":["ledger-rejected","approval-denied","approval-expired","no-longer-applies","signing-denied","not-entitled","internal"]},"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1}},"required":["category","code","message"],"additionalProperties":false},"pendingApproval":{"type":"object","properties":{"step":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1}},"required":["step","submissionId"],"additionalProperties":false,"description":"The step of a native instrument creation that waits for its approval, and the child submission to decide through POST /api/v2/wallets/submissions/{submissionId}/decision. Present only once that child is admitted."},"kind":{"type":"string","minLength":1,"allOf":[{"description":"The operation the submission runs, in the same vocabulary as an EVM request's `kind` (for example `token.transfer`). Absent when the submitted Daml choice has no operation name."}]},"instrumentId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument the submitted command names, when it names exactly one."}]},"instrumentAdmin":{"allOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"description":"The admin party of that instrument, when the command names it."}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["family","submissionId","networkIdentity","submittingParty","submissionStatus","approvalStatus","approvalDecidedBy","approvalDecidedAt","createdAt","updatedAt"],"additionalProperties":false}],"examples":[{"family":"evm","transactionId":"019c0000-0000-7000-8000-000000000010","kind":"token.mint","status":"FAILED","subStatus":null,"fromAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","contractAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","chainId":11155111,"transactionHash":null,"blockNumber":null,"errorMessage":"Stuck behind a replaced nonce; failed by an operator","createdAt":"2026-04-12T09:30:00.000Z","updatedAt":"2026-04-12T09:42:00.000Z"}]}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["data","total","nextCursor"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","transactionId":"019c0000-0000-7000-8000-000000000010","kind":"token.mint","status":"FAILED","subStatus":null,"fromAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","contractAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","chainId":11155111,"transactionHash":null,"blockNumber":null,"errorMessage":"Stuck behind a replaced nonce; failed by an operator","createdAt":"2026-04-12T09:30:00.000Z","updatedAt":"2026-04-12T09:42:00.000Z"}],"total":0,"nextCursor":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of transaction requests visible to the caller, across every chain family this deployment serves. Each row carries `family`: an `evm` row is a queue record with a nonce, a sender address, and eventually a transaction hash; a `canton` row is a durable command submission with a submitting party, an approval decision, and eventually a ledger offset. Narrow on `family` before reading any other field. Select one family with `filter[family]=evm|canton` or a single network with `filter[network]`. `ownership` selects the EVM wallet set only. Filter by status, operation type, sender, or chain on the EVM block, and by `submissionStatus`, `approvalStatus`, `submittingParty`, or `submissionId` on the Canton block; a filter one family does not own excludes that family from the page. Sort defaults to `createdAt` ascending. The call does not query the chain.","summary":"List transaction requests","x-dalp-auth":"session-or-api-key"}},"/api/v2/blockchain-transactions/{transactionHash}":{"get":{"tags":["Transactions"],"operationId":"transactionsV2.read","parameters":[{"name":"transactionHash","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true}],"responses":{"200":{"description":"Blockchain transaction named by hash, wrapped in the v2 single-resource envelope. A stored receipt from a queue record the caller owns is returned first. Otherwise the node is queried. `data.receipt` is null while the transaction is still pending.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["success","reverted"]},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"blockNumber":{"type":"string"},"blockHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"contractAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"gasUsed":{"type":"string"},"cumulativeGasUsed":{"type":"string","examples":["21000"]},"effectiveGasPrice":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logs":{"type":"array","items":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"topics":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"data":{"$ref":"#/components/schemas/EthereumHexEncoded"},"blockNumber":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address","topics","data","blockNumber","transactionIndex","logIndex"],"additionalProperties":false}}},"required":["status","transactionHash","blockNumber","blockHash","from","to","contractAddress","gasUsed","cumulativeGasUsed","effectiveGasPrice","transactionIndex","logs"],"additionalProperties":false},{"type":"null"}]},"examples":{"example-1":{"value":{"status":"success","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","blockNumber":"example","blockHash":"0x0000000000000000000000000000000000000000000000000000000000000000","from":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","to":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","gasUsed":"example","cumulativeGasUsed":"21000","effectiveGasPrice":"example","transactionIndex":0,"logs":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","topics":["0x5208"],"data":"0x5208","blockNumber":"example","transactionIndex":0,"logIndex":0}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_PROVIDER_READ_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0012","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the transaction named by `transactionHash` on the selected chain, wrapped in the v2 single-resource envelope. A stored receipt from a queue record the caller owns is returned first. Otherwise the node is queried. `data.receipt` is null while the transaction is still pending.","summary":"Read a blockchain transaction","x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-requests/{transactionId}":{"get":{"tags":["Transactions"],"operationId":"transactionsV2.status","parameters":[{"name":"transactionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Current indexed queue row for the transaction request in the path. Repeat the call until `data.status` is COMPLETED, FAILED, DEAD_LETTER, or CANCELLED. The call does not change the request and does not query the chain.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TransactionStatusOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"family":"evm","transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","kind":"token.mint","status":"COMPLETED","subStatus":null,"transactionHash":"0x5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8","blockNumber":"21458901","errorMessage":null,"createdAt":"2026-03-11T15:58:02.000Z","updatedAt":"2026-03-11T16:02:08.000Z"},"links":{"self":"/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the current row for `transactionId`, whichever ledger the write was asked of. Narrow on `family` first. On an `evm` row, `transactionHash` and `blockNumber` are null until the request is broadcast and confirmed; repeat the call, or use the status stream, until `status` is COMPLETED, FAILED, DEAD_LETTER, or CANCELLED. On a `canton` row, `transactionId` names a command submission: watch `submissionStatus` until it is `settled`, `expired`, or `failed`, and `approvalStatus` for the owner decision that releases an intent. The call does not change the request and does not query the chain.","summary":"Read transaction-request status","x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-requests/{transactionId}/stream":{"get":{"tags":["Transactions"],"operationId":"transactionsV2.statusStream","parameters":[{"name":"transactionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"SSE snapshots of one EVM transaction-request row. Every event carries `family: \"evm\"`. A Canton submission id is rejected with a typed error: this stream is driven by the EVM queue's change feed and Canton submissions have none; poll GET /transaction-requests/{transactionId} instead. The first event is the current queue state. Later events repeat that same row shape only when the row's state changes, such as `status`, `subStatus`, `transactionHash`, `errorMessage`, or `mayStillLand`. The stream ends after an event whose `status` is COMPLETED, FAILED, or CANCELLED, or whose `status` is DEAD_LETTER and whose `mayStillLand` is not `true`. A DEAD_LETTER event with `mayStillLand: true` keeps the stream open, because the call can still land. If the first event already ends the stream, it is the only event. The stream also ends after 180 seconds while the request is still in flight. Treat a terminal event as the settlement result. After a non-terminal close, read GET /transaction-requests/{transactionId} or open this stream again. The body carries no error events.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"kind":{"type":"string","minLength":1},"status":{"type":"string","enum":["RECEIVED","QUEUED","AWAITING_WORKFLOW","PREPARING","PENDING_APPROVAL","SIGNING","BROADCASTING","CONFIRMING","COMPLETED","FAILED","DEAD_LETTER","CANCELLED"],"description":"Current state in the transaction request lifecycle"},"subStatus":{"anyOf":[{"type":"string"},{"type":"null"}]},"fromAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"contractAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"transactionHash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]},"receipt":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["success","reverted"]},"transactionHash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"blockNumber":{"type":"string"},"blockHash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"from":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"to":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"contractAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"gasUsed":{"type":"string"},"cumulativeGasUsed":{"type":"string","examples":["21000"]},"effectiveGasPrice":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logs":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"topics":{"type":"array","items":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]}},"data":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"blockNumber":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address","topics","data","blockNumber","transactionIndex","logIndex"],"additionalProperties":true}}},"required":["status","transactionHash","blockNumber","blockHash","from","to","contractAddress","gasUsed","cumulativeGasUsed","effectiveGasPrice","transactionIndex","logs"],"additionalProperties":true},{"type":"null"}]},"result":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"steps":{"type":"array","items":{"type":"object","properties":{"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"status":{"type":"string","enum":["RECEIVED","QUEUED","AWAITING_WORKFLOW","PREPARING","PENDING_APPROVAL","SIGNING","BROADCASTING","CONFIRMING","COMPLETED","FAILED","DEAD_LETTER","CANCELLED"],"description":"Current state in the transaction request lifecycle"},"transactionHash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["transactionId","status","transactionHash","errorMessage"],"additionalProperties":true,"description":"One call of a chained write: its own transaction request id (readable alone), its queue state (COMPLETED landed on chain; FAILED and CANCELLED did not; DEAD_LETTER may still land, so read the request's mayStillLand), its hash once broadcast, and its failure text."}},"mayStillLand":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"contractError":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Stable catalog code for the decoded contract revert, such as DALP-1106."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Decoded revert arguments as raw base-unit strings, keyed by the catalog template name."},"why":{"type":"string","description":"Explanation of why the contract reverted."},"message":{"type":"string","description":"Short headline for the contract revert."},"fix":{"type":"string","description":"Suggested next action when the catalog entry provides one."}},"required":["id","args","why","message"],"additionalProperties":true},{"type":"null"}],"description":"Decoded catalog revert, present only after an async-settled failure maps to a catalog entry."},"activeRequirement":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the open funding requirement."},"role":{"type":"string","description":"Which wallet the chain refused, in operator terms. For a day-two write this is `queued-write-eoa`."},"subjectOwner":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Whose wallet must be funded: `caller`, `organisation`, or `platform`. Null for rows recorded before ownership was tracked."},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chain the refused broadcast targeted."},"address":{"type":"string","description":"Address whose balance settles the ask."},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency."},"symbol":{"type":"string","description":"Ticker of the chain's native currency."},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Decimal places that scale a base-unit amount into a display amount."}},"required":["name","symbol","decimals"],"additionalProperties":true,"description":"The currency both amounts below are denominated in, when the caller may read them."},"shortfall":{"type":"string","description":"What the refused operation itself needs, in base units, as a decimal integer string. Absent unless one of the caller's wallets signed the request or the caller holds a repair role."},"recommendedTotal":{"type":"string","description":"What to send, in base units, including any ongoing-ops allowance the gate advised. Absent unless one of the caller's wallets signed the request or the caller holds a repair role."}},"required":["id","role","subjectOwner","chainId","address","nativeCurrency"],"additionalProperties":true},{"type":"null"}],"description":"The open gas funding requirement blocking this request, when one exists."},"activeRequirementUnavailable":{"type":"boolean","description":"True when the funding requirement could not be read, so `activeRequirement` reports nothing."},"custodyApproval":{"type":"object","properties":{"provider":{"type":"string","enum":["dfns","fireblocks","luna","ripple","utila"]},"providerIdentity":{"type":"string","enum":["dfns","fireblocks","luna","ripple","utila","ibm-haven"],"description":"The provider the configuration holding the request was added as: `provider`, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven. Name the provider to a user by this value."},"approvalReference":{"type":"string","description":"The provider's own reference for the held request, as its approval console shows it."},"expiresAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"approvals":{"type":"object","properties":{"approved":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["approved","required"],"additionalProperties":true,"description":"The approvals the provider has counted so far and the number it needs, as it last reported them. Absent until the provider reports a count."},"progress":{"type":"string","description":"The approval progress as English text: the count in `approvals` as \"N of M approved\", or, while `leftOpen` is true, why the request is still open at the provider. Absent when there is neither."},"leftOpen":{"type":"boolean","description":"True once `expiresAt` passed at a provider that cannot withdraw the request: the request is still open there and an approver must reject it in the provider's approval console. Absent otherwise."},"withdrawable":{"type":"boolean","description":"True when cancelling the transaction withdraws this request. DALP withdraws it at the custody provider, or ends it in DALP when the request waits for approval there. False when an approver must reject it in the provider's approval console instead."},"cancelRequested":{"type":"boolean","description":"True once someone cancelled the transaction and DALP asked the custody provider to withdraw this request. The request ends when the provider confirms the withdrawal. Until then an approver can still approve it. Absent when nobody cancelled the transaction, and again once the provider refused to withdraw the request."}},"required":["provider","providerIdentity","approvalReference","expiresAt","withdrawable"],"additionalProperties":true,"description":"The custody approval this request waits on while a custody provider holds it, with `provider` naming that provider and `providerIdentity` the provider its configuration was added as. Absent when no provider holds it, and absent unless one of the caller's wallets signed the request or the caller holds a repair role."},"custodyApprovalUnavailable":{"type":"boolean","description":"True when the custody approval could not be read, so `custodyApproval` reports nothing. Absent unless one of the caller's wallets signed the request or the caller holds a repair role."},"indexerRebuild":{"anyOf":[{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chain whose history the indexer is replaying."},"blockNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Block the write waits for. The rebuild has to pass it before the request completes."}},"required":["chainId","blockNumber"],"additionalProperties":true},{"type":"null"}],"description":"The indexer rebuild this request is parked on, when one runs."},"indexerRebuildUnavailable":{"type":"boolean","description":"True when the deployment registry could not be read, so `indexerRebuild` reports nothing."}},"required":["family","transactionId","kind","status","subStatus","fromAddress","contractAddress","chainId","transactionHash","blockNumber","errorMessage","createdAt","updatedAt"],"additionalProperties":true},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"submissionId":{"type":"string","minLength":1},"networkIdentity":{"type":"string","minLength":1,"description":"Stable platform network identifier"},"submittingParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"submissionStatus":{"type":"string","enum":["intent","approved","executed","projecting","settled","expired","failed"]},"approvalStatus":{"type":"string","enum":["none","pending","approved","denied"]},"approvalDecidedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvalDecidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"ledgerSubmissionId":{"type":"string"},"settlementOffset":{"type":"string","pattern":"^\\d+$","description":"Canton ledger update offset reference (decimal string)"},"contractId":{"type":"string","minLength":1,"allOf":[{"description":"Contract the settled submission created or rotated, when the operation reports one."}]},"failureReason":{"type":"object","properties":{"category":{"type":"string","enum":["ledger-rejected","approval-denied","approval-expired","no-longer-applies","signing-denied","not-entitled","internal"]},"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1}},"required":["category","code","message"],"additionalProperties":true},"pendingApproval":{"type":"object","properties":{"step":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1}},"required":["step","submissionId"],"additionalProperties":true,"description":"The step of a native instrument creation that waits for its approval, and the child submission to decide through POST /api/v2/wallets/submissions/{submissionId}/decision. Present only once that child is admitted."},"kind":{"type":"string","minLength":1,"allOf":[{"description":"The operation the submission runs, in the same vocabulary as an EVM request's `kind` (for example `token.transfer`). Absent when the submitted Daml choice has no operation name."}]},"instrumentId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument the submitted command names, when it names exactly one."}]},"instrumentAdmin":{"allOf":[{"type":"string","minLength":1,"description":"Canton external party identifier"},{"description":"The admin party of that instrument, when the command names it."}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["family","submissionId","networkIdentity","submittingParty","submissionStatus","approvalStatus","approvalDecidedBy","approvalDecidedAt","createdAt","updatedAt"],"additionalProperties":true}],"examples":[{"family":"evm","transactionId":"019c0000-0000-7000-8000-000000000010","kind":"token.mint","status":"DEAD_LETTER","subStatus":null,"fromAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","contractAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","chainId":11155111,"transactionHash":"0x5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8","blockNumber":null,"errorMessage":"The queue stopped retrying after the call was broadcast.","mayStillLand":true,"createdAt":"2026-04-12T09:30:00.000Z","updatedAt":"2026-04-12T09:42:00.000Z"}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"family":"evm","transactionId":"019c0000-0000-7000-8000-000000000010","kind":"token.mint","status":"DEAD_LETTER","subStatus":null,"fromAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","contractAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","chainId":11155111,"transactionHash":"0x5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8","blockNumber":null,"errorMessage":"The queue stopped retrying after the call was broadcast.","mayStillLand":true,"createdAt":"2026-04-12T09:30:00.000Z","updatedAt":"2026-04-12T09:42:00.000Z"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens an SSE stream of the indexed queue row for `transactionId`. Browser callers must be same-origin or the route answers 404 before any event. The 200 body starts with the current snapshot, then emits again only when the row's state changes, such as `status`, `subStatus`, `transactionHash`, `errorMessage`, or `mayStillLand`. The stream ends on COMPLETED, FAILED, or CANCELLED, and on DEAD_LETTER once `mayStillLand` is not `true`. A DEAD_LETTER row with `mayStillLand: true` can still reach the chain, so the stream stays open. The stream also ends after 180 seconds while the request is still in flight.","summary":"Stream transaction-request status","x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-requests/{transactionId}/transitions":{"post":{"tags":["Transactions"],"operationId":"transactionsV2.transitions","parameters":[{"name":"transactionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The transaction request after the change, with its state, sender, chain, and receipt when present.","content":{"application/json":{"schema":{"anyOf":[{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["cancelled"]},"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"required":["status","transactionId"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["cancellation_pending"]},"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"cancelTransactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"required":["status","transactionId","cancelTransactionId"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["error"]},"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"error":{"type":"string","minLength":1}},"required":["status","transactionId","error"],"additionalProperties":false}],"examples":[{"status":"cancelled","transactionId":"019c0000-0000-7000-8000-000000000010"},{"status":"cancellation_pending","transactionId":"019c0000-0000-7000-8000-000000000010","cancelTransactionId":"019c0000-0000-7000-8000-000000000011"},{"status":"error","transactionId":"019c0000-0000-7000-8000-000000000010","error":"Transaction 019c0000-0000-7000-8000-000000000010 is already COMPLETED and there is nothing left to cancel."}]},{"anyOf":[{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"kind":{"type":"string","minLength":1},"status":{"$ref":"#/components/schemas/TransactionRequestState"},"subStatus":{"anyOf":[{"type":"string"},{"type":"null"}]},"fromAddress":{"$ref":"#/components/schemas/EvmAddress"},"contractAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]},"receipt":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["success","reverted"]},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"blockNumber":{"type":"string"},"blockHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"contractAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"gasUsed":{"type":"string"},"cumulativeGasUsed":{"type":"string","examples":["21000"]},"effectiveGasPrice":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logs":{"type":"array","items":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"topics":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"data":{"$ref":"#/components/schemas/EthereumHexEncoded"},"blockNumber":{"type":"string"},"transactionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address","topics","data","blockNumber","transactionIndex","logIndex"],"additionalProperties":false}}},"required":["status","transactionHash","blockNumber","blockHash","from","to","contractAddress","gasUsed","cumulativeGasUsed","effectiveGasPrice","transactionIndex","logs"],"additionalProperties":false},{"type":"null"}]},"result":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"steps":{"type":"array","items":{"$ref":"#/components/schemas/ExecutionChainStepOutcome"}},"mayStillLand":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["family","transactionId","kind","status","subStatus","fromAddress","contractAddress","chainId","transactionHash","blockNumber","errorMessage","createdAt","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"submissionId":{"type":"string","minLength":1},"networkIdentity":{"$ref":"#/components/schemas/NetworkId"},"submittingParty":{"$ref":"#/components/schemas/CantonPartyId"},"submissionStatus":{"type":"string","enum":["intent","approved","executed","projecting","settled","expired","failed"]},"approvalStatus":{"type":"string","enum":["none","pending","approved","denied"]},"approvalDecidedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvalDecidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"ledgerSubmissionId":{"type":"string"},"settlementOffset":{"$ref":"#/components/schemas/LedgerOffset"},"contractId":{"type":"string","minLength":1,"allOf":[{"description":"Contract the settled submission created or rotated, when the operation reports one."}]},"failureReason":{"type":"object","properties":{"category":{"type":"string","enum":["ledger-rejected","approval-denied","approval-expired","no-longer-applies","signing-denied","not-entitled","internal"]},"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1}},"required":["category","code","message"],"additionalProperties":false},"pendingApproval":{"type":"object","properties":{"step":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1}},"required":["step","submissionId"],"additionalProperties":false,"description":"The step of a native instrument creation that waits for its approval, and the child submission to decide through POST /api/v2/wallets/submissions/{submissionId}/decision. Present only once that child is admitted."},"kind":{"type":"string","minLength":1,"allOf":[{"description":"The operation the submission runs, in the same vocabulary as an EVM request's `kind` (for example `token.transfer`). Absent when the submitted Daml choice has no operation name."}]},"instrumentId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument the submitted command names, when it names exactly one."}]},"instrumentAdmin":{"allOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"description":"The admin party of that instrument, when the command names it."}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["family","submissionId","networkIdentity","submittingParty","submissionStatus","approvalStatus","approvalDecidedBy","approvalDecidedAt","createdAt","updatedAt"],"additionalProperties":false}],"examples":[{"family":"evm","transactionId":"019c0000-0000-7000-8000-000000000010","kind":"token.mint","status":"FAILED","subStatus":null,"fromAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","contractAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","chainId":11155111,"transactionHash":null,"blockNumber":null,"errorMessage":"Stuck behind a replaced nonce; failed by an operator","createdAt":"2026-04-12T09:30:00.000Z","updatedAt":"2026-04-12T09:42:00.000Z"}]}]},"examples":{"example-1":{"value":{"status":"cancelled","transactionId":"019c0000-0000-7000-8000-000000000010"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_CANCEL_CUSTODY_PARKED","TRANSACTION_FORCE_RETRY_CALL_MAY_LAND","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14035","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-200383","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Applies one change to the transaction request in the path. Send `action: cancel` to cancel a request; an EVM request must have been sent from one of your own wallets. Send `action: fail` with a reason to move an active request to FAILED, `action: retry` with a reason and optional gasPrice to requeue a FAILED or DEAD_LETTER request, or `action: nonce` with a reason and nonce to advance the sender lane. These three repairs need the owner or admin role in the organization, or platform administrator access. For any other caller, and for a cancel of a request another wallet sent, the route answers as if the request did not exist. Poll the status route after a retry until the new attempt settles.","summary":"Repair a transaction request","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["cancel"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["fail"]},"reason":{"type":"string","minLength":1},"takerChecked":{"type":"string","enum":["other-call","same-call"],"description":"The operator's reading of the transaction that took a dead letter's nonce, for a taker the queue cannot compare with the call. other-call: the taker does not carry this call, so the request closes as FAILED. same-call: the taker carries this call, so the fail action does not fail the request: it stays DEAD_LETTER with the taker's hash, and the finish sweep settles it from that receipt as COMPLETED, or as FAILED when the taker reverted. Send takerHash, the hash of the taker the operator read, with either verdict. While the queue cannot compare the taker, the server refuses a verdict whose takerHash is missing or differs from the taker it reads now. When the queue can compare the taker, it ignores takerHash, and it refuses same-call for a taker that it reads as a different call. takerHash has no effect without takerChecked. same-call is also refused for a request filed with a custody provider, and for a request that changed while it was checked."},"takerHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["action","reason"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["retry"]},"gasPrice":{"type":"string"},"reason":{"type":"string","minLength":1},"custodianStopped":{"type":"boolean","description":"Operator attestation: set true only after independently confirming the original call was stopped (with the provider for custody calls). DALP does not verify the stop. Applies only when the chain does not show the call and no nonce reservation or recorded submitted nonce remains; never overrides a visible call, an unresolved nonce slot or signed-reservation checks."}},"required":["action","reason"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["nonce"]},"nonce":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reason":{"type":"string","minLength":1}},"required":["action","nonce","reason"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-preparations":{"post":{"tags":["Transactions"],"operationId":"transactionPreparationsV2.prepare","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The durable transaction preparation and whether this request replayed an existing result.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionPreparationId"},"authorizingCustodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"chainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"executor":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmTransactionExecutor"]},"ledger":{"type":"string","enum":["evm"]},"kind":{"type":"string","enum":["eoa","smart-account"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","ledger","kind","address","walletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonTransactionExecutor"]},"ledger":{"type":"string","enum":["canton"]},"kind":{"type":"string","enum":["party"]},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","kind","partyId"],"additionalProperties":false}]},"ledgerSource":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmLedgerSource"]},"ledger":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","ledger","address","walletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonLedgerSource"]},"ledger":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","accountLocator","partyId"],"additionalProperties":false}]},"operation":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"value":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)$"},"speed":{"type":"string","minLength":1},"contractType":{"type":"string","minLength":1},"orderingScope":{"type":"string","enum":["transaction","group","wallet"]},"orderingKey":{"type":"string","minLength":1},"additionalCalls":{"type":"array","items":{"type":"object","properties":{"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["contractAddress","callData"],"additionalProperties":false}}},"required":["kind","contractAddress","callData"],"additionalProperties":false},"predecessorId":{"$ref":"#/components/schemas/TransactionPreparationId"},"operationDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preparationDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preparedUserOperation":{"anyOf":[{"type":"object","properties":{"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"previewData":{"type":"object","properties":{"reservationId":{"type":"string","minLength":1},"nonceKey":{"$ref":"#/components/schemas/EthereumHexEncoded"},"nonce":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"verificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preVerificationGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterVerificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterPostOpGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxPriorityFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"encodedCallData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"sender":{"$ref":"#/components/schemas/EvmAddress"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["reservationId","nonceKey","nonce","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","encodedCallData"],"additionalProperties":false}},"required":["userOperationHash","previewData"],"additionalProperties":false},{"type":"null"}]},"summary":{"type":"string","minLength":1},"signingMethod":{"type":"string","enum":["managed","eip-1193-transaction","eip-4337-user-operation","eip-712-typed-message"]},"state":{"type":"string","enum":["prepared","submission-claimed","consumed","expired"]},"submissionKind":{"anyOf":[{"type":"string","enum":["provider-handle","eip-1193"]},{"type":"null"}]},"providerHandle":{"anyOf":[{"type":"string"},{"type":"null"}]},"authorizationArtifact":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["ManagedTransactionAuthorization"]},"kind":{"type":"string","enum":["managed"]}},"required":["_tag","kind"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip1193TransactionAuthorization"]},"kind":{"type":"string","enum":["eip-1193-transaction"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"nonce":{"type":"integer","minimum":0,"maximum":9007199254740991},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]}},"required":["_tag","kind","sender","chainId","nonce","transactionHash"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip4337UserOperationAuthorization"]},"kind":{"type":"string","enum":["eip-4337-user-operation"]},"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","userOperationHash","signature"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["TypedMessageAuthorization"]},"kind":{"type":"string","enum":["eip-712-typed-message"]},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","signature"],"additionalProperties":false},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","authorizingCustodyAccountId","providerConfigurationId","ledger","network","chainId","executor","ledgerSource","operation","operationDigest","preparationDigest","preparedUserOperation","summary","signingMethod","state","submissionKind","providerHandle","authorizationArtifact","transactionRequestId","expiresAt","createdAt","updatedAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","authorizingCustodyAccountId":"00000000-0000-7000-8000-000000000000","providerConfigurationId":"00000000-0000-7000-8000-000000000000","ledger":"evm","network":"example","chainId":11155111,"executor":{"_tag":"EvmTransactionExecutor","ledger":"evm","kind":"eoa","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example"},"ledgerSource":{"_tag":"EvmLedgerSource","ledger":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example"},"operation":{"kind":"example","contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callData":"0x5208","value":"0","speed":"example","contractType":"example","orderingScope":"transaction","orderingKey":"example","additionalCalls":[{"contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callData":"0x5208"}]},"predecessorId":"example","operationDigest":"0x5208","preparationDigest":"0x5208","preparedUserOperation":{"userOperationHash":"0x5208","previewData":{"reservationId":"example","nonceKey":"0x5208","nonce":"0x5208","callGasLimit":"0x5208","verificationGasLimit":"0x5208","preVerificationGas":"0x5208","paymasterVerificationGasLimit":"0x5208","paymasterPostOpGasLimit":"0x5208","maxFeePerGas":"0x5208","maxPriorityFeePerGas":"0x5208","encodedCallData":"0x5208","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","entryPointAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":1,"factory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryData":"0x5208","paymaster":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paymasterData":"0x5208"}},"summary":"example","signingMethod":"managed","state":"prepared","submissionKind":"provider-handle","providerHandle":"example","authorizationArtifact":{"_tag":"ManagedTransactionAuthorization","kind":"managed"},"transactionRequestId":"00000000-0000-7000-8000-000000000000","expiresAt":"example","createdAt":"example","updatedAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_BINDING_CONFLICT","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14033","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_PREPARATION_ACCOUNT_INELIGIBLE","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14032","DALP-14034","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Selects the exact custody account, executor, source, signing method, operation digest, and expiry for one EVM operation.","summary":"Prepare an account-authorized transaction","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"executionMode":{"type":"string","enum":["prefer-aa","direct"]},"summary":{"type":"string","minLength":1},"operation":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"value":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)$"},"speed":{"type":"string","minLength":1},"contractType":{"type":"string","minLength":1},"orderingScope":{"type":"string","enum":["transaction","group","wallet"]},"orderingKey":{"type":"string","minLength":1}},"required":["kind","contractAddress","callData"],"additionalProperties":false}},"required":["custodyAccountId","executionMode","summary","operation"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-preparations/{preparationId}":{"get":{"tags":["Transactions"],"operationId":"transactionPreparationsV2.read","parameters":[{"name":"preparationId","in":"path","schema":{"type":"string","minLength":1,"description":"Server-prepared transaction authorization identifier","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The current durable state of one transaction preparation.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionPreparationId"},"authorizingCustodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"chainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"executor":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmTransactionExecutor"]},"ledger":{"type":"string","enum":["evm"]},"kind":{"type":"string","enum":["eoa","smart-account"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","ledger","kind","address","walletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonTransactionExecutor"]},"ledger":{"type":"string","enum":["canton"]},"kind":{"type":"string","enum":["party"]},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","kind","partyId"],"additionalProperties":false}]},"ledgerSource":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmLedgerSource"]},"ledger":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","ledger","address","walletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonLedgerSource"]},"ledger":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","accountLocator","partyId"],"additionalProperties":false}]},"operation":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"value":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)$"},"speed":{"type":"string","minLength":1},"contractType":{"type":"string","minLength":1},"orderingScope":{"type":"string","enum":["transaction","group","wallet"]},"orderingKey":{"type":"string","minLength":1},"additionalCalls":{"type":"array","items":{"type":"object","properties":{"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["contractAddress","callData"],"additionalProperties":false}}},"required":["kind","contractAddress","callData"],"additionalProperties":false},"predecessorId":{"$ref":"#/components/schemas/TransactionPreparationId"},"operationDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preparationDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preparedUserOperation":{"anyOf":[{"type":"object","properties":{"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"previewData":{"type":"object","properties":{"reservationId":{"type":"string","minLength":1},"nonceKey":{"$ref":"#/components/schemas/EthereumHexEncoded"},"nonce":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"verificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preVerificationGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterVerificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterPostOpGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxPriorityFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"encodedCallData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"sender":{"$ref":"#/components/schemas/EvmAddress"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["reservationId","nonceKey","nonce","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","encodedCallData"],"additionalProperties":false}},"required":["userOperationHash","previewData"],"additionalProperties":false},{"type":"null"}]},"summary":{"type":"string","minLength":1},"signingMethod":{"type":"string","enum":["managed","eip-1193-transaction","eip-4337-user-operation","eip-712-typed-message"]},"state":{"type":"string","enum":["prepared","submission-claimed","consumed","expired"]},"submissionKind":{"anyOf":[{"type":"string","enum":["provider-handle","eip-1193"]},{"type":"null"}]},"providerHandle":{"anyOf":[{"type":"string"},{"type":"null"}]},"authorizationArtifact":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["ManagedTransactionAuthorization"]},"kind":{"type":"string","enum":["managed"]}},"required":["_tag","kind"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip1193TransactionAuthorization"]},"kind":{"type":"string","enum":["eip-1193-transaction"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"nonce":{"type":"integer","minimum":0,"maximum":9007199254740991},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]}},"required":["_tag","kind","sender","chainId","nonce","transactionHash"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip4337UserOperationAuthorization"]},"kind":{"type":"string","enum":["eip-4337-user-operation"]},"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","userOperationHash","signature"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["TypedMessageAuthorization"]},"kind":{"type":"string","enum":["eip-712-typed-message"]},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","signature"],"additionalProperties":false},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","authorizingCustodyAccountId","providerConfigurationId","ledger","network","chainId","executor","ledgerSource","operation","operationDigest","preparationDigest","preparedUserOperation","summary","signingMethod","state","submissionKind","providerHandle","authorizationArtifact","transactionRequestId","expiresAt","createdAt","updatedAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","authorizingCustodyAccountId":"00000000-0000-7000-8000-000000000000","providerConfigurationId":"00000000-0000-7000-8000-000000000000","ledger":"evm","network":"example","chainId":11155111,"executor":{"_tag":"EvmTransactionExecutor","ledger":"evm","kind":"eoa","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example"},"ledgerSource":{"_tag":"EvmLedgerSource","ledger":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example"},"operation":{"kind":"example","contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callData":"0x5208","value":"0","speed":"example","contractType":"example","orderingScope":"transaction","orderingKey":"example","additionalCalls":[{"contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callData":"0x5208"}]},"predecessorId":"example","operationDigest":"0x5208","preparationDigest":"0x5208","preparedUserOperation":{"userOperationHash":"0x5208","previewData":{"reservationId":"example","nonceKey":"0x5208","nonce":"0x5208","callGasLimit":"0x5208","verificationGasLimit":"0x5208","preVerificationGas":"0x5208","paymasterVerificationGasLimit":"0x5208","paymasterPostOpGasLimit":"0x5208","maxFeePerGas":"0x5208","maxPriorityFeePerGas":"0x5208","encodedCallData":"0x5208","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","entryPointAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":1,"factory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryData":"0x5208","paymaster":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paymasterData":"0x5208"}},"summary":"example","signingMethod":"managed","state":"prepared","submissionKind":"provider-handle","providerHandle":"example","authorizationArtifact":{"_tag":"ManagedTransactionAuthorization","kind":"managed"},"transactionRequestId":"00000000-0000-7000-8000-000000000000","expiresAt":"example","createdAt":"example","updatedAt":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","TRANSACTION_PREPARATION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-14031","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_BINDING_CONFLICT","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14033","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_PREPARATION_ACCOUNT_INELIGIBLE","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14032","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the immutable authorization facts and current submission state for one preparation in the authenticated user and organization scope.","summary":"Read a transaction preparation","x-dalp-auth":"session-or-api-key"}},"/api/v2/transaction-preparations/{preparationId}/transitions":{"post":{"tags":["Transactions"],"operationId":"transactionPreparationsV2.transitions","parameters":[{"name":"preparationId","in":"path","schema":{"type":"string","minLength":1,"description":"Server-prepared transaction authorization identifier","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The transaction preparation with its authorizing account, executor, and current state.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TransactionPreparationId"},"authorizingCustodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"chainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"executor":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmTransactionExecutor"]},"ledger":{"type":"string","enum":["evm"]},"kind":{"type":"string","enum":["eoa","smart-account"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","ledger","kind","address","walletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonTransactionExecutor"]},"ledger":{"type":"string","enum":["canton"]},"kind":{"type":"string","enum":["party"]},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","kind","partyId"],"additionalProperties":false}]},"ledgerSource":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["EvmLedgerSource"]},"ledger":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"}},"required":["_tag","ledger","address","walletId"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["CantonLedgerSource"]},"ledger":{"type":"string","enum":["canton"]},"accountLocator":{"type":"string","minLength":1},"partyId":{"type":"string","minLength":1}},"required":["_tag","ledger","accountLocator","partyId"],"additionalProperties":false}]},"operation":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"value":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)$"},"speed":{"type":"string","minLength":1},"contractType":{"type":"string","minLength":1},"orderingScope":{"type":"string","enum":["transaction","group","wallet"]},"orderingKey":{"type":"string","minLength":1},"additionalCalls":{"type":"array","items":{"type":"object","properties":{"contractAddress":{"$ref":"#/components/schemas/EvmAddress"},"callData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["contractAddress","callData"],"additionalProperties":false}}},"required":["kind","contractAddress","callData"],"additionalProperties":false},"predecessorId":{"$ref":"#/components/schemas/TransactionPreparationId"},"operationDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preparationDigest":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preparedUserOperation":{"anyOf":[{"type":"object","properties":{"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"previewData":{"type":"object","properties":{"reservationId":{"type":"string","minLength":1},"nonceKey":{"$ref":"#/components/schemas/EthereumHexEncoded"},"nonce":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"verificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preVerificationGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterVerificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterPostOpGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxPriorityFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"encodedCallData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"sender":{"$ref":"#/components/schemas/EvmAddress"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["reservationId","nonceKey","nonce","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","encodedCallData"],"additionalProperties":false}},"required":["userOperationHash","previewData"],"additionalProperties":false},{"type":"null"}]},"summary":{"type":"string","minLength":1},"signingMethod":{"type":"string","enum":["managed","eip-1193-transaction","eip-4337-user-operation","eip-712-typed-message"]},"state":{"type":"string","enum":["prepared","submission-claimed","consumed","expired"]},"submissionKind":{"anyOf":[{"type":"string","enum":["provider-handle","eip-1193"]},{"type":"null"}]},"providerHandle":{"anyOf":[{"type":"string"},{"type":"null"}]},"authorizationArtifact":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["ManagedTransactionAuthorization"]},"kind":{"type":"string","enum":["managed"]}},"required":["_tag","kind"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip1193TransactionAuthorization"]},"kind":{"type":"string","enum":["eip-1193-transaction"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"nonce":{"type":"integer","minimum":0,"maximum":9007199254740991},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]}},"required":["_tag","kind","sender","chainId","nonce","transactionHash"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip4337UserOperationAuthorization"]},"kind":{"type":"string","enum":["eip-4337-user-operation"]},"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","userOperationHash","signature"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["TypedMessageAuthorization"]},"kind":{"type":"string","enum":["eip-712-typed-message"]},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","signature"],"additionalProperties":false},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"expiresAt":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","authorizingCustodyAccountId","providerConfigurationId","ledger","network","chainId","executor","ledgerSource","operation","operationDigest","preparationDigest","preparedUserOperation","summary","signingMethod","state","submissionKind","providerHandle","authorizationArtifact","transactionRequestId","expiresAt","createdAt","updatedAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","authorizingCustodyAccountId":"00000000-0000-7000-8000-000000000000","providerConfigurationId":"00000000-0000-7000-8000-000000000000","ledger":"evm","network":"example","chainId":11155111,"executor":{"_tag":"EvmTransactionExecutor","ledger":"evm","kind":"eoa","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example"},"ledgerSource":{"_tag":"EvmLedgerSource","ledger":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example"},"operation":{"kind":"example","contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callData":"0x5208","value":"0","speed":"example","contractType":"example","orderingScope":"transaction","orderingKey":"example","additionalCalls":[{"contractAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callData":"0x5208"}]},"predecessorId":"example","operationDigest":"0x5208","preparationDigest":"0x5208","preparedUserOperation":{"userOperationHash":"0x5208","previewData":{"reservationId":"example","nonceKey":"0x5208","nonce":"0x5208","callGasLimit":"0x5208","verificationGasLimit":"0x5208","preVerificationGas":"0x5208","paymasterVerificationGasLimit":"0x5208","paymasterPostOpGasLimit":"0x5208","maxFeePerGas":"0x5208","maxPriorityFeePerGas":"0x5208","encodedCallData":"0x5208","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","entryPointAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":1,"factory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryData":"0x5208","paymaster":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paymasterData":"0x5208"}},"summary":"example","signingMethod":"managed","state":"prepared","submissionKind":"provider-handle","providerHandle":"example","authorizationArtifact":{"_tag":"ManagedTransactionAuthorization","kind":"managed"},"transactionRequestId":"00000000-0000-7000-8000-000000000000","expiresAt":"example","createdAt":"example","updatedAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PAYMASTER_SPONSORSHIP_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14245","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","TRANSACTION_PREPARATION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-14031","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_CANCELLATION_REFUSED","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","TRANSACTION_PREPARATION_BINDING_CONFLICT","TRANSACTION_PREPARATION_CLAIM_CONFLICT","TRANSACTION_PREPARATION_PREDECESSOR_FAILED","TRANSACTION_PREPARATION_PREDECESSOR_PENDING","TRANSACTION_PREPARATION_PREIMAGE_MISMATCH","TRANSACTION_STATE_CONFLICT","TRANSACTION_WORKFLOW_OWNED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14029","DALP-14033","DALP-14236","DALP-14237","DALP-14238","DALP-14239","DALP-14240","DALP-14241","DALP-14429","DALP-14430","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["TRANSACTION_PREPARATION_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12012"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TRANSACTION_PREPARATION_EXPIRED","status":410,"message":"The transaction preparation has expired","data":{"id":"DALP-12012","why":"The authorization window ended before the prepared operation was finalized.","fix":"Prepare the operation again and authorize the new preparation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["AA_VALIDATION_FAILED","AA_VALIDATION_FAILED_RETRYABLE","CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_PREPARATION_ACCOUNT_INELIGIBLE","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14032","DALP-14242","DALP-14243","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AA_VALIDATION_FAILED","status":422,"message":"The user operation failed ERC-4337 validation","data":{"id":"DALP-14243","why":"The bundler or entry point refused the user operation with an AA code that resubmitting the same operation cannot clear.","fix":"Simulate the user operation to read its AA code, correct the factory, account or paymaster the code names, then build a new user operation.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY","exec.queue.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12105","DALP-12307","DALP-14747"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Applies one lifecycle transition to the transaction preparation in the path. Set `action` to `claim`, `abandon`, `attach`, or `finalize`; provide the action-specific `claim`, `attachment`, or `artifact` object when required. The platform returns the preparation in its current state.","summary":"Advance a transaction preparation","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["claim"]},"claim":{"anyOf":[{"type":"object","properties":{"submissionKind":{"type":"string","enum":["provider-handle"]},"claimKey":{"type":"string","minLength":1}},"required":["submissionKind","claimKey"],"additionalProperties":false},{"type":"object","properties":{"submissionKind":{"type":"string","enum":["eip-1193"]},"claimKey":{"type":"string","minLength":1},"sender":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"nonce":{"type":"integer","minimum":0,"maximum":9007199254740991},"to":{"$ref":"#/components/schemas/EvmAddress"},"value":{"type":"string","pattern":"^(?:0|[1-9][0-9]*)$"},"data":{"$ref":"#/components/schemas/EthereumHexEncoded"},"startBlock":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["submissionKind","claimKey","sender","chainId","nonce","to","value","data","startBlock"],"additionalProperties":false}]}},"required":["action","claim"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["abandon"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["attach"]},"attachment":{"anyOf":[{"type":"object","properties":{"claimKey":{"type":"string","minLength":1},"providerHandle":{"type":"string","minLength":1}},"required":["claimKey","providerHandle"],"additionalProperties":false},{"type":"object","properties":{"preparedUserOperation":{"type":"object","properties":{"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"previewData":{"type":"object","properties":{"reservationId":{"type":"string","minLength":1},"nonceKey":{"$ref":"#/components/schemas/EthereumHexEncoded"},"nonce":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"verificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"preVerificationGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterVerificationGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymasterPostOpGasLimit":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"maxPriorityFeePerGas":{"$ref":"#/components/schemas/EthereumHexEncoded"},"encodedCallData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"sender":{"$ref":"#/components/schemas/EvmAddress"},"entryPointAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"factory":{"$ref":"#/components/schemas/EvmAddress"},"factoryData":{"$ref":"#/components/schemas/EthereumHexEncoded"},"paymaster":{"$ref":"#/components/schemas/EvmAddress"},"paymasterData":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["reservationId","nonceKey","nonce","callGasLimit","verificationGasLimit","preVerificationGas","maxFeePerGas","maxPriorityFeePerGas","encodedCallData"],"additionalProperties":false}},"required":["userOperationHash","previewData"],"additionalProperties":false}},"required":["preparedUserOperation"],"additionalProperties":false}]}},"required":["action","attachment"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["finalize"]},"artifact":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["ManagedTransactionAuthorization"]},"kind":{"type":"string","enum":["managed"]}},"required":["_tag","kind"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip1193TransactionAuthorization"]},"kind":{"type":"string","enum":["eip-1193-transaction"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"nonce":{"type":"integer","minimum":0,"maximum":9007199254740991},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]}},"required":["_tag","kind","sender","chainId","nonce","transactionHash"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Eip4337UserOperationAuthorization"]},"kind":{"type":"string","enum":["eip-4337-user-operation"]},"userOperationHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","userOperationHash","signature"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["TypedMessageAuthorization"]},"kind":{"type":"string","enum":["eip-712-typed-message"]},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["_tag","kind","signature"],"additionalProperties":false}]}},"required":["action","artifact"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/paymasters":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"address":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed system paymasters on the selected chain. Sort defaults to createdAt descending. The call does not query the chain.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"},"enabled":{"type":"boolean"},"deposit":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The paymaster's EntryPoint deposit, in wei. Null until the deposit is indexed."},"signerState":{"type":"string","enum":["ready","rotation-pending","degraded"]}},"required":["organizationId","chainId","address","enabled","deposit","signerState"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"organizationId":"example","chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","enabled":false,"deposit":"0","signerState":"ready"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/paymasters?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/paymasters?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/paymasters?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","exec.secrets.SLOT_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14091","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed system paymasters on the selected chain. Sort defaults to createdAt descending. The call does not query the chain.","summary":"List system paymasters","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/paymasters/config":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterConfigRead","parameters":[],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"enabled":false},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the organization paymaster policy: whether later user operations are sponsored. The value comes from organization settings, not from the chain.","summary":"Read paymaster configuration","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterConfig","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"enabled":false},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-14246","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PAYMASTER_SPONSORSHIP_UNAVAILABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14040","DALP-14237","DALP-14238","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXECUTION_FUNDING_REQUIRED","status":422,"message":"Execution ended before its paying account was funded","data":{"id":"DALP-14244","why":"The account that pays for this execution held too little. The execution waited for funding, and it ended when the pause was declined, a waiting window closed, or its re-broadcasts ran out.","fix":"Fund the paying account under Organisation settings, Transaction funding, then send the write again with a new idempotency key.","retryable":true,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12104","DALP-12269","DALP-12307","DALP-14747","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the organization paymaster policy and returns the stored value immediately. Send the full configuration. The new policy applies to later user operations, not to operations already in flight.","summary":"Update paymaster configuration","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["enabled"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/paymasters/{address}/deposits":{"post":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterDeposit","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL.","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"},"enabled":{"type":"boolean"},"deposit":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The paymaster's EntryPoint deposit, in wei. Null until the deposit is indexed."},"signerState":{"type":"string","enum":["ready","rotation-pending","degraded"]}},"required":["organizationId","chainId","address","enabled","deposit","signerState"],"additionalProperties":false},"examples":{"example-1":{"value":{"organizationId":"example","chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","enabled":false,"deposit":"0","signerState":"ready"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OIDC_MFA_INVALID","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0659","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_PAYMASTER_NOT_FOUND_ADDRESS_INDEXED_LIST_AVAILABLE_PAYMASTERS_VIA_GET","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0283","DALP-0383","DALP-12296","DALP-14246","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14237","DALP-14238","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXECUTION_FUNDING_REQUIRED","status":422,"message":"Execution ended before its paying account was funded","data":{"id":"DALP-14244","why":"The account that pays for this execution held too little. The execution waited for funding, and it ended when the pause was declined, a waiting window closed, or its re-broadcasts ran out.","fix":"Fund the paying account under Organisation settings, Transaction funding, then send the write again with a new idempotency key.","retryable":true,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12104","DALP-12269","DALP-12307","DALP-14747","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that adds native funds to the paymaster at `address`.","summary":"Fund a paymaster deposit","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"amount":{"type":"string","pattern":"^[1-9][0-9]*$"},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0283"]}},"/api/v2/system/paymasters/{address}/balance":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterBalance","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"depositBalance":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The paymaster's EntryPoint deposit, in wei, as a decimal string. Null until the deposit is indexed.","examples":["8500000000000000000"]}},"required":["address","depositBalance"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","depositBalance":"8500000000000000000"},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_PAYMASTER_NOT_FOUND_ADDRESS_INDEXED_LIST_AVAILABLE_PAYMASTERS_VIA_GET_V2","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0284","DALP-12296","DALP-14246","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","exec.secrets.SLOT_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14091","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexed EntryPoint deposit held by the paymaster at `address`. Repeat the call after a deposit if the balance was too low.","summary":"Read a paymaster balance","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0284"]}},"/api/v2/system/paymasters/{address}/signer-key/rotate":{"post":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterRotateKey","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["none"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["pending"]},"requestedAt":{"type":"string"}},"required":["state","requestedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["promoted"]},"signerAddress":{"$ref":"#/components/schemas/EvmAddress"},"promotedAt":{"type":"string"}},"required":["state","signerAddress","promotedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["active"],"description":"The paymaster still signs with the signer it was deployed with; no rotation has been recorded."},"signerAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["state","signerAddress"],"additionalProperties":false}]},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"state":"none"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OIDC_MFA_INVALID","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0659","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_PAYMASTER_SPONSORSHIP_NOT_FOUND_ADDRESS","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0285","DALP-12296","DALP-14246","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PAYMASTER_SIGNER_NOT_STAGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14083","DALP-14237","DALP-14238","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","PAYMASTER_SIGNER_UNRESOLVED","PAYMASTER_SIGNING_BINDING_MISSING","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14082","DALP-14244","DALP-14450","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXECUTION_FUNDING_REQUIRED","status":422,"message":"Execution ended before its paying account was funded","data":{"id":"DALP-14244","why":"The account that pays for this execution held too little. The execution waited for funding, and it ended when the pause was declined, a waiting window closed, or its re-broadcasts ran out.","fix":"Fund the paying account under Organisation settings, Transaction funding, then send the write again with a new idempotency key.","retryable":true,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12104","DALP-12269","DALP-12307","DALP-14747","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that replaces the signer key for the paymaster at `address`.","summary":"Rotate a paymaster signer key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MutationInput"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0285"]}},"/api/v2/system/paymasters/{address}/signer-key/status":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.paymasterRotationStatus","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["none"]}},"required":["state"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["pending"]},"requestedAt":{"type":"string"}},"required":["state","requestedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["promoted"]},"signerAddress":{"$ref":"#/components/schemas/EvmAddress"},"promotedAt":{"type":"string"}},"required":["state","signerAddress","promotedAt"],"additionalProperties":false},{"type":"object","properties":{"state":{"type":"string","enum":["active"],"description":"The paymaster still signs with the signer it was deployed with; no rotation has been recorded."},"signerAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["state","signerAddress"],"additionalProperties":false}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"state":"none"},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_PAYMASTER_SPONSORSHIP_NOT_FOUND_ADDRESS","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0285","DALP-12296","DALP-14246","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_SIGNER_UNRESOLVED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14450"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PAYMASTER_SIGNER_UNRESOLVED","status":422,"message":"The paymaster signer cannot be used for this request","data":{"id":"DALP-14450","why":"Custody refused or could not provide the signing wallet bound to this paymaster, and the same request fails again until that changes.","fix":"Resolve the custody refusal (account active, approvals decided) or rotate the paymaster signer, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","exec.secrets.SLOT_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14091","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the public address of the active paymaster signer key and when it was last rotated. The private key is never returned. Null fields mean no signer is configured.","summary":"Read paymaster signer-key status","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0285"]}},"/api/v2/system/payers/{address}/withdrawable":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.payerWithdrawable","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"destination","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"The wallet's balance, the reserve it keeps for the transfer, and the withdrawable amount, all in wei as decimal strings.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PayerWithdrawable"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"payerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"500000000000000000","reserve":"1050000000000000","inFlightReserve":"0","withdrawable":"498950000000000000"},"links":{"self":"/api/v2/system/payers/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/withdrawable"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14025","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYER_DESTINATION_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14028"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PAYER_DESTINATION_REFUSED","status":422,"message":"0xabababababababababababababababababababab cannot receive this withdrawal","data":{"id":"DALP-14028","why":"The destination is the zero address, the wallet the funds would leave, or an address that reverts a plain native transfer.","fix":"Name a different destination address.","retryable":false,"category":"client","destination":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the live native balance of the organization's relayer, bundler or operator wallet at `address`, or the live EntryPoint deposit when `address` is its paymaster, the reserve it keeps to pay for a withdrawal (including a replacement at a raised fee), and the most a withdrawal can move now. A paymaster keeps no reserve: the selected account's signing key pays for its withdrawal. Pass `destination` to price the reserve for a transfer to that address, which costs more when it is a contract. A destination that cannot receive the withdrawal is refused. Repeating the request is safe.","summary":"Read how much can be withdrawn from a payer wallet","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-14025","DALP-14028"]}},"/api/v2/system/payers/{address}/withdrawals":{"post":{"tags":["Transaction funding"],"operationId":"systemAaV2.payerWithdraw","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The withdrawal once the transfer settled within the request wait window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayerWithdrawal"},"examples":{"example-1":{"value":{"payerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","destination":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OIDC_MFA_INVALID","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0659","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14025","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14237","DALP-14238","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","PAYER_DESTINATION_REFUSED","PAYER_WITHDRAWAL_EXCEEDS_AVAILABLE","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14027","DALP-14028","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXECUTION_FUNDING_REQUIRED","status":422,"message":"Execution ended before its paying account was funded","data":{"id":"DALP-14244","why":"The account that pays for this execution held too little. The execution waited for funding, and it ended when the pause was declined, a waiting window closed, or its re-broadcasts ran out.","fix":"Fund the paying account under Organisation settings, Transaction funding, then send the write again with a new idempotency key.","retryable":true,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12104","DALP-12307","DALP-14747","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a transfer of `amount` wei from the organization's relayer, bundler or operator wallet at `address` to `destination`. The wallet signs and pays for the transfer itself. When `address` is the organization's paymaster, the transfer comes out of its EntryPoint deposit, and the selected account's signing key signs and pays for it; that key must hold the System Manager role. Requires the admin role and a wallet verification. The amount cannot exceed the withdrawable amount the matching GET returns.","summary":"Withdraw native funds from a payer wallet","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"destination":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^(?:all|[1-9][0-9]*)$","description":"The amount to withdraw, in wei, as a decimal string, or `all` to withdraw everything withdrawable when the request is handled. A settled response states the amount moved; a queued response carries the transaction to follow instead.","examples":["250000000000000000","all"]},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["destination","amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-14025","DALP-14027","DALP-14028"]}},"/api/v2/system/bundler/status":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.bundlerStatus","parameters":[],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BundlerStatus"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the configured bundler wallet address for the organization, or null when none is stored. This is an organization setting, not a live chain probe.","summary":"Read bundler status","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/bundler/balance":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.bundlerBalance","parameters":[],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BundlerBalance"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"example","nativeTokenSymbol":"ETH","nativeTokenDecimals":0},"links":{"self":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the live native balance of the configured bundler wallet on the selected chain. Repeat the call after a deposit if the balance was too low.","summary":"Read bundler balance","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/refund-splitter":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.splitterStatus","parameters":[],"responses":{"200":{"description":"Single-resource envelope. `data` is the item. `links.self` is its canonical URL. Used for reads and for mutations that return the resource immediately.","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Refund splitter addressed for the organization on this chain. Null when none is configured or its chain is inactive."},"balance":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Splitter balance, in wei, from the newest runway snapshot. Null until a snapshot exists."},"warnDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"criticalDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"bps":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Refund share in basis points, as indexed. Null until the splitter's state is indexed."},"sponsorshipEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the splitter sponsors user operations, as indexed. Null until the splitter's state is indexed."}},"required":["organizationId","chainId","address","balance","warnDays","criticalDays","bps","sponsorshipEnabled"],"additionalProperties":false},"examples":{"example-1":{"value":{"organizationId":"example","chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","warnDays":1,"criticalDays":1,"bps":0,"sponsorshipEnabled":false}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the refund splitter on the selected chain: its address, live balance, refund share in basis points, sponsorship flag, and the stored low and critical runway thresholds. Repeat the call after a deposit or policy change.","summary":"Read the refund splitter","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Transaction funding"],"operationId":"systemAaV2.splitterUpdate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL.","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Refund splitter addressed for the organization on this chain. Null when none is configured or its chain is inactive."},"balance":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Splitter balance, in wei, from the newest runway snapshot. Null until a snapshot exists."},"warnDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"criticalDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"bps":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Refund share in basis points, as indexed. Null until the splitter's state is indexed."},"sponsorshipEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the splitter sponsors user operations, as indexed. Null until the splitter's state is indexed."}},"required":["organizationId","chainId","address","balance","warnDays","criticalDays","bps","sponsorshipEnabled"],"additionalProperties":false},"examples":{"example-1":{"value":{"organizationId":"example","chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","warnDays":1,"criticalDays":1,"bps":0,"sponsorshipEnabled":false}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_INPUT_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OIDC_MFA_INVALID","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0659","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PAYMASTER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRANSACTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0383","DALP-12296","DALP-14246","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TRANSACTION_IDEMPOTENCY_KEY_CONFLICT","TRANSACTION_IDEMPOTENCY_KEY_SETTLED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14237","DALP-14238","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXECUTION_FUNDING_REQUIRED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-14244","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXECUTION_FUNDING_REQUIRED","status":422,"message":"Execution ended before its paying account was funded","data":{"id":"DALP-14244","why":"The account that pays for this execution held too little. The execution waited for funding, and it ended when the pause was declined, a waiting window closed, or its re-broadcasts ran out.","fix":"Fund the paying account under Organisation settings, Transaction funding, then send the write again with a new idempotency key.","retryable":true,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12104","DALP-12269","DALP-12307","DALP-14747","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes one knob per request. Send `warnDays` and `criticalDays` together to replace the stored runway thresholds; they apply immediately and the low threshold must be greater than the critical one. Or send `bps` with a wallet verification to queue the on-chain write that sets the bundler wallet's share of each refund in basis points; the rest goes to the paymaster deposit. The `bps` write needs an executor with the System manager role, because the splitter contract checks it; the thresholds accept the Admin, System manager or Gas manager role. A body that names both knobs, or neither, is refused.","summary":"Update the refund splitter","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SplitterUpdateInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/refund-splitter/history":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.splitterHistory","parameters":[{"name":"filter","in":"query","schema":{"type":"object","additionalProperties":true},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"days","in":"query","schema":{"type":"integer","minimum":1,"maximum":30},"required":false}],"responses":{"200":{"description":"One page of stored daily runway observations for the refund splitter. `days` defaults to 30 and also caps the page size. The call does not query the chain.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Refund splitter addressed for the organization on this chain. Null when none is configured or its chain is inactive."},"balance":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Splitter balance, in wei, from the newest runway snapshot. Null until a snapshot exists."},"warnDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"criticalDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"bps":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Refund share in basis points, as indexed. Null until the splitter's state is indexed."},"sponsorshipEnabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the splitter sponsors user operations, as indexed. Null until the splitter's state is indexed."},"snapshotAt":{"type":"string"}},"required":["organizationId","chainId","address","balance","warnDays","criticalDays","bps","sponsorshipEnabled","snapshotAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"organizationId":"example","chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","warnDays":1,"criticalDays":1,"bps":0,"sponsorshipEnabled":false,"snapshotAt":"2026-03-11T15:58:02.000Z"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/refund-splitter/history?days=30&sort=-snapshotAt&page%5Boffset%5D=0&page%5Blimit%5D=30","first":"/v2/system/refund-splitter/history?days=30&sort=-snapshotAt&page%5Boffset%5D=0&page%5Blimit%5D=30","prev":null,"next":null,"last":"/v2/system/refund-splitter/history?days=30&sort=-snapshotAt&page%5Boffset%5D=0&page%5Blimit%5D=30"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns stored daily runway observations for the refund splitter. `days` defaults to 30 and also caps the page size. The call does not query the chain.","summary":"List refund-splitter runway history","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/runway/snapshots":{"get":{"tags":["Transaction funding"],"operationId":"systemAaV2.runwaySnapshots","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200},"required":false},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":false}],"responses":{"200":{"description":"One page of runway snapshots and the total count.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"account":{"type":"string","enum":["bundler","paymaster","splitter"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"available":{"type":"string","pattern":"^-?\\d+$"},"required":{"type":"string","pattern":"^-?\\d+$"},"sevenDayBurn":{"type":"string","pattern":"^-?\\d+$"},"snapshotAt":{"type":"string"},"splitterAddress":{"$ref":"#/components/schemas/EvmAddress"},"splitterUsableForWrite":{"type":"boolean"}},"required":["organizationId","chainId","account","address","available","required","sevenDayBurn","snapshotAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["data","total"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"organizationId":"example","chainId":11155111,"account":"bundler","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","available":"0","required":"0","sevenDayBurn":"0","snapshotAt":"example","splitterAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","splitterUsableForWrite":false}],"total":0}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.aa.READ_DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12269","DALP-12307","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of funding runway snapshots for the bundler, paymaster, and refund splitter accounts: available and required balance, seven-day burn, and snapshot time. Page with `limit` and `offset`. Repeating the request is safe.","summary":"List funding runway snapshots","x-dalp-auth":"session-or-api-key"}},"/api/v2/exchange-rates/{baseCurrency}/{quoteCurrency}":{"get":{"tags":["Exchange rates"],"operationId":"v2/exchangeRates/read","parameters":[{"name":"baseCurrency","in":"path","schema":{"type":"string","pattern":"^[A-Z]{3}$"},"required":true},{"name":"quoteCurrency","in":"path","schema":{"type":"string","pattern":"^[A-Z]{3}$"},"required":true}],"responses":{"200":{"description":"The latest observation for the requested pair in the v2 single-resource envelope. The route answers 404 when no positive observation exists.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"baseCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"quoteCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"rate":{"type":"number","exclusiveMinimum":0},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["baseCurrency","quoteCurrency","rate","effectiveAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"baseCurrency":"EUR","quoteCurrency":"USD","rate":1.0842,"effectiveAt":"2026-03-11T16:02:08.000Z"},"links":{"self":"/v2/exchange-rates/EUR/USD"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the latest positive observation for the ISO 4217 pair in the path, wrapped in the v2 single-resource envelope. The route answers 404 when that pair has no observation. Repeat the call after a feed publishes a value.","summary":"Read an exchange rate","x-dalp-auth":"session-or-api-key"}},"/api/v2/exchange-rates":{"get":{"tags":["Exchange rates"],"operationId":"v2/exchangeRates/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"baseCurrency":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"quoteCurrency":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"rate":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"effectiveAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of configured currency pairs after the indexer deduplicates each base and quote pair. `meta.total` counts every matching pair. `rate` is null until the feed publishes a positive observation. Filter with `filter[baseCurrency]` and `filter[quoteCurrency]`, and search both codes with `filter[q]`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"baseCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"quoteCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"rate":{"anyOf":[{"type":"number"},{"type":"null"}]},"effectiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"feedAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["baseCurrency","quoteCurrency","rate","effectiveAt","updatedAt","feedAddress"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"baseCurrency":"EUR","quoteCurrency":"USD","rate":1.0842,"effectiveAt":"2026-03-11T16:02:08.000Z","updatedAt":"2026-03-11T16:02:08.000Z","feedAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3"}],"meta":{"total":1,"facets":{"baseCurrency":[{"value":"EUR","count":1}],"quoteCurrency":[{"value":"USD","count":1}]}},"links":{"self":"/v2/exchange-rates?sort=-effectiveAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/exchange-rates?sort=-effectiveAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/exchange-rates?sort=-effectiveAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of configured currency pairs after the indexer deduplicates each base and quote pair. `page[limit]` defaults to 50 and accepts at most 200. Filter with `filter[baseCurrency]` and `filter[quoteCurrency]`, search both codes with `filter[q]`, and sort by `effectiveAt` descending unless you send `sort`. The call is safe to repeat.","summary":"List exchange rates","x-dalp-auth":"session-or-api-key"}},"/api/v2/exchange-rates/{baseCurrency}/{quoteCurrency}/history":{"get":{"tags":["Exchange rates"],"operationId":"v2/exchangeRates/history","parameters":[{"name":"baseCurrency","in":"path","schema":{"type":"string","pattern":"^[A-Z]{3}$"},"required":true},{"name":"quoteCurrency","in":"path","schema":{"type":"string","pattern":"^[A-Z]{3}$"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"rate":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"effectiveAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of historical observations for the path-bound currency pair. `rate` is a decimal string. Sort defaults to `effectiveAt` descending. The page is empty when the pair has no observations in the selected window.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"baseCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"quoteCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"rate":{"type":"string"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["baseCurrency","quoteCurrency","rate","effectiveAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"baseCurrency":"EUR","quoteCurrency":"USD","rate":"1.0842","effectiveAt":"2026-03-11T16:02:08.000Z"}],"meta":{"total":1},"links":{"self":"/v2/exchange-rates/EUR/USD/history?sort=-effectiveAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/exchange-rates/EUR/USD/history?sort=-effectiveAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/exchange-rates/EUR/USD/history?sort=-effectiveAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of historical observations for the path-bound ISO 4217 pair. Sort defaults to `effectiveAt` descending. The pair is fixed by the path, so currency filters are not accepted here. The page is empty when the window has no observations. The call is safe to repeat.","summary":"List exchange-rate history","x-dalp-auth":"session-or-api-key"}},"/api/v2/exchange-rates/supported-currencies":{"get":{"tags":["Exchange rates"],"operationId":"v2/exchangeRates/supportedCurrencies","parameters":[],"responses":{"200":{"description":"ISO 4217 alpha-3 codes a target-currency write accepts: the provider snapshot of the last 48 hours, or the platform bootstrap codes while no such snapshot exists. The call is safe to repeat.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"providerKey":{"type":"string"},"currencies":{"type":"array","items":{"$ref":"#/components/schemas/FiatCurrency"}}},"required":["providerKey","currencies"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"providerKey":"open-er-api","currencies":["AED","EUR","GBP","JPY","SGD","USD"]},"links":{"self":"/v2/exchange-rates/supported-currencies"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the ISO 4217 alpha-3 codes a target-currency write accepts, plus the configured exchange-rate provider key. These are the codes the provider reported in its last 48 hours of refreshes. While no such snapshot exists, the call returns the platform bootstrap codes USD, EUR, SGD, AED and JPY. The call is safe to repeat.","summary":"List supported currencies","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/capabilities":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/capabilities","parameters":[],"responses":{"200":{"description":"Installation state of the feed directory, issuer-signed factory, and adapter factory on the selected chain, wrapped in the v2 single-resource envelope. `address` is null when that component is not installed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feedsDirectory":{"type":"object","properties":{"installed":{"type":"boolean"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["installed","address"],"additionalProperties":false},"issuerSignedScalarFeedFactory":{"type":"object","properties":{"installed":{"type":"boolean"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"typeId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["installed","address"],"additionalProperties":false},"scalarFeedAggregatorAdapterFactory":{"type":"object","properties":{"installed":{"type":"boolean"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"typeId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["installed","address"],"additionalProperties":false},"priceResolver":{"type":"object","properties":{"installed":{"type":"boolean"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"typeId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["installed","address"],"additionalProperties":false},"supportedFeedKinds":{"type":"array","items":{"anyOf":[{"type":"string","enum":["SCALAR"]}]}},"chainId":{"type":"number"}},"required":["feedsDirectory","issuerSignedScalarFeedFactory","scalarFeedAggregatorAdapterFactory","priceResolver","supportedFeedKinds","chainId"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feedsDirectory":{"installed":true,"address":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"issuerSignedScalarFeedFactory":{"installed":true,"address":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","typeId":"issuer-signed-scalar-feed"},"scalarFeedAggregatorAdapterFactory":{"installed":true,"address":"0xe7f1725E7734CE168F8367e1Bb143E90bb3F0512","typeId":"scalar-feed-aggregator-adapter"},"priceResolver":{"installed":true,"address":"0xe7f1725E7734CE168F8367e1Bb143E90bb3F0512","typeId":"price-resolver"},"supportedFeedKinds":["SCALAR"],"chainId":1},"links":{"self":"/v2/system/feeds/capabilities"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns whether the feed directory, issuer-signed factory, and adapter factory are installed on the selected chain, wrapped in the v2 single-resource envelope. Addresses are null when a component is not installed. The call is safe to repeat.","summary":"Read feed capabilities","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"feedAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"topicId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kind":{"anyOf":[{"type":"string","enum":["issuer-signed-scalar","aggregator-adapter","external"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"origin":{"anyOf":[{"type":"string","enum":["issuer-signed","aggregator-adapter","external"],"description":"How the feed came to exist. issuer-signed: a trusted issuer signs its values, whether or not an adapter exists for it, so the platform can publish to it. external: a registered oracle contract. aggregator-adapter: a registered oracle contract that has an adapter. adapterAddress says whether an adapter exists."},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"scope":{"anyOf":[{"type":"string","enum":["global","identity","asset","other"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isActive":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of registered feeds. Filter by subject, topic, kind, scope, or activity, sort by `registeredAt` by default, and search the description with `filter[q]`. `latestValue` is null until the first observation is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/FeedListItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"ref":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"subject":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","topicId":"1","kind":"issuer-signed-scalar","origin":"issuer-signed","description":"EUR / USD","decimals":"example","driftAllowance":0,"active":false,"registeredAt":"2026-03-04T09:12:41.000Z","scope":"global","adapterAddress":null,"latestRound":"indexed","provenance":{"sourceId":"00000000-0000-7000-8000-000000000000","sourceName":"example","protocol":"sftp_csv","vendor":"bloomberg","priceField":"example","priceType":"example","observationId":"00000000-0000-7000-8000-000000000000","observedAt":"example","recordedAt":"example","publishedAt":"example","signedBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","approvedBy":"example"}}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/feeds?sort=-registeredAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/feeds?sort=-registeredAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/feeds?sort=-registeredAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of registered feeds. Filter by subject, topic, kind, scope, or activity, sort by `registeredAt` descending by default, and search the description with `filter[q]`. `latestValue` is null until the first observation is indexed. The call is safe to repeat.","summary":"List feeds","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/resolutions":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/resolve","parameters":[{"name":"subject","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"topicId","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":true}],"responses":{"200":{"description":"Directory mapping for one subject and topic, wrapped in the v2 single-resource envelope. `exists` is false when the directory has no mapping.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"feed":{"anyOf":[{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},{"type":"null"}]},"exists":{"type":"boolean"},"asOfBlockNumber":{"anyOf":[{"$ref":"#/components/schemas/BlockHeightEncoded"},{"type":"null"}]}},"required":["subject","topicId","feed","exists","asOfBlockNumber"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"subject":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","topicId":"0","feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"exists":true,"asOfBlockNumber":"0"},"links":{"self":"/v2/system/feeds/resolutions?subject=0x0000000000000000000000000000000000000000&topicId=1"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the directory mapping for one subject and topic. Send `topicName` or `topicId`. `exists` is false when the directory has no mapping. Indexed fields appear only after the indexer has processed the registration. The call is safe to repeat.","summary":"Resolve a feed","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/{feedAddress}":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/read","parameters":[{"name":"feedAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Registered feed at `feedAddress` and its latest indexed observation, wrapped in the v2 single-resource envelope.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"ref":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"kind":{"type":"string","enum":["issuer-signed-scalar","aggregator-adapter","external"]},"origin":{"$ref":"#/components/schemas/FeedOrigin"},"description":{"type":"string","minLength":1},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"driftAllowance":{"type":"number","minimum":0},"active":{"type":"boolean"},"registeredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"scope":{"type":"string","enum":["global","identity","asset","other"]},"adapterAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"latestRound":{"type":"string","enum":["indexed","none","chain"],"description":"Where the latest round comes from: indexed when the index holds one, none when the feed has no round yet (the latest read answers FEED_ROUND_NOT_FOUND), chain when the latest read asks the feed contract."}},"required":["ref","subject","topicId","kind","origin","description","decimals","driftAllowance","active","registeredAt","scope","adapterAddress","latestRound"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"ref":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"subject":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","topicId":"1","kind":"issuer-signed-scalar","origin":"issuer-signed","description":"EUR / USD","decimals":"example","driftAllowance":0,"active":false,"registeredAt":"2026-03-04T09:12:41.000Z","scope":"global","adapterAddress":null,"latestRound":"indexed"},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the registered feed at `feedAddress` and its latest indexed observation, wrapped in the v2 single-resource envelope. The route answers 404 when that address is not registered on the selected system and chain. The call is safe to repeat.","summary":"Read a feed","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/{feedAddress}/latest":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/latest","parameters":[{"name":"feedAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Latest on-chain round for the feed, wrapped in the v2 single-resource envelope. `answer` is the integer observation and `formattedAnswer` applies the feed decimals.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feedAddress":{"$ref":"#/components/schemas/EvmAddress"},"roundId":{"type":"string"},"answer":{"type":"string"},"decimals":{"type":"number"},"formattedAnswer":{"type":"string"},"startedAt":{"anyOf":[{"type":"string"},{"type":"number","minimum":0}]},"updatedAt":{"anyOf":[{"type":"string"},{"type":"number","minimum":0}]},"recordedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the chain recorded this round, as the block time of the write the index read. `updatedAt` is the time the round's value was observed. Null when the round is read live from the feed contract."},"answeredInRound":{"type":"string"},"description":{"type":"string"},"version":{"type":"string"},"asOfBlockNumber":{"anyOf":[{"$ref":"#/components/schemas/BlockHeightEncoded"},{"type":"null"}]}},"required":["feedAddress","roundId","answer","decimals","formattedAnswer","startedAt","updatedAt","recordedAt","answeredInRound","description","version","asOfBlockNumber"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feedAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","roundId":"42","answer":"108420000","decimals":8,"formattedAnswer":"1.0842","startedAt":"2026-03-11T16:02:08.000Z","updatedAt":"2026-03-11T16:02:08.000Z","recordedAt":"2026-03-11T16:02:20.000Z","answeredInRound":"42","description":"EUR / USD","version":"1","asOfBlockNumber":"0"},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3/latest"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the latest on-chain round for `feedAddress`, wrapped in the v2 single-resource envelope. `answer` is the integer observation and `formattedAnswer` applies the feed decimals. Repeat the call when you need a newer round.","summary":"Read the latest feed round","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/{feedAddress}/configuration":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/config","parameters":[{"name":"feedAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Immutable issuer-signed feed settings, wrapped in the v2 single-resource envelope.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"ref":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"kind":{"type":"string","enum":["issuer-signed-scalar","aggregator-adapter","external"]},"origin":{"$ref":"#/components/schemas/FeedOrigin"},"description":{"type":"string","minLength":1},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"driftAllowance":{"type":"number","minimum":0},"schemaHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"historyMode":{"type":"string","enum":["latest-only","bounded","full"]},"historySize":{"type":"integer","minimum":0,"maximum":9007199254740991},"requirePositive":{"type":"boolean"}},"required":["ref","kind","origin","description","decimals","driftAllowance","schemaHash","historyMode","historySize","requirePositive"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"ref":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"kind":"issuer-signed-scalar","origin":"issuer-signed","description":"EUR / USD","decimals":"example","driftAllowance":0,"schemaHash":"0x5208","historyMode":"latest-only","historySize":1,"requirePositive":true},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3/configuration"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the immutable issuer-signed settings for `feedAddress`: decimals, history mode and size, whether observations must be positive, and drift allowance. These values are fixed at creation, so the same request always returns the same configuration after the feed exists.","summary":"Read feed configuration","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/staleness-windows/effective":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/stalenessWindow/effective","parameters":[{"name":"subject","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"topicId","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":true}],"responses":{"200":{"description":"The window in force for a (subject, topic) pair and whether it came from that feed's override or the global default.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"policy":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["seconds"]},"seconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mode","seconds"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["never"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["inherit"]}},"required":["mode"],"additionalProperties":false}]},"source":{"type":"string","enum":["feed-override","global-default"]}},"required":["subject","topicId","policy","source"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"subject":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","topicId":"7","policy":{"mode":"seconds","seconds":1},"source":"feed-override"},"links":{"self":"/v2/system/feeds/staleness-windows/effective"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the window in force for a (subject, topic) pair and whether it comes from that feed's own override or the resolver's global default. This is the read that explains why a mint was or was not blocked on price age.","summary":"Read the effective staleness window","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/staleness-windows/global":{"get":{"tags":["Price feeds"],"operationId":"v2/system/feeds/stalenessWindow/global","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["seconds"]},"seconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mode","seconds"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["never"]}},"required":["mode"],"additionalProperties":false}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"mode":"seconds","seconds":1},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12243","DALP-14750","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"summary":"Read the global staleness window","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Price feeds"],"operationId":"v2/system/feeds/stalenessWindow/setGlobal","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled global default. Every feed without an override of its own now uses this window.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"null"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":null,"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/staleness-windows/global"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets the price resolver's default staleness window, applied to every feed that carries no override of its own. The window is expressed as a tagged `mode`; choose `seconds` for a finite limit or `never` to disable expiry for feeds without an override.","summary":"Set the global staleness window","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["seconds"]},"seconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["mode","seconds"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["never"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["mode"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/external-registrations":{"post":{"tags":["Price feeds"],"operationId":"v2/system/feeds/registerExternal","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled external registration. `data` is the stored mapping on the EVM family and the settled operation on the Canton family, and `meta.txHashes` lists the submitted write.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["feed","transactionHash"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonIdentityOperationOutput"}]},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9326","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that registers an already deployed compatible feed for a subject and topic. Send `topicName` or `topicId`. A body carrying `cantonPartyId` is a Canton write instead: it adds a feed definition to the Canton catalog.","summary":"Create an external feed registration","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"feedAddress":{"$ref":"#/components/schemas/EvmAddress"},"description":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"not":{}},"providerParty":{"not":{}}},"required":["subject","topicId","feedAddress","description"],"additionalProperties":false},{"type":"object","properties":{"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220a1b2c3d4"]},"providerParty":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220a1b2c3d4"]},"feedId":{"type":"string","minLength":1},"description":{"type":"string"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["cantonPartyId","providerParty","feedId","description"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/registrations":{"put":{"tags":["Price feeds"],"operationId":"v2/system/feeds/replace","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled replacement. `data.oldFeedAddress` is the mapping the write retired and `meta.txHashes` lists the submitted write.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["feed","transactionHash"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that replaces the feed address held for a subject and topic. The previous address is retired once the write settles.","summary":"Replace a feed registration","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"feedAddress":{"$ref":"#/components/schemas/EvmAddress"},"description":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"not":{}},"providerParty":{"not":{}}},"required":["subject","topicId","feedAddress","description"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Price feeds"],"operationId":"v2/system/feeds/remove","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled removal. The directory mapping is gone after this write, and on the Canton family the retired feed definition is gone with it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["feed","transactionHash"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonIdentityOperationOutput"}]},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/registrations"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9326","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that removes the directory mapping for a subject and topic. The feed contract itself stays deployed. A body carrying `cantonPartyId` is a Canton write instead: it withdraws a Canton feed definition.","summary":"Delete a feed registration","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"not":{}}},"required":["subject","topicId"],"additionalProperties":false},{"type":"object","properties":{"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220a1b2c3d4"]},"feedId":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["cantonPartyId","feedId"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/{feedAddress}/submissions":{"post":{"tags":["Price feeds"],"operationId":"v2/system/feeds/submit","parameters":[{"name":"feedAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled observation. `data.nonce` is the issuer nonce consumed by this write.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["feed","transactionHash"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3/latest"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Signs and queues one observation from the organisation's issuer identity. `value` is a decimal string in the feed's units, such as `\"100.5\"`: the platform scales it to the feed's decimals and refuses a value with more decimal places than the feed carries, or one of zero or below. `observedAt` is a Unix timestamp in seconds.","summary":"Create a feed submission","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"value":{"$ref":"#/components/schemas/FiniteDecimalFromStringEncoded"},"observedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"deadline":{"$ref":"#/components/schemas/TimestampEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["value","observedAt"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/issuer-signed":{"post":{"tags":["Price feeds"],"operationId":"v2/system/feeds/issuerSigned/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled issuer-signed feed. `data.feedAddress` is the new contract.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["feed","transactionHash"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/0x5FbDB2315678afecb367f032d93F642f64180aa3"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that creates an issuer-signed scalar feed and registers it for a subject and topic. Send `topicName` or `topicId`. `decimals` is 0 to 18. The feed keeps only its latest round and accepts only positive values, so it cannot carry a negative rate or delta.","summary":"Create an issuer-signed feed","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"description":{"type":"string","minLength":1},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["subject","topicId","description","decimals"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/adapters":{"post":{"tags":["Price feeds"],"operationId":"v2/system/feeds/adapters/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled adapter. `data.adapterAddress` is the stable contract callers should read.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["feed","transactionHash"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/adapters"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an on-chain write that creates a stable adapter address for a subject and topic. The adapter keeps the same address when the backing feed is replaced.","summary":"Create a feed adapter","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"aggregator":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["subject","topicId","aggregator","decimals"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/feeds/staleness-windows":{"put":{"tags":["Price feeds"],"operationId":"v2/system/feeds/stalenessWindow/setFeed","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled per-feed window. `maxAgeSeconds` is `0` when the override was cleared.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"null"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":null,"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/v2/system/feeds/staleness-windows"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEEDS_SUBMIT_OBSERVED_AT_TOO_FAR_IN_FUTURE","FEED_PRICE_NOT_REPRESENTABLE","FEED_VALUE_NOT_POSITIVE","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0639","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-14261","DALP-14446","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_ISSUER_NOT_TRUSTED","FEED_MANAGER_PERMISSION_REQUIRED","FEED_SUBMISSION_NOT_AUTHORIZED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12243","DALP-12384","DALP-14750","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_NOT_FOUND","FEEDS_FEED_ADDRESS_NOT_FOUND","FEED_ROUND_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0116","DALP-0125","DALP-0131","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FEED_ADDON_NOT_INSTALLED","FEED_ALREADY_EXISTS","FEED_BATCH_NOT_SUBMITTABLE","FEED_TOPIC_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.feeds.WRITE_CANCELLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12241","DALP-12246","DALP-12297","DALP-12298","DALP-14445","DALP-20525","DALP-9086","DALP-9433","DALP-9518"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXCHANGE_RATE_CURRENCY_UNSUPPORTED","FEED_CONTRACT_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12247","DALP-9519"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXCHANGE_RATE_CURRENCY_UNSUPPORTED","status":422,"message":"No feed on this network prices the currency","data":{"id":"DALP-12247","why":"The exchange-rate graph for the selected network has no feed that quotes the requested currency.","fix":"Use a currency that GET /api/v2/exchange-rates/supported-currencies returns, or add an exchange-rate feed for the currency on this network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","FEED_DIRECTORY_UNAVAILABLE","FEED_SUBMISSION_SIGNER_AMBIGUOUS","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12240","DALP-12244","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets, replaces, or clears the staleness window for a single (subject, topic) feed. Asset feeds and FX conversion feeds alike. `mode: \"inherit\"` clears the override; `mode: \"never\"` exempts the feed from the staleness check entirely.","summary":"Set one feed's staleness window","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"policy":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["seconds"]},"seconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mode","seconds"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["never"]}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["inherit"]}},"required":["mode"],"additionalProperties":false}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["subject","topicId","policy"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"state":{"type":"string","enum":["draft","active","paused","retired"],"description":"draft until activated, active while the scheduler fetches, paused by a manager, retired for good."}},"additionalProperties":false,"description":"filter[q] matches the source name; filter[state] keeps one state."},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"source":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the source resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"source":"id,state,credentialSet,failureClass,rowVersion"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the source members a list or a strip renders: id, state, credentialSet, failureClass, rowVersion. Send fields[source] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"PriceSourceListOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceListOutput"},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Price feeds"],"operationId":"v2/priceSources/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","market-data.price-source.ENDPOINT_REFUSED","market-data.price-source.HEARTBEAT_EXCEEDS_BOUND","market-data.price-source.PLAINTEXT_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14703","DALP-14704","DALP-14705"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"market-data.price-source.ENDPOINT_REFUSED","status":422,"message":"Host 0xabababababababababababababababababababab is not an allowed price source endpoint","data":{"id":"DALP-14704","why":"The host is a loopback, link-local, metadata, private or unspecified address that this deployment does not allow price sources to reach.","fix":"Use the provider's public host name, or ask an operator to add the address range to the deployment's endpoint allow list.","retryable":false,"category":"client","host":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceDefinition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/read","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false}],"responses":{"200":{"description":"PriceSourceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"links":{"self":"example"}}}}}},"headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Price feeds"],"operationId":"v2/priceSources/update","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.price-source.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12384","DALP-14734","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.price-source.VERSION_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14701","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","market-data.price-source.ENDPOINT_REFUSED","market-data.price-source.HEARTBEAT_EXCEEDS_BOUND","market-data.price-source.PLAINTEXT_REFUSED","market-data.price-source.PROTOCOL_FIXED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14703","DALP-14704","DALP-14705","DALP-14707"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"market-data.price-source.ENDPOINT_REFUSED","status":422,"message":"Host 0xabababababababababababababababababababab is not an allowed price source endpoint","data":{"id":"DALP-14704","why":"The host is a loopback, link-local, metadata, private or unspecified address that this deployment does not allow price sources to reach.","fix":"Use the provider's public host name, or ask an operator to add the address range to the deployment's endpoint allow list.","retryable":false,"category":"client","host":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceUpdatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/transitions":{"post":{"tags":["Price feeds"],"operationId":"v2/priceSources/transitions/create","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceTransitionOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceTransitionOutput"},"examples":{"example-1":{"value":{"data":{"source":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"noEligibleApprover":false,"tokensWithoutEligibleApprover":[{"chainId":0,"tokenAddress":"example"}]},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.price-source.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12384","DALP-14734","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.price-source.CREDENTIAL_MISSING","market-data.price-source.TRANSITION_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14736","DALP-14737","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","market-data.price-source.ENDPOINT_REFUSED","market-data.price-source.HEARTBEAT_EXCEEDS_BOUND","market-data.price-source.PLAINTEXT_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14703","DALP-14704","DALP-14705"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"market-data.price-source.ENDPOINT_REFUSED","status":422,"message":"Host 0xabababababababababababababababababababab is not an allowed price source endpoint","data":{"id":"DALP-14704","why":"The host is a loopback, link-local, metadata, private or unspecified address that this deployment does not allow price sources to reach.","fix":"Use the provider's public host name, or ask an operator to add the address range to the deployment's endpoint allow list.","retryable":false,"category":"client","host":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceTransitionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/credential":{"put":{"tags":["Price feeds"],"operationId":"v2/priceSources/credential/replace","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.price-source.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12384","DALP-14734","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.price-source.CREDENTIAL_CONFLICT","market-data.price-source.RETIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14738","DALP-14741","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","market-data.price-source.CREDENTIAL_KIND_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14706"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"market-data.price-source.CREDENTIAL_KIND_REFUSED","status":422,"message":"A password credential does not fit a sftp_csv price source","data":{"id":"DALP-14706","why":"This kind of credential does not fit the source's protocol.","fix":"Send the credential kind the protocol uses: a password or private key for SFTP, a logon for FIX, client credentials for Bloomberg, a password for LSEG.","retryable":false,"category":"client","kind":"password","protocol":"sftp_csv"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceCredentialUpdatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/credential/transitions":{"post":{"tags":["Price feeds"],"operationId":"v2/priceSources/credential/transitions/create","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.price-source.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12384","DALP-14734","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.price-source.CREDENTIAL_CONFLICT","market-data.price-source.CREDENTIAL_IN_USE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14738","DALP-14740","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceCredentialTransitionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/host-key":{"put":{"tags":["Price feeds"],"operationId":"v2/priceSources/hostKey/replace","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","state":"draft","definition":{"name":"example","publishThresholdBps":0,"heartbeatSeconds":1,"holdToleranceBps":1,"expectedEverySeconds":1,"expectedLagSeconds":0,"staleAfterSeconds":1,"protocol":"sftp_csv","config":{"host":"sftp.northwind-data.example","port":1,"username":"northwind-prices","remotePath":"/outbound/prices","tempSuffix":"example","timeZone":"example","columnMap":{"isin":"ISIN","price":"PRICE","currency":"CURRENCY","asOf":"AS_OF","priceType":"example"}}},"credentialVersion":0,"credentialSet":false,"credentialHint":"0","hostKeyFingerprint":"example","failureClass":"transient","rowVersion":1,"createdBy":"example","createdAt":"example","updatedAt":"example","latestDelivery":{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example"},"metrics":{"instruments":0,"publishedToday":0,"held":0,"lastDeliveryAt":"example"}},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.price-source.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12384","DALP-14734","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceHostKeyPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/connection-tests":{"post":{"tags":["Price feeds"],"operationId":"v2/priceSources/connectionTests/create","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceConnectionTestOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceConnectionTestOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","requestedBy":"example","status":"queued","result":{},"createdAt":"example","startedAt":"example","finishedAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/connection-tests/{testId}":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/connectionTests/read","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"testId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"PriceSourceConnectionTestOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceConnectionTestOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","requestedBy":"example","status":"queued","result":{},"createdAt":"example","startedAt":"example","finishedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/instruments":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/instruments/list","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"live":{"type":"string","enum":["true","false"]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"PriceSourceInstrumentListOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceInstrumentListOutput"},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","isin":"US0378331005","chainId":11155111,"tokenAddress":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f","topicId":"1","priceField":"close","basis":"per_unit","parAmount":null,"currency":"USD","endedAt":null,"createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-08-01T09:00:00.000Z"}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Price feeds"],"operationId":"v2/priceSources/instruments/create","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceInstrumentOperationOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceInstrumentOperationOutput"},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb2","status":"in_progress","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-08-01T09:00:00.000Z","items":[{"position":0,"instrumentId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","isin":"US0378331005","tokenAddress":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f","state":"completed","result":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"created":true,"firstPrice":"sent"},"failure":null},{"position":1,"instrumentId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb3","isin":"US5949181045","tokenAddress":"0x2b5ad5c4795c026514f8317c7a215e218dccd6cf","state":"mapped","result":null,"failure":null}]},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.price-source.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12242","DALP-12384","DALP-14734","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.price-source.instrument.FEED_ALREADY_MAPPED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14710","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","market-data.price-source.HEARTBEAT_EXCEEDS_BOUND","market-data.price-source.instrument.LIST_REFUSED","market-data.price-source.instrument.LIST_TOO_LARGE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14703","DALP-14716","DALP-14717"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"market-data.price-source.HEARTBEAT_EXCEEDS_BOUND","status":422,"message":"The heartbeat needs 1 seconds but the staleness bound is 1 seconds","data":{"id":"DALP-14703","why":"The heartbeat plus the expected delivery interval plus the expected lag is not shorter than the staleness bound, so the feed would go stale between publishes.","fix":"Shorten the heartbeat, the expected interval or the expected lag, or raise the source's stale-after time.","retryable":false,"category":"client","boundSeconds":1,"requiredSeconds":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","market-data.feeds.WRITE_SCOPE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceInstrumentMapPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/instrument-operations/{operationId}":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/instrumentOperations/read","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"operationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"PriceSourceInstrumentOperationOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceInstrumentOperationOutput"},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb2","status":"in_progress","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-08-01T09:00:00.000Z","items":[{"position":0,"instrumentId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","isin":"US0378331005","tokenAddress":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f","state":"completed","result":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"created":true,"firstPrice":"sent"},"failure":null},{"position":1,"instrumentId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb3","isin":"US5949181045","tokenAddress":"0x2b5ad5c4795c026514f8317c7a215e218dccd6cf","state":"mapped","result":null,"failure":null}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/instruments/{instrumentId}":{"delete":{"tags":["Price feeds"],"operationId":"v2/priceSources/instruments/delete","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"instrumentId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceInstrumentUnmapOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceInstrumentUnmapOutput"},"examples":{"example-1":{"value":{"data":{"instrument":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","isin":"US0378331005","chainId":11155111,"tokenAddress":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f","topicId":"1","priceField":"close","basis":"per_unit","parAmount":null,"currency":"USD","endedAt":null,"createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-08-01T09:00:00.000Z"},"cancelledHeldPriceId":"example"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND","market-data.price-source.instrument.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14715","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/unmatched-isins":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/unmatchedIsins/list","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"PriceSourceUnmatchedIsinListOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceUnmatchedIsinListOutput"},"examples":{"example-1":{"value":{"data":[{"isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","lastSeenAt":"example"}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/deliveries":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/deliveries/list","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"PriceSourceDeliveryListOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceDeliveryListOutput"},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","contentHash":"0000000000000000000000000000000000000000000000000000000000000000","status":"received","evidenceSizeBytes":0,"evidenceExpiresAt":"example","remoteName":"example","requestedBy":"example","failureClass":"transient","failureDetail":"example","recordCount":0,"rejectedCount":0,"receivedAt":"example","outcomes":{"accepted":0,"rejected":0,"dropped":0,"held":0,"published":0}}],"meta":{"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Price feeds"],"operationId":"v2/priceSources/deliveries/create","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"PriceSourceDeliveryOperationOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceDeliveryOperationOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","requestedBy":"example","status":"queued","result":{},"createdAt":"example","startedAt":"example","finishedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.price-source.FETCH_PENDING","market-data.price-source.TRANSITION_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14736","DALP-14743","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","market-data.price-source.FETCH_NOT_SUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14742"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"market-data.price-source.FETCH_NOT_SUPPORTED","status":422,"message":"Price source 0xabababababababababababababababababababab streams over sftp_csv and cannot be fetched on request","data":{"id":"DALP-14742","why":"A FIX source streams prices over its open session, so there is nothing to fetch on request.","fix":"Read the source's latest delivery, or fetch from an SFTP, Bloomberg or LSEG source.","retryable":false,"category":"client","protocol":"sftp_csv","sourceId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/delivery-operations/{operationId}":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/deliveryOperations/read","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"operationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"PriceSourceDeliveryOperationOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceDeliveryOperationOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","requestedBy":"example","status":"queued","result":{},"createdAt":"example","startedAt":"example","finishedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/observations":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/observations/list","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"status":{"type":"string","enum":["received","publishing","published","held","duplicate","out_of_order","future_dated","invalid","unmapped","currency_mismatch","correction_held","skipped_policy","superseded","publish_failed","publisher_not_authorized","rejected_unmapped_entry_type","conflicting_rows"],"description":"received until the gates run, publishing while its keyed workflow runs, then the outcome the gates or the publisher recorded."},"isin":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"PriceSourceObservationListOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceObservationListOutput"},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"}],"meta":{"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FEED_MANAGER_PERMISSION_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12242","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14735","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/price-sources/{sourceId}/observations/{observationId}/evidence":{"get":{"tags":["Price feeds"],"operationId":"v2/priceSources/observations/evidence/read","parameters":[{"name":"sourceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"observationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"PriceSourceEvidenceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceEvidenceOutput"},"examples":{"example-1":{"value":{"data":{"heldPriceId":"example","observationId":"00000000-0000-7000-8000-000000000000","audience":"full_payload","contentHash":"example","recordLocator":"example","content":"SVNJTixwcmljZSxjdXJyZW5jeSxhc09mClVTMDM3ODMzMTAwNSwxODkuMjUsVVNELDIwMjYtMDgtMjE="},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.price-source.observation.EVIDENCE_UNAVAILABLE","market-data.price-source.observation.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14732","DALP-14733","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/held-prices":{"get":{"tags":["Price feeds"],"operationId":"v2/heldPrices/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"status":{"type":"string","enum":["held","approved","rejected","superseded","cancelled","publishing","published","publish_failed"],"description":"Where a held price stands: held awaits a decision, and the rest follow the decision and its publish."},"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"Keep the held prices that this price source delivered."}},"additionalProperties":false,"description":"filter[status] keeps one status and filter[sourceId] one price source. meta.total counts the held prices that match both and that the caller may see, so filter[status]=held with filter[sourceId] is the open-hold count of that source. Held prices the caller may not see are never listed."},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"heldPrice":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the heldPrice resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"heldPrice":"id,sourceId,chainId,tokenAddress,status,reason,createdAt"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the heldPrice members a list or a strip renders: id, sourceId, chainId, tokenAddress, status, reason, createdAt. Send fields[heldPrice] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"HeldPriceListOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldPriceListOutput"},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","chainId":11155111,"tokenAddress":"example","topicId":"0","reason":"held","status":"held","excludedUserIds":["example"],"decidedBy":"example","decidedAt":"example","decisionReason":"example","failureReason":"example","rowVersion":1,"createdAt":"example","updatedAt":"example","source":{"name":"example","holdToleranceBps":1},"instrument":{"basis":"per_unit","parAmount":"example"},"reviewed":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"latestCandidate":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"guidance":["example"],"observations":{"reviewed":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"},"latestCandidate":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"}}}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/held-prices/{heldPriceId}":{"get":{"tags":["Price feeds"],"operationId":"v2/heldPrices/read","parameters":[{"name":"heldPriceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false}],"responses":{"200":{"description":"HeldPriceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldPriceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","chainId":11155111,"tokenAddress":"example","topicId":"0","reason":"held","status":"held","excludedUserIds":["example"],"decidedBy":"example","decidedAt":"example","decisionReason":"example","failureReason":"example","rowVersion":1,"createdAt":"example","updatedAt":"example","source":{"name":"example","holdToleranceBps":1},"instrument":{"basis":"per_unit","parAmount":"example"},"reviewed":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"latestCandidate":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"guidance":["example"],"observations":{"reviewed":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"},"latestCandidate":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"}}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.held-price.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14720","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/held-prices/{heldPriceId}/decisions":{"post":{"tags":["Price feeds"],"operationId":"v2/heldPrices/decisions/create","parameters":[{"name":"heldPriceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"HeldPriceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldPriceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","chainId":11155111,"tokenAddress":"example","topicId":"0","reason":"held","status":"held","excludedUserIds":["example"],"decidedBy":"example","decidedAt":"example","decisionReason":"example","failureReason":"example","rowVersion":1,"createdAt":"example","updatedAt":"example","source":{"name":"example","holdToleranceBps":1},"instrument":{"basis":"per_unit","parAmount":"example"},"reviewed":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"latestCandidate":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"guidance":["example"],"observations":{"reviewed":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"},"latestCandidate":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"}}},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.held-price.APPROVER_EXCLUDED","market-data.held-price.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14726","DALP-14729","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.held-price.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14720","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.held-price.ALREADY_DECIDED","market-data.held-price.CHANGED_SINCE_REVIEW","market-data.held-price.DECISION_REFUSED","market-data.held-price.SOURCE_PAUSED","market-data.held-price.SOURCE_STOPPED","market-data.held-price.STALE","market-data.held-price.SUPERSEDED","market-data.held-price.VERSION_MOVED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14721","DALP-14722","DALP-14723","DALP-14724","DALP-14725","DALP-14728","DALP-14731","DALP-14745","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldPriceDecisionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/held-prices/{heldPriceId}/transitions":{"post":{"tags":["Price feeds"],"operationId":"v2/heldPrices/transitions/create","parameters":[{"name":"heldPriceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"HeldPriceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldPriceOutput"},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","sourceId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","chainId":11155111,"tokenAddress":"example","topicId":"0","reason":"held","status":"held","excludedUserIds":["example"],"decidedBy":"example","decidedAt":"example","decisionReason":"example","failureReason":"example","rowVersion":1,"createdAt":"example","updatedAt":"example","source":{"name":"example","holdToleranceBps":1},"instrument":{"basis":"per_unit","parAmount":"example"},"reviewed":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"latestCandidate":{"observationId":"00000000-0000-7000-8000-000000000000","evidenceDigest":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"guidance":["example"],"observations":{"reviewed":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"},"latestCandidate":{"id":"00000000-0000-7000-8000-000000000000","deliveryId":"00000000-0000-7000-8000-000000000000","instrumentId":"00000000-0000-7000-8000-000000000000","isin":"example","priceType":"example","price":"example","currency":"example","observedAt":"example","msgSeqNum":0,"recordLocator":"example","status":"received","outcomeDetail":{},"publishedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","recordedAt":"example","outcomeAt":"example"}}},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","market-data.held-price.APPROVER_EXCLUDED","market-data.held-price.SESSION_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14726","DALP-14729","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.held-price.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14720","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","market-data.held-price.ALREADY_DECIDED","market-data.held-price.CHANGED_SINCE_REVIEW","market-data.held-price.DECISION_REFUSED","market-data.held-price.SOURCE_PAUSED","market-data.held-price.SOURCE_STOPPED","market-data.held-price.STALE","market-data.held-price.SUPERSEDED","market-data.held-price.VERSION_MOVED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-14721","DALP-14722","DALP-14723","DALP-14724","DALP-14725","DALP-14728","DALP-14731","DALP-14745","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeldPriceTransitionPayload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/held-prices/{heldPriceId}/evidence":{"get":{"tags":["Price feeds"],"operationId":"v2/heldPrices/evidence/read","parameters":[{"name":"heldPriceId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"observationId","in":"query","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"Read the evidence of this observation instead of the held price's latest candidate."},"required":false}],"responses":{"200":{"description":"PriceSourceEvidenceOutput","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceSourceEvidenceOutput"},"examples":{"example-1":{"value":{"data":{"heldPriceId":"example","observationId":"00000000-0000-7000-8000-000000000000","audience":"full_payload","contentHash":"example","recordLocator":"example","content":"SVNJTixwcmljZSxjdXJyZW5jeSxhc09mClVTMDM3ODMzMTAwNSwxODkuMjUsVVNELDIwMjYtMDgtMjE="},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND","market-data.held-price.EVIDENCE_UNAVAILABLE","market-data.held-price.NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14720","DALP-14730","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14262","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/monitoring/api/request-metrics":{"get":{"tags":["Monitoring"],"operationId":"opsApiMonitoring.metrics","parameters":[{"name":"from","in":"query","schema":{"type":"string"},"required":true},{"name":"to","in":"query","schema":{"type":"string"},"required":true},{"name":"requestType","in":"query","schema":{"type":"string","enum":["rest","rpc"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"summary":{"type":"object","properties":{"totalRequests":{"type":"number"},"errorRate":{"type":"number"},"serverErrorRate":{"type":"number"},"clientErrorRate":{"type":"number"},"avgDurationMs":{"type":"number"},"p95DurationMs":{"anyOf":[{"type":"number"},{"type":"null"}]},"error4xxCount":{"type":"number"},"error5xxCount":{"type":"number"}},"required":["totalRequests","errorRate","avgDurationMs","p95DurationMs","error4xxCount","error5xxCount"],"additionalProperties":false},"endpoints":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"method":{"type":"string"},"routeTemplate":{"type":"string"},"requestType":{"type":"string","enum":["rest","rpc"]},"tag":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestCount":{"type":"number"},"avgDurationMs":{"type":"number"},"errorRate":{"type":"number"}},"required":["endpointId","method","routeTemplate","requestType","tag","requestCount","avgDurationMs","errorRate"],"additionalProperties":false}},"totalCount":{"type":"number"},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"number"}},"required":["value","count"],"additionalProperties":false}}}},"required":["items","totalCount","facets"],"additionalProperties":false},"topErrors":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"method":{"type":"string"},"routeTemplate":{"type":"string"},"requestType":{"type":"string","enum":["rest","rpc"]},"errorCount":{"type":"number"},"totalCount":{"type":"number"},"errorRate":{"type":"number"},"dominantStatusCode":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["endpointId","method","routeTemplate","requestType","errorCount","totalCount","errorRate","dominantStatusCode"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false}},"required":["summary","endpoints","topErrors"],"additionalProperties":false},"examples":{"example-1":{"value":{"summary":{"totalRequests":0,"errorRate":0,"serverErrorRate":0,"clientErrorRate":0,"avgDurationMs":0,"p95DurationMs":0,"error4xxCount":0,"error5xxCount":0},"endpoints":{"items":[{"endpointId":"00000000-0000-7000-8000-000000000000","method":"example","routeTemplate":"example","requestType":"rest","tag":"example","requestCount":0,"avgDurationMs":0,"errorRate":0}],"totalCount":0,"facets":{}},"topErrors":{"items":[{"endpointId":"00000000-0000-7000-8000-000000000000","method":"example","routeTemplate":"example","requestType":"rest","errorCount":0,"totalCount":0,"errorRate":0,"dominantStatusCode":0}]}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/monitoring/api/request-chart":{"get":{"tags":["Monitoring"],"operationId":"opsApiMonitoring.chart","parameters":[{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"compare","in":"query","schema":{"type":"string","enum":["prior"],"description":"Send prior to also get the period straight before the window, one entry per point."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"requestType","in":"query","schema":{"type":"string","enum":["rest","rpc"],"description":"Count only REST or only RPC requests. Leave it out to count both."},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/ApiHealthPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/ApiHealthPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"totals":{"$ref":"#/components/schemas/ApiHealthTotals"}},"required":["range","grain","points","figure","meta","totals"],"additionalProperties":false},"examples":{"example-1":{"value":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","success":0,"clientErrors":0,"serverErrors":0,"serverErrorRate":0}],"prior":[{"t":"example","success":0,"clientErrors":0,"serverErrors":0,"serverErrorRate":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false},"totals":{"requests":0,"clientErrors":0,"serverErrors":0,"errorRate":0}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/monitoring/api/request-logs":{"get":{"tags":["Monitoring"],"operationId":"opsApiMonitoring.logs","parameters":[{"name":"from","in":"query","schema":{"type":"string"},"required":true},{"name":"to","in":"query","schema":{"type":"string"},"required":true},{"name":"requestType","in":"query","schema":{"type":"string","enum":["rest","rpc"]},"required":false},{"name":"endpointId","in":"query","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":false},{"name":"statusCode","in":"query","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"required":false},{"name":"statusClass","in":"query","schema":{"type":"string","enum":["2xx","4xx","5xx"]},"required":false},{"name":"endpoint","in":"query","schema":{"type":"string"},"required":false},{"name":"method","in":"query","schema":{"type":"string"},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"required":false}],"responses":{"200":{"description":"One page of API request logs in the requested window. `nextCursor` is null on the last page. `id` is the request identifier you pass to the detail route.","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"method":{"type":"string"},"routeTemplate":{"type":"string"},"requestType":{"type":"string","enum":["rest","rpc"]},"statusCode":{"anyOf":[{"type":"number"},{"type":"null"}]},"durationMs":{"anyOf":[{"type":"number"},{"type":"null"}]},"requestedAt":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"ipAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}]},"callerType":{"type":"string","enum":["user","anonymous","invalid"]},"callerDisplay":{"anyOf":[{"type":"string"},{"type":"null"}]},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]},"idempotencyKey":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","method","routeTemplate","requestType","statusCode","durationMs","requestedAt","userId","organizationId","ipAddress","userAgent","callerType","callerDisplay","traceId","idempotencyKey"],"additionalProperties":false}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]},"totalCount":{"type":"number"},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"number"}},"required":["value","count"],"additionalProperties":false}}}},"required":["items","nextCursor","totalCount","facets"],"additionalProperties":false},"examples":{"example-1":{"value":{"items":[{"id":"0198f1b3-4d5e-7890-ab12-3c4d5e6f7a8b","method":"GET","routeTemplate":"/api/v2/transaction-requests/:transactionId","requestType":"rest","statusCode":200,"durationMs":42,"requestedAt":"2026-03-11T16:02:08.000Z","userId":"usr_northwind_ops","organizationId":"org_northwind_coffee","ipAddress":"203.0.113.24","userAgent":"dalp-cli/1.4.0","callerType":"user","callerDisplay":"Northwind Operations","traceId":"4bf92f3577b34da6a3ce929d0e0e4736","idempotencyKey":"0198f1b3-4d5e-7890-ab12-3c4d5e6f7a8b"}],"nextCursor":null,"totalCount":1,"facets":{"statusClass":[{"value":"2xx","count":1}]}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one keyset page of captured Platform API request logs in the requested window. `nextCursor` is null on the last page. Pass a row `id` to the request-log detail route. You need the administrator or organization-owner role. Repeat the call to refresh.","summary":"List API request logs","x-dalp-auth":"session-or-api-key"}},"/api/v2/monitoring/api/request-logs/{id}":{"get":{"tags":["Monitoring"],"operationId":"opsApiMonitoring.logDetail","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"One API request log, including sizes, headers, and bodies when they were captured. `id` is the request identifier from the logs list. The route answers 404 when that identifier is not visible in the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"method":{"type":"string"},"routeTemplate":{"type":"string"},"requestType":{"type":"string","enum":["rest","rpc"]},"statusCode":{"anyOf":[{"type":"number"},{"type":"null"}]},"durationMs":{"anyOf":[{"type":"number"},{"type":"null"}]},"requestedAt":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"ipAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}]},"callerType":{"type":"string","enum":["user","anonymous","invalid"]},"callerDisplay":{"anyOf":[{"type":"string"},{"type":"null"}]},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]},"idempotencyKey":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"responseSize":{"anyOf":[{"type":"number"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestHeaders":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]},"responseHeaders":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]},"requestBody":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]},"responseBody":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]},"requestUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"errorDetails":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]}},"required":["id","method","routeTemplate","requestType","statusCode","durationMs","requestedAt","userId","organizationId","ipAddress","userAgent","callerType","callerDisplay","traceId","idempotencyKey","requestSize","responseSize","errorMessage","requestHeaders","responseHeaders","requestBody","responseBody","requestUrl","errorDetails"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"0198f1b3-4d5e-7890-ab12-3c4d5e6f7a8b","method":"GET","routeTemplate":"/api/v2/transaction-requests/:transactionId","requestType":"rest","statusCode":200,"durationMs":42,"requestedAt":"2026-03-11T16:02:08.000Z","userId":"usr_northwind_ops","organizationId":"org_northwind_coffee","ipAddress":"203.0.113.24","userAgent":"dalp-cli/1.4.0","callerType":"user","callerDisplay":"Northwind Operations","traceId":"4bf92f3577b34da6a3ce929d0e0e4736","idempotencyKey":"0198f1b3-4d5e-7890-ab12-3c4d5e6f7a8b","requestSize":0,"responseSize":864,"errorMessage":null,"requestHeaders":{"accept":"application/json"},"responseHeaders":{"content-type":"application/json"},"requestBody":null,"responseBody":{"data":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"COMPLETED"}},"requestUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","errorDetails":null}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the captured Platform API request log named by `id`, including sizes, headers, and bodies when they were stored. The route answers 404 when that identifier is not visible in the active organization. You need the administrator or organization-owner role. The call is safe to repeat.","summary":"Read one API request log","x-dalp-auth":"session-or-api-key"}},"/api/v2/monitoring/api/request-logs/stream":{"get":{"tags":["Monitoring"],"operationId":"opsApiMonitoring.logsStream","parameters":[],"responses":{"200":{"description":"Each SSE data event is one captured Platform API request log for the active organization, in the same shape as a request-logs list item. Events are emitted in increasing log-id order. Connecting does not replay stored history, and the request has no resume cursor. While the connection stays open, the platform fills id gaps from stored logs when a live publish is dropped. Apply filters on the client. Use the request-logs list and detail routes for historical pages.","content":{"text/event-stream":{"schema":{"type":"object","properties":{"eventType":{"type":"string","enum":["request"]},"request":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"method":{"type":"string"},"routeTemplate":{"type":"string"},"requestType":{"type":"string","enum":["rest","rpc"]},"statusCode":{"anyOf":[{"type":"number"},{"type":"null"}]},"durationMs":{"anyOf":[{"type":"number"},{"type":"null"}]},"requestedAt":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"organizationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"ipAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}]},"callerType":{"type":"string","enum":["user","anonymous","invalid"]},"callerDisplay":{"anyOf":[{"type":"string"},{"type":"null"}]},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]},"idempotencyKey":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","method","routeTemplate","requestType","statusCode","durationMs","requestedAt","userId","organizationId","ipAddress","userAgent","callerType","callerDisplay","traceId","idempotencyKey"],"additionalProperties":true}},"required":["eventType","request"],"additionalProperties":true},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsLogNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsAdminRequired"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsIndexerUnreachable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsMetadataNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsBundleWindowInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"violation":{"type":"string","enum":["same-actor","already-decided","wrong-kind","wrong-state","impersonated-session","digest-moved","row-version-moved","expired","approver-role-not-permitted","quorum-not-met","not-named-approver","rejection-reason-required","state-drift","maker-revoked","wallet-verification-required","executor-not-registered"]},"storedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"submittedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["_tag","message","violation","storedDigest","submittedDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["already-resolved","already-acknowledged","expired","row-version-moved"]}},"required":["_tag","message","reason"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"$ref":"#/components/schemas/OpsLogNotFoundEncoded"},{"$ref":"#/components/schemas/OpsAdminRequiredEncoded"},{"$ref":"#/components/schemas/OpsReindexConflictEncoded"},{"$ref":"#/components/schemas/OpsReindexInvalidEncoded"},{"$ref":"#/components/schemas/OpsIndexerUnreachableEncoded"},{"$ref":"#/components/schemas/OpsMetadataNotFoundEncoded"},{"$ref":"#/components/schemas/OpsBundleWindowInvalidEncoded"},{"$ref":"#/components/schemas/OpsApprovalNotFoundEncoded"},{"$ref":"#/components/schemas/OpsApprovalRefusedEncoded"},{"$ref":"#/components/schemas/OpsCaseNotFoundEncoded"},{"$ref":"#/components/schemas/OpsCaseRefusedEncoded"}],"discriminator":{"propertyName":"_tag","mapping":{"OpsLogNotFound":"#/components/schemas/OpsLogNotFoundEncoded","OpsAdminRequired":"#/components/schemas/OpsAdminRequiredEncoded","OpsReindexConflict":"#/components/schemas/OpsReindexConflictEncoded","OpsReindexInvalid":"#/components/schemas/OpsReindexInvalidEncoded","OpsIndexerUnreachable":"#/components/schemas/OpsIndexerUnreachableEncoded","OpsMetadataNotFound":"#/components/schemas/OpsMetadataNotFoundEncoded","OpsBundleWindowInvalid":"#/components/schemas/OpsBundleWindowInvalidEncoded","OpsApprovalNotFound":"#/components/schemas/OpsApprovalNotFoundEncoded","OpsApprovalRefused":"#/components/schemas/OpsApprovalRefusedEncoded","OpsCaseNotFound":"#/components/schemas/OpsCaseNotFoundEncoded","OpsCaseRefused":"#/components/schemas/OpsCaseRefusedEncoded"}}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"eventType":"request","request":{"id":"00000000-0000-7000-8000-000000000000","method":"example","routeTemplate":"example","requestType":"rest","statusCode":0,"durationMs":0,"requestedAt":"example","userId":"example","organizationId":"example","ipAddress":"example","userAgent":"example","callerType":"user","callerDisplay":"example","traceId":"example","idempotencyKey":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens an SSE stream of new Platform API request logs for the active organization. The stream does not accept filters; apply filters on the client. The stream stays open until the client disconnects. You need the administrator or organization-owner role.","summary":"Stream API request logs","x-dalp-auth":"session-or-api-key"}},"/api/v2/blockchain-monitoring/health-metrics/summary":{"get":{"tags":["Monitoring"],"operationId":"opsChainHealth.summary","parameters":[],"responses":{"200":{"description":"Latest stored health snapshot for each tracked network RPC endpoint and Ledger Index service. The window must be at most 7 days. Repeat the call to refresh.","content":{"application/json":{"schema":{"type":"object","properties":{"services":{"type":"array","items":{"type":"object","properties":{"serviceId":{"type":"string","minLength":1},"serviceType":{"type":"string","enum":["chain-rpc","indexer"]},"chainId":{"type":"number"},"networkName":{"type":"string"},"latestStatus":{"type":"string","enum":["healthy","degraded","critical","unknown","reindexing"]},"latestSampledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"snapshotCount":{"type":"number"},"avgSyncLag":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgBlockAgeSeconds":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgFinalityLagBlocks":{"anyOf":[{"type":"number"},{"type":"null"}]},"avgStallSeconds":{"anyOf":[{"type":"number"},{"type":"null"}]},"healthyPct":{"type":"number"},"degradedPct":{"type":"number"},"criticalPct":{"type":"number"}},"required":["serviceId","serviceType","chainId","networkName","latestStatus","latestSampledAt","snapshotCount","avgSyncLag","avgBlockAgeSeconds","avgFinalityLagBlocks","avgStallSeconds","healthyPct","degradedPct","criticalPct"],"additionalProperties":false}}},"required":["services"],"additionalProperties":false},"examples":{"example-1":{"value":{"services":[{"serviceId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","serviceType":"indexer","chainId":1,"networkName":"Ethereum","latestStatus":"healthy","latestSampledAt":"2026-03-11T16:02:08.000Z","snapshotCount":96,"avgSyncLag":0,"avgBlockAgeSeconds":0,"avgFinalityLagBlocks":0,"avgStallSeconds":0,"healthyPct":0,"degradedPct":0,"criticalPct":0}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the latest stored health snapshot for each tracked network RPC endpoint and Ledger Index service. The window must be at most 7 days. You need the administrator or organization-owner role. Repeat the call to refresh.","summary":"Read blockchain-service health","x-dalp-auth":"session-or-api-key"}},"/api/v2/blockchain-monitoring/health-metrics/timeline":{"get":{"tags":["Monitoring"],"operationId":"opsChainHealth.timeline","parameters":[{"name":"from","in":"query","schema":{"type":"string"},"required":true},{"name":"to","in":"query","schema":{"type":"string"},"required":true},{"name":"requestType","in":"query","schema":{"type":"string","enum":["rest","rpc"]},"required":false}],"responses":{"200":{"description":"Health samples grouped into hour or day buckets for each tracked network RPC endpoint and Ledger Index service. The window must be at most 31 days. Buckets come from hourly health rollups, so the newest bucket can trail live samples by up to five minutes. Repeat the call to refresh.","content":{"application/json":{"schema":{"type":"object","properties":{"buckets":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"string"},"services":{"type":"array","items":{"type":"object","properties":{"serviceKey":{"type":"string"},"serviceType":{"type":"string","enum":["chain-rpc","indexer"]},"chainId":{"type":"number"},"networkName":{"type":"string"},"healthyPct":{"type":"number"},"degradedPct":{"type":"number"},"criticalPct":{"type":"number"}},"required":["serviceKey","serviceType","chainId","networkName","healthyPct","degradedPct","criticalPct"],"additionalProperties":false}}},"required":["timestamp","services"],"additionalProperties":false}}},"required":["buckets"],"additionalProperties":false},"examples":{"example-1":{"value":{"buckets":[{"timestamp":"2026-03-11T16:00:00.000Z","services":[{"serviceKey":"indexer-1","serviceType":"indexer","chainId":1,"networkName":"Ethereum","healthyPct":100,"degradedPct":0,"criticalPct":0}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns hour or day health buckets over the requested window for each tracked network RPC endpoint and Ledger Index service. The window must be at most 31 days. Optional `serviceId` limits the series to one service. You need the administrator or organization-owner role. Repeat the call to refresh.","summary":"Read blockchain-service health timeline","x-dalp-auth":"session-or-api-key"}},"/api/v2/blockchain-monitoring/deployment-state":{"get":{"tags":["Monitoring"],"operationId":"opsChainHealth.deploymentState","parameters":[],"responses":{"200":{"description":"Indexer deployment versions, reindex progress, and backfill counts. Null fields are not yet reported.","content":{"application/json":{"schema":{"type":"object","properties":{"servingVersion":{"anyOf":[{"type":"number"},{"type":"null"}]},"buildingVersion":{"anyOf":[{"type":"number"},{"type":"null"}]},"codeVersion":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexProgressPct":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexCurrentBlock":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexTargetBlock":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexStartedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"pendingBackfillCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"backfillingCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"syncedCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"failedCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["servingVersion","buildingVersion","codeVersion","reindexProgressPct","reindexCurrentBlock","reindexTargetBlock","reindexStartedAt","pendingBackfillCount","backfillingCount","syncedCount","failedCount"],"additionalProperties":false},"examples":{"example-1":{"value":{"servingVersion":0,"buildingVersion":0,"codeVersion":0,"reindexProgressPct":0,"reindexCurrentBlock":0,"reindexTargetBlock":0,"reindexStartedAt":"example","pendingBackfillCount":0,"backfillingCount":0,"syncedCount":0,"failedCount":0}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexer deployment state for the active chain: the serving, building, and code versions, reindex progress, and backfill counts. A field is null when the indexer has not reported it. Repeating the request is safe.","summary":"Read indexer deployment state","x-dalp-auth":"session-or-api-key"}},"/api/v2/blockchain-monitoring/health-snapshots/stream":{"get":{"tags":["Monitoring"],"operationId":"opsChainHealth.snapshotStream","parameters":[],"responses":{"200":{"description":"Each SSE data event is a snapshot health sample for one network RPC or Ledger Index service, or a block-progress update with the latest Ledger Index block on one chain. Snapshot events are emitted in increasing snapshot-id order. Connecting does not replay stored snapshots, and the request has no resume cursor. While the connection stays open, the platform fills snapshot-id gaps from stored samples when a live publish is dropped. Block-progress events are live only and are not replayed. Use the health-snapshots list for historical samples.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"serviceType":{"type":"string","enum":["chain-rpc","indexer"]},"chainId":{"type":"number"},"networkName":{"type":"string"},"status":{"type":"string","enum":["healthy","degraded","critical","unknown","reindexing"]},"rawStatus":{"type":"string","enum":["healthy","degraded","critical","unknown","reindexing"]},"sampledAt":{"type":"string"},"blockHeight":{"anyOf":[{"type":"number"},{"type":"null"}]},"chainHeadBlock":{"anyOf":[{"type":"number"},{"type":"null"}]},"syncLag":{"anyOf":[{"type":"number"},{"type":"null"}]},"entityCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"blockAgeSeconds":{"anyOf":[{"type":"number"},{"type":"null"}]},"finalityLagBlocks":{"anyOf":[{"type":"number"},{"type":"null"}]},"stallSeconds":{"anyOf":[{"type":"number"},{"type":"null"}]},"collectorLatencyMs":{"anyOf":[{"type":"number"},{"type":"null"}]},"eventType":{"type":"string","enum":["snapshot"]},"serviceId":{"type":"string","minLength":1},"deploymentState":{"anyOf":[{"type":"object","properties":{"servingVersion":{"anyOf":[{"type":"number"},{"type":"null"}]},"buildingVersion":{"anyOf":[{"type":"number"},{"type":"null"}]},"codeVersion":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexProgressPct":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexCurrentBlock":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexTargetBlock":{"anyOf":[{"type":"number"},{"type":"null"}]},"reindexStartedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"pendingBackfillCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"backfillingCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"syncedCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"failedCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["servingVersion","buildingVersion","codeVersion","reindexProgressPct","reindexCurrentBlock","reindexTargetBlock","reindexStartedAt","pendingBackfillCount","backfillingCount","syncedCount","failedCount"],"additionalProperties":true},{"type":"null"}]}},"required":["id","serviceType","chainId","networkName","status","rawStatus","sampledAt","blockHeight","chainHeadBlock","syncLag","entityCount","blockAgeSeconds","finalityLagBlocks","stallSeconds","collectorLatencyMs","eventType","serviceId","deploymentState"],"additionalProperties":true},{"type":"object","properties":{"eventType":{"type":"string","enum":["block-progress"]},"chainId":{"type":"number"},"blockNumber":{"type":"number"},"changedAddresses":{"type":"array","items":{"type":"string"}}},"required":["eventType","chainId","blockNumber"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsLogNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsAdminRequired"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsIndexerUnreachable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsMetadataNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsBundleWindowInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"violation":{"type":"string","enum":["same-actor","already-decided","wrong-kind","wrong-state","impersonated-session","digest-moved","row-version-moved","expired","approver-role-not-permitted","quorum-not-met","not-named-approver","rejection-reason-required","state-drift","maker-revoked","wallet-verification-required","executor-not-registered"]},"storedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"submittedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["_tag","message","violation","storedDigest","submittedDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["already-resolved","already-acknowledged","expired","row-version-moved"]}},"required":["_tag","message","reason"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"$ref":"#/components/schemas/OpsLogNotFoundEncoded"},{"$ref":"#/components/schemas/OpsAdminRequiredEncoded"},{"$ref":"#/components/schemas/OpsReindexConflictEncoded"},{"$ref":"#/components/schemas/OpsReindexInvalidEncoded"},{"$ref":"#/components/schemas/OpsIndexerUnreachableEncoded"},{"$ref":"#/components/schemas/OpsMetadataNotFoundEncoded"},{"$ref":"#/components/schemas/OpsBundleWindowInvalidEncoded"},{"$ref":"#/components/schemas/OpsApprovalNotFoundEncoded"},{"$ref":"#/components/schemas/OpsApprovalRefusedEncoded"},{"$ref":"#/components/schemas/OpsCaseNotFoundEncoded"},{"$ref":"#/components/schemas/OpsCaseRefusedEncoded"}],"discriminator":{"propertyName":"_tag","mapping":{"OpsLogNotFound":"#/components/schemas/OpsLogNotFoundEncoded","OpsAdminRequired":"#/components/schemas/OpsAdminRequiredEncoded","OpsReindexConflict":"#/components/schemas/OpsReindexConflictEncoded","OpsReindexInvalid":"#/components/schemas/OpsReindexInvalidEncoded","OpsIndexerUnreachable":"#/components/schemas/OpsIndexerUnreachableEncoded","OpsMetadataNotFound":"#/components/schemas/OpsMetadataNotFoundEncoded","OpsBundleWindowInvalid":"#/components/schemas/OpsBundleWindowInvalidEncoded","OpsApprovalNotFound":"#/components/schemas/OpsApprovalNotFoundEncoded","OpsApprovalRefused":"#/components/schemas/OpsApprovalRefusedEncoded","OpsCaseNotFound":"#/components/schemas/OpsCaseNotFoundEncoded","OpsCaseRefused":"#/components/schemas/OpsCaseRefusedEncoded"}}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"id":"example","serviceType":"chain-rpc","chainId":0,"networkName":"example","status":"healthy","rawStatus":"healthy","sampledAt":"example","blockHeight":0,"chainHeadBlock":0,"syncLag":0,"entityCount":0,"blockAgeSeconds":0,"finalityLagBlocks":0,"stallSeconds":0,"collectorLatencyMs":0,"eventType":"snapshot","serviceId":"example","deploymentState":{"servingVersion":0,"buildingVersion":0,"codeVersion":0,"reindexProgressPct":0,"reindexCurrentBlock":0,"reindexTargetBlock":0,"reindexStartedAt":"example","pendingBackfillCount":0,"backfillingCount":0,"syncedCount":0,"failedCount":0}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens an SSE stream of new health snapshots and block-progress events for tracked network RPC endpoints and Ledger Index services. The stream stays open until the client disconnects. You need the administrator or organization-owner role.","summary":"Stream blockchain-service health snapshots","x-dalp-auth":"session-or-api-key"}},"/api/v2/events/block-progress":{"get":{"tags":["Monitoring"],"operationId":"opsChainHealth.blockProgress","parameters":[],"responses":{"200":{"description":"Each SSE data event is a block-progress update with the latest Ledger Index block on one chain. Events carry only chainId and blockNumber. Connecting does not replay history. The stream stays open until the client disconnects. Any authenticated session can subscribe.","content":{"text/event-stream":{"schema":{"type":"object","properties":{"chainId":{"type":"number"},"blockNumber":{"type":"number"},"changedAddresses":{"type":"array","items":{"type":"string"}}},"required":["chainId","blockNumber"],"additionalProperties":true},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsLogNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsAdminRequired"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsIndexerUnreachable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsMetadataNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsBundleWindowInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"violation":{"type":"string","enum":["same-actor","already-decided","wrong-kind","wrong-state","impersonated-session","digest-moved","row-version-moved","expired","approver-role-not-permitted","quorum-not-met","not-named-approver","rejection-reason-required","state-drift","maker-revoked","wallet-verification-required","executor-not-registered"]},"storedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"submittedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["_tag","message","violation","storedDigest","submittedDigest"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["already-resolved","already-acknowledged","expired","row-version-moved"]}},"required":["_tag","message","reason"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"$ref":"#/components/schemas/OpsLogNotFoundEncoded"},{"$ref":"#/components/schemas/OpsAdminRequiredEncoded"},{"$ref":"#/components/schemas/OpsReindexConflictEncoded"},{"$ref":"#/components/schemas/OpsReindexInvalidEncoded"},{"$ref":"#/components/schemas/OpsIndexerUnreachableEncoded"},{"$ref":"#/components/schemas/OpsMetadataNotFoundEncoded"},{"$ref":"#/components/schemas/OpsBundleWindowInvalidEncoded"},{"$ref":"#/components/schemas/OpsApprovalNotFoundEncoded"},{"$ref":"#/components/schemas/OpsApprovalRefusedEncoded"},{"$ref":"#/components/schemas/OpsCaseNotFoundEncoded"},{"$ref":"#/components/schemas/OpsCaseRefusedEncoded"}],"discriminator":{"propertyName":"_tag","mapping":{"OpsLogNotFound":"#/components/schemas/OpsLogNotFoundEncoded","OpsAdminRequired":"#/components/schemas/OpsAdminRequiredEncoded","OpsReindexConflict":"#/components/schemas/OpsReindexConflictEncoded","OpsReindexInvalid":"#/components/schemas/OpsReindexInvalidEncoded","OpsIndexerUnreachable":"#/components/schemas/OpsIndexerUnreachableEncoded","OpsMetadataNotFound":"#/components/schemas/OpsMetadataNotFoundEncoded","OpsBundleWindowInvalid":"#/components/schemas/OpsBundleWindowInvalidEncoded","OpsApprovalNotFound":"#/components/schemas/OpsApprovalNotFoundEncoded","OpsApprovalRefused":"#/components/schemas/OpsApprovalRefusedEncoded","OpsCaseNotFound":"#/components/schemas/OpsCaseNotFoundEncoded","OpsCaseRefused":"#/components/schemas/OpsCaseRefusedEncoded"}}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"chainId":0,"blockNumber":0,"changedAddresses":["example"]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens an SSE stream of Ledger Index block-progress events. Each event carries only the chain identifier and block number. Any authenticated session can subscribe. The stream stays open until the client disconnects.","summary":"Stream block progress","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/history":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.history","parameters":[{"name":"days","in":"query","schema":{"type":"integer","minimum":1,"maximum":30},"required":false}],"responses":{"200":{"description":"One item per completed UTC day, oldest first, each with the day's verdict and its 24 hourly verdicts. Repeat the call to refresh.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"severity":{"type":"string","enum":["operational","degraded","outage","no_data"]},"hours":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"severity":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","severity"],"additionalProperties":false},"minItems":24,"maxItems":24}},"required":["date","severity","hours"],"additionalProperties":false}},"examples":{"example-1":{"value":[{"date":"2026-03-11","severity":"outage","hours":[{"bucketHour":"2026-03-11T00:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T01:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T02:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T03:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T04:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T05:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T06:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T07:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T08:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T09:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T10:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T11:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T12:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T13:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T14:00:00.000Z","severity":"outage"},{"bucketHour":"2026-03-11T15:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T16:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T17:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T18:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T19:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T20:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T21:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T22:00:00.000Z","severity":"operational"},{"bucketHour":"2026-03-11T23:00:00.000Z","severity":"operational"}]}]}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one item per completed UTC day over the requested number of days, oldest first. Each day carries the platform's worst verdict for that day and 24 hourly cells from 00:00 to 23:00 UTC; an hour never reads worse than its day. `days` defaults to 30 and accepts at most 30. Verdicts are operational, degraded, outage, or no_data. Repeat the call to refresh.","summary":"Read platform-status history","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.platformStatus","parameters":[],"responses":{"200":{"description":"The platform status bundle with a common generation time, header verdict, status panels, and stat cards.","content":{"application/json":{"schema":{"type":"object","properties":{"generatedAt":{"type":"string"},"headerVerdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"panels":{"type":"object","properties":{"dataFreshness":{"type":"object","properties":{"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"cause":{"anyOf":[{"type":"object","properties":{"reason":{"type":"string","enum":["behind","far_behind","ahead_of_head"]},"lagBlocks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["reason","lagBlocks"],"additionalProperties":false},{"type":"object","properties":{"reason":{"type":"string","enum":["not_advancing","stalled"]},"idleSeconds":{"type":"number"}},"required":["reason","idleSeconds"],"additionalProperties":false},{"type":"null"}]},"sparkline":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","value","verdict"],"additionalProperties":false}},"stats":{"type":"object","properties":{"chainsInSync":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalChains":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unhealthyMinutes24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"currentDelayBlocks":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"currentDelaySeconds":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["chainsInSync","totalChains","unhealthyMinutes24h","currentDelayBlocks","currentDelaySeconds"],"additionalProperties":false}},"required":["verdict","cause","sparkline","stats"],"additionalProperties":false},"transactions":{"type":"object","properties":{"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"sparkline":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","value","verdict"],"additionalProperties":false}},"stats":{"type":"object","properties":{"chainCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"submitted24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["chainCount","submitted24h","failed24h"],"additionalProperties":false}},"required":["verdict","sparkline","stats"],"additionalProperties":false},"platformApi":{"type":"object","properties":{"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"sparkline":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","value","verdict"],"additionalProperties":false}},"stats":{"type":"object","properties":{"totalRequests24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error4xxRate":{"type":"number"},"error5xxRate":{"type":"number"}},"required":["totalRequests24h","error4xxRate","error5xxRate"],"additionalProperties":false},"codeVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"dashboardsUrl":{"$ref":"#/components/schemas/HTTPURL"}},"required":["verdict","sparkline","stats","codeVersion"],"additionalProperties":false},"workflows":{"type":"object","properties":{"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"sparkline":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","value","verdict"],"additionalProperties":false}},"stats":{"type":"object","properties":{"completed24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"stalled":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["completed24h","stalled"],"additionalProperties":false}},"required":["verdict","sparkline","stats"],"additionalProperties":false}},"required":["dataFreshness","transactions","platformApi","workflows"],"additionalProperties":false},"statCards":{"type":"object","properties":{"generatedAt":{"type":"string"},"operationsCompleted24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"operationsCompleted24hPrevious24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"successRate24h":{"anyOf":[{"type":"number"},{"type":"null"}]},"successRate24hPrevious24h":{"anyOf":[{"type":"number"},{"type":"null"}]},"completionTimeP95Ms":{"anyOf":[{"type":"number"},{"type":"null"}]},"completionTimeP95MsPrevious24h":{"anyOf":[{"type":"number"},{"type":"null"}]},"dataDelayBlocks":{"anyOf":[{"type":"number"},{"type":"null"}]},"queryableDelayBlocks":{"anyOf":[{"type":"number"},{"type":"null"}]},"dataDelayBlocksAsOf":{"anyOf":[{"type":"string"},{"type":"null"}]},"queryableDelayBlocksAsOf":{"anyOf":[{"type":"string"},{"type":"null"}]},"indexerHeadBlocks":{"anyOf":[{"type":"number"},{"type":"null"}]},"trends":{"type":"object","properties":{"operationsCompleted":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"successRate":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"completionTimeP95Ms":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"dataDelayBlocks":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"indexerHead":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}}},"required":["operationsCompleted","successRate","completionTimeP95Ms","dataDelayBlocks","indexerHead"],"additionalProperties":false},"totalChains":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["generatedAt","operationsCompleted24h","operationsCompleted24hPrevious24h","successRate24h","successRate24hPrevious24h","completionTimeP95Ms","completionTimeP95MsPrevious24h","dataDelayBlocks","queryableDelayBlocks","dataDelayBlocksAsOf","queryableDelayBlocksAsOf","indexerHeadBlocks","trends","totalChains"],"additionalProperties":false}},"required":["generatedAt","headerVerdict","panels","statCards"],"additionalProperties":false},"examples":{"example-1":{"value":{"generatedAt":"2026-03-11T16:10:00.000Z","headerVerdict":"operational","panels":{"dataFreshness":{"verdict":"operational","cause":null,"sparkline":[{"bucketHour":"2026-03-11T16:00:00.000Z","value":2,"verdict":"operational"}],"stats":{"chainsInSync":1,"totalChains":1,"unhealthyMinutes24h":0,"currentDelayBlocks":2,"currentDelaySeconds":12}},"transactions":{"verdict":"operational","sparkline":[{"bucketHour":"2026-03-11T16:00:00.000Z","value":14,"verdict":"operational"}],"stats":{"chainCount":1,"submitted24h":128,"failed24h":1}},"platformApi":{"verdict":"operational","sparkline":[{"bucketHour":"2026-03-11T16:00:00.000Z","value":1842,"verdict":"operational"}],"stats":{"totalRequests24h":1842,"error4xxRate":0.009,"error5xxRate":0.003},"codeVersion":1,"dashboardsUrl":"https://grafana.example.com"},"workflows":{"verdict":"operational","sparkline":[{"bucketHour":"2026-03-11T16:00:00.000Z","value":12,"verdict":"operational"}],"stats":{"completed24h":12,"stalled":0}}},"statCards":{"generatedAt":"2026-03-11T16:10:00.000Z","operationsCompleted24h":12,"operationsCompleted24hPrevious24h":0,"successRate24h":1,"successRate24hPrevious24h":0,"completionTimeP95Ms":4200,"completionTimeP95MsPrevious24h":3900,"dataDelayBlocks":2,"queryableDelayBlocks":2,"dataDelayBlocksAsOf":"2026-03-11T16:10:00.000Z","queryableDelayBlocksAsOf":"2026-03-11T16:10:00.000Z","indexerHeadBlocks":21458901,"trends":{"operationsCompleted":[10],"successRate":[1],"completionTimeP95Ms":[3900],"dataDelayBlocks":[2],"indexerHead":[21458800]},"totalChains":1}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the Operations Console status header, all live status panels, and headline stat cards in one read. The panel values are computed together from the same observation time, so a caller can render one consistent platform view without issuing separate panel requests.","summary":"Read platform status","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/transactions-list":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.transactionsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","enum":["RECEIVED","QUEUED","AWAITING_WORKFLOW","PREPARING","PENDING_APPROVAL","SIGNING","BROADCASTING","CONFIRMING","COMPLETED","FAILED","DEAD_LETTER","CANCELLED"],"description":"Current state in the transaction request lifecycle"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"operationType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"chainId":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of Transaction Queue rows for the active organization, including system and onboarding wallets. The list is organization-scoped, not wallet-set scoped.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusTransactionsList"},"examples":{"example-1":{"value":{"data":[{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","kind":"token.create","description":"Create Northwind Coffee Bond","status":"COMPLETED","subStatus":null,"fromAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":1,"nonce":42,"gasPrice":"1200000000","gasUsed":"182340","effectiveGasPrice":"1150000000","blockNumber":"19482113","transactionHash":"0x3a1b2c4d5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f809","confirmationChecks":3,"errorMessage":null,"revertReason":null,"contractErrorCode":null,"revertData":null,"decodedRevert":null,"traceId":"4bf92f3577b34da6a3ce929d0e0e4736","createdAt":"2026-03-11T15:58:00.000Z","updatedAt":"2026-03-11T16:02:08.000Z"}],"meta":{"total":1},"links":{"self":"/v2/platform-status/transactions-list?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/platform-status/transactions-list?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/platform-status/transactions-list?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns recent Transaction Queue rows for the active organization, including system and onboarding wallets. The list is organization-scoped, not limited to the caller's wallet set. Each row carries the status payload for the Operations Console detail sheet. Repeat the call to refresh.","summary":"List recent transactions","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/workflows-list":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.workflowsList","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500},"required":false}],"responses":{"200":{"description":"Bounded page of recent Workflow Engine executions for the active organization. Stalled executions appear first. Repeat the call to refresh.","content":{"application/json":{"schema":{"type":"object","properties":{"generatedAt":{"type":"string"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"workflowType":{"type":"string"},"status":{"type":"string"},"stalled":{"type":"boolean"},"outcome":{"anyOf":[{"type":"string","enum":["success","failure","interrupted"]},{"type":"null"}]},"createdAt":{"type":"string"},"modifiedAt":{"type":"string"}},"required":["id","workflowType","status","stalled","outcome","createdAt","modifiedAt"],"additionalProperties":false}},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"truncated":{"type":"boolean"}},"required":["generatedAt","items","total","truncated"],"additionalProperties":false},"examples":{"example-1":{"value":{"generatedAt":"2026-03-11T16:10:00.000Z","items":[{"id":"exec_northwind_token_create_01","workflowType":"TokenCreateWorkflow","status":"completed","stalled":false,"outcome":"success","createdAt":"2026-03-11T15:58:00.000Z","modifiedAt":"2026-03-11T16:02:08.000Z"}],"total":1,"truncated":false}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a bounded page of recent Workflow Engine executions for the active organization. Stalled executions appear first, then newest. The page mixes live execution status with completed history. It is not a cursor-paginated collection. Repeat the call to refresh.","summary":"List recent workflows","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/held-bundles":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.heldBundles","parameters":[],"responses":{"200":{"description":"How many bundles a custody provider holds for an approver on the organization's bundler wallets, and the 20 oldest.","content":{"application/json":{"schema":{"type":"object","properties":{"generatedAt":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"oldestAgeSeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"bundles":{"type":"array","items":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/ManagedCustodyProviderKind"},"providerIdentity":{"$ref":"#/components/schemas/CustodySignerProviderIdentity"},"approvalReference":{"type":"string"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"heldSince":{"type":"string"},"ageSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["provider","providerIdentity","approvalReference","chainId","heldSince","ageSeconds"],"additionalProperties":false}}},"required":["generatedAt","count","oldestAgeSeconds","bundles"],"additionalProperties":false},"examples":{"example-1":{"value":{"generatedAt":"2026-03-11T16:10:00.000Z","count":1,"oldestAgeSeconds":4200,"bundles":[{"provider":"fireblocks","providerIdentity":"local","approvalReference":"9b2f7c4e-5a1d-4c3b-8e6f-0a1b2c3d4e5f","chainId":11155111,"heldSince":"2026-03-11T15:00:00.000Z","ageSeconds":4200}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the user operation bundles that a custody provider holds for an approver on the active organization's bundler wallets. `count` is how many are held, and `bundles` lists the 20 oldest, oldest first. Each bundle names the custody provider, the provider's reference for the held request (`approvalReference`), the chain, when the hold started, and its age in seconds at `generatedAt`. Every user operation in a held bundle waits until an approver decides at the custody provider. `oldestAgeSeconds` is the age of the oldest held bundle, or null when no bundle is held. The caller must be a platform administrator or the organization's owner. Repeat the call to refresh.","summary":"List held bundles","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/outbound":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.outbound","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"generatedAt":{"type":"string"},"subsystems":{"type":"array","items":{"type":"object","properties":{"subsystem":{"type":"string","enum":["email","fix","batch-jobs","scheduled-jobs"]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"sparkline":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"value":{"anyOf":[{"type":"number"},{"type":"null"}]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","value","verdict"],"additionalProperties":false}},"stats":{"type":"object","properties":{"attempts24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"averageDurationMs24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"lastAttemptAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["attempts24h","failed24h","averageDurationMs24h","lastAttemptAt"],"additionalProperties":false}},"required":["subsystem","verdict","sparkline","stats"],"additionalProperties":false}}},"required":["generatedAt","subsystems"],"additionalProperties":false},"examples":{"example-1":{"value":{"generatedAt":"example","subsystems":[{"subsystem":"email","verdict":"operational","sparkline":[{"bucketHour":"example","value":0,"verdict":"operational"}],"stats":{"attempts24h":0,"failed24h":0,"averageDurationMs24h":0,"lastAttemptAt":"example"}}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/outbound/{subsystem}":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.outboundDetail","parameters":[{"name":"subsystem","in":"path","schema":{"type":"string","enum":["email","fix","batch-jobs","scheduled-jobs"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"generatedAt":{"type":"string"},"subsystem":{"type":"string","enum":["email","fix","batch-jobs","scheduled-jobs"]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]},"stats":{"type":"object","properties":{"attempts24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"averageDurationMs24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"lastAttemptAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["attempts24h","failed24h","averageDurationMs24h","lastAttemptAt"],"additionalProperties":false},"hours":{"type":"array","items":{"type":"object","properties":{"bucketHour":{"type":"string"},"succeeded":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["bucketHour","succeeded","failed","verdict"],"additionalProperties":false}},"channels":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string"},"attempts24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"failed24h":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"averageDurationMs24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"maxDurationMs24h":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"]}},"required":["channel","attempts24h","failed24h","averageDurationMs24h","maxDurationMs24h","verdict"],"additionalProperties":false}},"recentFailures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"occurredAt":{"type":"string"},"channel":{"type":"string"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"reference":{"anyOf":[{"type":"string"},{"type":"null"}]},"durationMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"platformLevel":{"type":"boolean"}},"required":["id","occurredAt","channel","reason","reference","durationMs","platformLevel"],"additionalProperties":false}}},"required":["generatedAt","subsystem","verdict","stats","hours","channels","recentFailures"],"additionalProperties":false},"examples":{"example-1":{"value":{"generatedAt":"example","subsystem":"email","verdict":"operational","stats":{"attempts24h":0,"failed24h":0,"averageDurationMs24h":0,"lastAttemptAt":"example"},"hours":[{"bucketHour":"example","succeeded":0,"failed":0,"verdict":"operational"}],"channels":[{"channel":"example","attempts24h":0,"failed24h":0,"averageDurationMs24h":0,"maxDurationMs24h":0,"verdict":"operational"}],"recentFailures":[{"id":"example","occurredAt":"example","channel":"example","reason":"example","reference":"example","durationMs":0,"platformLevel":false}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-status/debug-bundle":{"get":{"tags":["Monitoring"],"operationId":"opsStatus.debugBundle","parameters":[{"name":"from","in":"query","schema":{"type":"string"},"required":false},{"name":"to","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Redacted diagnostics bundle for the active organization. Secrets and raw payloads are stripped. Repeat the call to collect a new snapshot.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"x-effect-stream":{"encoding":"uint8array"},"examples":{"example-1":{"value":"{\"manifest\":{\"schemaVersion\":1,\"generatedAt\":\"2026-03-11T16:10:00.000Z\",\"generatedByRole\":\"admin\",\"window\":{\"from\":\"2026-03-11T15:10:00.000Z\",\"to\":\"2026-03-11T16:10:00.000Z\"},\"categories\":[{\"id\":\"database\",\"title\":\"Database\",\"source\":\"reachability probe\",\"capturedAt\":\"2026-03-11T16:10:00.000Z\",\"status\":\"ok\",\"file\":\"database.json\"}]},\"categories\":{\"database\":{\"reachable\":true}}}"}}}},"headers":{"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a redacted diagnostics bundle for the active organization. Secrets and raw payloads are stripped. Cache-Control is private. Optional `window.from` and `window.to` bound the captured logs and traces. Repeat the call to collect a new snapshot.","summary":"Build a redacted platform-status debug bundle","x-dalp-auth":"session-or-api-key"}},"/api/v2/search-results":{"get":{"tags":["Search"],"operationId":"opsSearch.global","parameters":[{"name":"query","in":"query","schema":{"type":"string"},"required":true},{"name":"limits","in":"query","schema":{"type":"object","properties":{"contacts":{"type":"integer","minimum":1,"maximum":50},"tokens":{"type":"integer","minimum":1,"maximum":50},"users":{"type":"integer","minimum":1,"maximum":50},"participants":{"type":"integer","minimum":1,"maximum":50},"systemContracts":{"type":"integer","minimum":1,"maximum":50}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Permission-aware search hits grouped by resource type, wrapped in the v2 single-resource envelope. The platform leaves out a section when it has no matches. The call does not change state.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"sections":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["contacts"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"wallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id","name","wallet"],"additionalProperties":false}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["tokens"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"tokenFactory":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. Its `tokenFactory` is then the registry address, so read this field, never `tokenFactory`, to tell the two apart."},"type":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"totalSupply":{"$ref":"#/components/schemas/BigDecimal"},"totalSupplyExact":{"type":"string"},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string"},"templateSlug":{"type":"string"}},"required":["templateId","templateSlug"],"additionalProperties":false},{"type":"null"}]}},"required":["id","tokenFactory","isExternal","type","createdAt","name","symbol","decimals","basePrice","basePriceCurrencyCode","totalSupply","smartInterface","pausable","templateLink"],"additionalProperties":false}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["users"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"$ref":"#/components/schemas/UserRoleEncoded"}},"required":["id","participantId","name"],"additionalProperties":false}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["participants"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"name":{"type":"string"},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"own":{"type":"boolean"},"identity":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["id","name","address","own","identity"],"additionalProperties":false}}},"required":["type","items"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["systemContracts"]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"contractType":{"type":"string"}},"required":["id","name","contractType"],"additionalProperties":false}}},"required":["type","items"],"additionalProperties":false}]}}},"required":["sections"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"sections":[{"type":"contacts","items":[{"id":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","name":"Northwind Coffee Treasury","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}]},{"type":"users","items":[{"id":"usr_northwind_ops","participantId":"participant-northwind-ops","name":"Northwind Operations","role":"admin"}]},{"type":"systemContracts","items":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","name":"Token Factory","contractType":"TokenFactory"}]}]},"links":{"self":"/v2/search-results?query=Northwind"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns permission-aware hits for a search term of 2 to 120 characters, wrapped in the v2 single-resource envelope. The platform leaves out a section when it has no matches. Optional `limits` cap a section at 1 to 50 hits. The call does not change state.","summary":"Search contacts, tokens, users, and system contracts","x-dalp-auth":"session-or-api-key"}},"/api/v2/address-names":{"get":{"tags":["Search"],"operationId":"opsSearch.addressNames","parameters":[{"name":"addresses","in":"query","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Display names keyed by lowercase address, wrapped in the v2 single-resource envelope. An address the caller cannot name is absent. The call does not change state.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string"},"kind":{"type":"string","enum":["user","participant","contact","token","systemContract"]},"symbol":{"type":"string"},"isContract":{"type":"boolean"},"contractType":{"type":"string"}},"required":["name","kind","isContract"],"additionalProperties":false}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"0x71c7656ec7ab88b098defb751b7401b5f6d8976f":{"name":"Northwind Coffee Treasury","kind":"contact","isContract":false},"0x2546bcd3c84621e976d8185a91a922ae77ecec30":{"name":"Token Factory","kind":"systemContract","isContract":true,"contractType":"TokenFactory"}},"links":{"self":"/v2/address-names"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a display name for each address the caller may see, keyed by lowercase address, wrapped in the v2 single-resource envelope. `addresses` is a comma-joined list of 1 to 50 EVM addresses. A name comes from the first match in this order: user, organisation participant, contact, token, system contract. An address with no visible match is absent. The call does not change state.","summary":"Resolve display names for up to 50 addresses","x-dalp-auth":"session-or-api-key"}},"/api/v2/metadata/{hash}":{"get":{"tags":["Platform settings"],"operationId":"opsMetadata.read","parameters":[{"name":"hash","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true}],"responses":{"200":{"description":"Token metadata stored under the path hash, wrapped in the v2 single-resource envelope. The route answers 404 when that hash is not in the metadata store.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"hash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"contentType":{"type":"string","minLength":1},"payload":{"type":"string"}},"required":["hash","contentType","payload"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"hash":"0x5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8","contentType":"application/json","payload":"{\"name\":\"Northwind Coffee Bond\",\"symbol\":\"NWCB\"}"},"links":{"self":"/v2/metadata/0x5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the token metadata stored under the 32-byte content hash in the path. The same hash always returns the same document. The route answers 404 when that hash is not in the metadata store. The call is safe to repeat.","summary":"Resolve content-addressed token metadata","x-dalp-auth":"session-or-api-key"}},"/api/v2/checker-approvals/{approvalId}":{"get":{"tags":["Transactions"],"operationId":"checkerApprovalsV2.read","parameters":[{"name":"approvalId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Pending checker approval to decide"},"required":true}],"responses":{"200":{"description":"Single-resource envelope. `data` is the approval: its `state`, the `executionState` of a held administrative change, the `digest` to submit with the decision, and the `summary` of the change with secrets redacted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CheckerApprovalRead"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"approvalId":"00000000-0000-7000-8000-000000000000","kind":"admin-mutation","state":"pending","executionState":null,"digest":"4b0f1c6d8e9a2b3c5d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c","summary":{"operation":"roleGrant","method":"POST","path":"/api/v2/tokens/token-1/address-freezes","target":[{"field":"role","value":"token-1"}],"changes":[{"field":"role","value":"true"}],"before":[{"field":"role","value":"example"}],"truncated":false,"digest":"4b0f1c6d8e9a2b3c5d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c"},"requestedAt":"2026-10-30T08:00:00.000Z","expiresAt":"2026-10-31T08:00:00.000Z","decidedAt":null,"rejectionReason":null,"rejectionReasonCode":"approval-expired"},"links":{"self":"/api/v2/checker-approvals/approval-request-001"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DEBUG_BUNDLE_WINDOW_INVALID","INVALID_REQUEST_EXECUTOR","REINDEX_REQUEST_INVALID","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0046","DALP-0705","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","ADMIN_ACCESS_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0032","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["API_MONITORING_LOG_ENTRY_NOT_FOUND","APPROVAL_NOT_FOUND","CONTRACT_ERROR","METADATA_NOT_FOUND","OPERATIONS_CASE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0048","DALP-0533","DALP-12296","DALP-9524","DALP-9540","DALP-9542"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"API_MONITORING_LOG_ENTRY_NOT_FOUND","status":404,"message":"API monitoring log entry was not found","data":{"id":"DALP-0048","why":"No API monitoring log entry exists for the requested id in the active organization.","fix":"Verify the log entry id and organization, then retry.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVAL_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","OPERATIONS_CASE_REFUSED","OPERATIONS_REINDEX_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0699","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433","DALP-9541","DALP-9543"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVAL_REFUSED","status":409,"message":"The approval decision was refused","data":{"id":"DALP-9541","why":"The platform's maker-checker rules and the policy version the request was raised under decide who may approve and whether the decision is still valid. The maker cannot approve their own request. A role the pinned policy does not name cannot approve. A signature that leaves the policy's approver floor short is recorded against the request rather than admitting it. A borrowed session cannot approve when the pinned policy sets `operatorMayApprove` to false. A payload that moved invalidates the approval. An expired request accepts no decision. A policy that names no approving role admits any role the platform has already admitted as an approver. A request already decided accepts no second decision. A decision that lost a race to another writer is refused.","fix":"Read the request again for its current state and row version, and have a distinct operator decide it.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","REINDEX_SERVICE_UNREACHABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0045","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the state of a held approval, the digest a decision must submit, and a redacted summary of the change the approval would run. Only the user who raised the approval, or a user whose role may decide it, can read it; any other caller receives 404. This is the URL a held `202` response names in `statusUrl` and `Location`.","summary":"Read a checker approval","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants":{"get":{"tags":["Participants"],"operationId":"party.participants.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"kind":{"anyOf":[{"type":"string","enum":["person","company","fund","spv","department","joint_account","asset","organisation","claim_issuer","addon","agent"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"address":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["active","restricted","suspended","closed","terminated"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"purpose","in":"query","schema":{"type":"string","enum":["transfer","identity","participant"]},"required":true},{"name":"status","in":"query","schema":{"type":"string","enum":["active","restricted","suspended","closed","terminated"]},"required":false},{"name":"eligibleForToken","in":"query","schema":{"type":"object","properties":{"tokenAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"action":{"anyOf":[{"type":"string","enum":["mint","transfer","burn"]},{"type":"null"}]},"reveal":{"type":"string","enum":["true","false"]}},"required":["tokenAddress"],"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"A page of participants, with the total count and pagination links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Participant"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"eligibilityHiddenCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalIsLowerBound":{"$ref":"#/components/schemas/ParticipantListTotalIsLowerBound"}},"required":["total"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","kind":"person","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","displayName":"Ada Lovelace","symbol":null}],"meta":{"total":1},"links":{"self":"/v2/participants?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/participants?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/participants?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the participants of the active organization that the session is allowed to see. `purpose` selects which address each row carries: `transfer` returns the address a transfer should be sent to, `identity` returns the participant's on-chain identity contract address, and `participant` returns the participant record itself and keeps rows whose address is still null. The `transfer` and `identity` purposes skip participants that have no such address. A session that cannot search the organization's members sees only `asset` and `addon` participants. Add the `eligibleForToken` filter to keep only the participants a given token accepts for a `mint`, `transfer`, or `burn`; wallet selection and `meta.eligibilityHiddenCount` then use the same eligibility-aware resolved result set.","summary":"List participants","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Participants"],"operationId":"party.participants.create","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/preferTimingWaitWithinBudget"}],"responses":{"200":{"description":"The created participant, with its wallet address and its on-chain identity contract address.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantCreated"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","kind":"smart","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identity":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"links":{"self":"/v2/participants"}}}}}},"headers":{}},"201":{"description":"The created participant, waiting for its owner to prove the key.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PendingParticipantCreated"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","activationStatus":"pending","proofUrl":"/api/v2/users/me/custody-account-control-preparations"},"links":{"self":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for a mutation whose managed custody account is still settling. The resource was created, but its custody account is not yet usable. Poll `statusUrl` until the lifecycle state is terminal. Do not retry the original POST.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyCustodyLifecycleAccepted"},"examples":{"example-1":{"value":{"requestId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/participants/pp_0198f1a2-0000-7000-8000-000000000001/custody-account-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","party.participant.WALLET_TYPE_CONFLICT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12267","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CUSTODY_PROVIDER_CONFIG_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12271"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CUSTODY_PROVIDER_CONFIG_INVALID","status":422,"message":"The custody provider configuration is not valid here","data":{"id":"DALP-12271","why":"The provider or ledger is not enabled on this deployment, the provider lacks a signing capability or does not serve the requested network, the credential fields do not match the provider, the provider identity or exclusivity does not fit the credentials, or no such configuration exists in this organisation.","fix":"Choose an enabled provider and ledger that serve the network with the signing capabilities it needs, send the credential fields that provider expects, and name a configuration of your own organisation.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates the participant one person acts as, provisions its wallet, and deploys its on-chain identity contract. It belongs to the user named by `forUserId`, or to you when that is omitted. `walletType` picks an `eoa` key account or a `smart` account with one signer of its own. Create multisig accounts through the multisig-draft finalize operation. A smart account needs account abstraction enabled for the organization and reconciled on this network; elsewhere `eoa` is the account the organization can drive. A 200 means the participant's custody account settled and is usable. A participant on a bring-your-own-key provider answers 201: it is created with no address and no account, and its owner activates it by connecting the wallet and signing the proof of control in a session of their own. When the managed custody account is still settling (for example awaiting account-abstraction reconciliation or an approval), the participant is created but the response is 202 with the lifecycle `requestId`, its `state`, and a `statusUrl` to poll until the state is terminal. The request is wallet-verified, is limited to ten participants per organization per minute.","summary":"Create a participant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/import-batches":{"post":{"tags":["Participants"],"operationId":"party.participants.importBatchCreate","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantImportBatch"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"batchId":"019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e","state":"completed","rows":[{"index":0,"externalRef":"onboarding-1001","status":"created","code":null,"issues":[],"participantId":"0194b2cb-8f02-7d19-a4c6-1e90b35d7a48"},{"index":1,"externalRef":"onboarding-1002","status":"failed","code":"row-invalid","issues":[{"field":"nationality","reason":"Expected an ISO 3166-1 alpha-2 country code"}],"participantId":null}]},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"ParticipantImportBatchAccepted The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ParticipantImportBatchAccepted"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"batchId":"019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e","state":"running","statusUrl":"/api/v2/participants/import-batches/019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantImportBatchCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/import-batches/{batchId}":{"get":{"tags":["Participants"],"operationId":"party.participants.importBatchRead","parameters":[{"name":"batchId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Participant import batch identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantImportBatch"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"batchId":"019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e","state":"completed","rows":[{"index":0,"externalRef":"onboarding-1001","status":"created","code":null,"issues":[],"participantId":"0194b2cb-8f02-7d19-a4c6-1e90b35d7a48"},{"index":1,"externalRef":"onboarding-1002","status":"failed","code":"row-invalid","issues":[{"field":"nationality","reason":"Expected an ISO 3166-1 alpha-2 country code"}],"participantId":null}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/assumable":{"get":{"tags":["Participants"],"operationId":"party.participants.assumableList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kind":{"anyOf":[{"type":"string","enum":["person","organisation"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ownership":{"anyOf":[{"type":"string","enum":["owned","other"],"description":"`owned` for a person participant your account holds; `other` for every participant you act as through your organization or a wallet you sign for."},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"assumableParticipant":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the assumableParticipant resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"assumableParticipant":"id,displayName,kind,ownership,gatingRole,actAvailability,signerThreshold,walletAddresses"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the assumableParticipant members a list or a strip renders: id, displayName, kind, ownership, gatingRole, actAvailability, signerThreshold, walletAddresses. Send fields[assumableParticipant] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"A page of participants the signed-in user may act as, with the total count and pagination links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssumableParticipantRead"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","kind":"person","ownership":"owned","displayName":"example","gatingRole":"organisationIdentityManager","actAvailability":{"actable":false,"reason":"ok","eoaCount":0},"identityStatus":"verified","identityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registeredOrganizations":[{"organizationId":"example","state":"pending","requestFiled":false}],"identities":[{"chainId":11155111,"identityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","registration":"none"}],"accountCount":0,"signerThreshold":"example","walletAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"userId":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the participants you may act as, across every organization you belong to. That covers your own person participant, the organizations your executor holds a gating role in, and the key or smart-account participants you were given explicit access to. Each row reports whether acting as it is possible right now and why not, the participant's identity registration status, its identity contract address, and how many accounts it owns. The `filter[id]` lookup accepts exact match only.","summary":"List participants the session can act as","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/activities":{"get":{"tags":["Participants"],"operationId":"party.participants.activityList","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"projectionFamily":{"anyOf":[{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"action":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"toParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ledgerOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"transactionHash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"participantActivity":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the participantActivity resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"participantActivity":"id,family"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the participantActivity members a list or a strip renders: id, family. Send fields[participantActivity] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"A page of ledger events, with the total count and pagination links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantActivityListItem"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"evt_123abc","eventName":"TransferCompleted","txIndex":"0","blockNumber":"12345678","blockTimestamp":"2026-03-15T14:30:00.000Z","transactionHash":"0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef","emitter":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"sender":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"metaTxSigner":null,"displaySender":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"relayerKind":null,"relayer":null,"userOpHash":null,"paymaster":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"actualGasCost":"128054388000000","involved":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}],"values":[{"id":"evt_val_01j8f3k2m4n5p6q7r8s9t0v1","name":"amount","value":"1000000000000000000"}]}],"meta":{"total":2,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/activities?sort=-recordedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/activities?sort=-recordedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/activities?sort=-recordedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexed events involving any of the participant's accounts, newest first. Rows carry `family` and are grouped by it, EVM first. An `evm` row carries the contract that emitted the event, the address that triggered it, every address the event involved, the decoded event parameters, and the relayer attribution when the transaction was submitted on someone else's behalf. A `canton` row carries the ledger offset, update id, and node index that name the event, and the parties and instrument it concerns. Send `filter[family]`, `X-Chain-Id`, or `X-Network-Id` to read one family; send none for both. Sort and filter on `recordedAt`, the ledger record time both families carry: a block number and a ledger offset are not comparable, so neither is a sort key here.","summary":"List participant activity","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/holdings":{"get":{"tags":["Participants"],"operationId":"party.participants.holdings","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenSymbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletType":{"anyOf":[{"type":"string","enum":["eoa","smart"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ownerParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"totalAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lockedAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"holdingCount":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"updatedOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"participantHolding":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the participantHolding resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"participantHolding":"id,family"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the participantHolding members a list or a strip renders: id, family. Send fields[participantHolding] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"A page of holdings, with the total count, the balance freshness stamp, and pagination links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantHoldingListItem"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]},"balancesAsOf":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The most recent indexed update across the returned EVM holdings, so a client can show how fresh the balances are. Null when the page carries no holdings."}},"required":["total","nextCursor","balancesAsOf"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F:0x8ba1f109551bD432803012645Ac136ddd64DBA72","token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Acme Bond 2030","symbol":"ACMB30","type":"bond","isExternal":false,"decimals":"example"},"assetClass":{"id":"bond-class","slug":"bond","name":"Bond"},"organization":{"id":"a3krknj5cG2I21Mrww9YDlAxcFt1JWD8","name":"Northwind"},"walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletType":"smart","balance":"1250.5","frozen":"0","available":"1250.5","valueInBaseCurrency":"125050.00","priceInBaseCurrencyReliable":true,"transferVerdict":"transferable","restrictionReason":null}],"meta":{"total":2,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ","balancesAsOf":"2026-03-15T14:30:00.000Z"},"links":{"self":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/holdings?sort=-balance&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/holdings?sort=-balance&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/holdings?sort=-balance&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns everything the participant holds, on every ledger it holds on. Rows carry `family` and are grouped by it, EVM first. An `evm` row is one token held by one account, with the total, frozen, and available balances, the value in the base currency where a price path resolves, and whether transferring that holding is currently allowed. A `canton` row is one party's position in one `(instrumentAdmin, instrumentId)` instrument, with its total and locked amounts and the ledger offset that last moved it. Send `filter[family]`, `X-Chain-Id`, or `X-Network-Id` to read one family; send none for both. `meta.balancesAsOf` describes the EVM rows only. Rows are sorted by balance, largest first, unless you pass `sort`.","summary":"List participant holdings","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/custody-account-requests/{requestId}":{"get":{"tags":["Participants"],"operationId":"party.participants.custodyAccountRequestRead","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true}],"responses":{"200":{"description":"The durable state and continuation identifiers for one custody-account lifecycle request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyAccountLifecycleStatusOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"requestId":"019c0000-0000-7000-8000-000000000004","custodyAccountId":"019c0000-0000-7000-8000-000000000002","organizationContextId":"019c0000-0000-7000-8000-000000000003","operation":"add","state":"awaiting-existing-approval","externalPreparationId":null,"externalAuthorizingCustodyAccountId":null,"externalMessageDigest":null,"terminalResult":null,"terminalCode":null},"links":{"self":"/v2/users/me/custody-account-requests/019c0000-0000-7000-8000-000000000004"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the durable state of one custody-account lifecycle request for a participant the caller can access. This is the status surface behind the 202 handle participant creation returns: the creator polls it until the request reaches a terminal state. Access follows participant access within the active organization: the request's actor is the account owner (an admin-created user or invitee), so the creator polling the handle is not required to be that actor.","summary":"Read a participant's custody lifecycle request","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/custody-account-requests/{requestId}/stream":{"get":{"tags":["Participants"],"operationId":"party.participants.custodyAccountRequestStream","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"required":true}],"responses":{"200":{"description":"Server-sent events carrying the request's current state first, then a new snapshot each time the state changes, until the request comes to rest or three minutes pass.","content":{"text/event-stream":{"schema":{"type":"object","properties":{"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"custodyAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"organizationContextId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody account organization context identifier"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"type":"string","minLength":1,"description":"Server-prepared transaction authorization identifier"},{"type":"null"}],"description":"Prepared transaction this request is waiting to have authorized. Null on a managed path and until the request reaches an external-authorization state."},"externalAuthorizingCustodyAccountId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},{"type":"null"}],"description":"Account whose signature the request is waiting for. Null on a managed path and until the request reaches an external-authorization state."},"externalMessageDigest":{"anyOf":[{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},{"type":"null"}],"description":"Digest of the message the external account must sign. Null on a managed path and until the request reaches an external-authorization state."},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}],"description":"How the request ended. Null while it is still running, which is what tells a poller to ask again."},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Machine-readable reason a request failed or expired. Null for a request that has not ended, and for one that succeeded."}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":true},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"requestId":"00000000-0000-7000-8000-000000000000","custodyAccountId":"00000000-0000-7000-8000-000000000000","organizationContextId":"00000000-0000-7000-8000-000000000000","operation":"onboard","state":"awaiting-proof","externalPreparationId":"example","externalAuthorizingCustodyAccountId":"00000000-0000-7000-8000-000000000000","externalMessageDigest":"0x5208","terminalResult":"succeeded","terminalCode":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a server-sent event stream for one custody account lifecycle request of a participant the caller can read in the active organization. Browser callers must be same-origin or the route answers 404. The stream ends when the request comes to rest, or after three minutes; use the participant's request read after that.","summary":"Stream a participant's custody account lifecycle request","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/chains/{chainId}/identity":{"post":{"tags":["Participants"],"operationId":"party.participants.chainIdentityInstall","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"chainId","in":"path","schema":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantChainIdentityState"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"participantId":"example","chainId":11155111,"state":"absent"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantChainIdentityInstallBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Participants"],"operationId":"party.participants.chainIdentityRead","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"chainId","in":"path","schema":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantChainIdentityState"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"participantId":"example","chainId":11155111,"state":"absent"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/name":{"patch":{"tags":["Participants"],"operationId":"party.participants.updateName","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantAnchor"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","kind":"person","organizationId":"example","userId":"example","country":"0","name":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantNameUpdate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/status":{"get":{"tags":["Participants"],"operationId":"party.participantStatus.readStatus","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true}],"responses":{"200":{"description":"The participant's current account status, with the restricted functions when the status is restricted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantStatus"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"status":"restricted","restrictions":["securities-transfers","withdrawals"],"effectiveAt":"2026-03-11T16:02:08.000Z","reason":"Source-of-funds document is overdue."},"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/status"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the status the participant holds now: active, restricted, suspended, closed or terminated. A restricted participant also lists the functions it cannot use: trading, securities-transfers or withdrawals.","summary":"Read a participant's account status","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Participants"],"operationId":"party.participantStatus.changeStatus","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"The status record this call wrote. An earlier record that this one replaces gains a supersededAt.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ParticipantStatusHistoryRow"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000011","participantId":"019c0000-0000-7000-8000-000000000002","status":"restricted","restrictions":["securities-transfers"],"effectiveAt":"2026-03-11T16:02:08.000Z","reason":"Source-of-funds document is overdue.","actor":"019c0000-0000-7000-8000-000000000005","createdAt":"2026-03-11T16:02:08.000Z","supersededAt":null},"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/status"}}},"example-2":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000012","participantId":"019c0000-0000-7000-8000-000000000002","status":"active","restrictions":[],"effectiveAt":"2026-03-18T09:30:00.000Z","reason":"Document received and checked.","actor":"019c0000-0000-7000-8000-000000000005","createdAt":"2026-03-18T09:30:00.000Z","supersededAt":null},"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/status"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PARTICIPANT_STATUS_FINAL","PARTICIPANT_STATUS_UNCHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-190191","DALP-190192","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets the participant's account status, now or at the effectiveAt you send. Only a restricted status carries restrictions. Send restrictions to bar only those functions, or omit the field to bar all three. A restricted status sent with an empty restrictions list makes the participant active. Lifting a restriction is the same call with the status active.","summary":"Change a participant's account status","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantStatusChange"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Participants"],"operationId":"party.participantStatus.moveScheduledStatus","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"The rescheduled status record, or null when the scheduled change was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/ParticipantStatusHistoryRow"},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000013","participantId":"019c0000-0000-7000-8000-000000000002","status":"suspended","restrictions":[],"effectiveAt":"2026-04-01T00:00:00.000Z","reason":"Annual review pending.","actor":"019c0000-0000-7000-8000-000000000005","createdAt":"2026-03-20T10:15:00.000Z","supersededAt":null},"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/status"}}},"example-2":{"value":{"data":null,"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/status"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves the participant's scheduled status change to the effectiveAt you send, or cancels it when you send null. The response is the rescheduled record, or null when the change was cancelled.","summary":"Move or cancel a scheduled status change","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParticipantStatusSchedulePatch"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/status/history":{"get":{"tags":["Participants"],"operationId":"party.participantStatus.statusHistory","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true}],"responses":{"200":{"description":"One page of the participant's status records.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantStatusHistoryRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"019c0000-0000-7000-8000-000000000012","participantId":"019c0000-0000-7000-8000-000000000002","status":"active","restrictions":[],"effectiveAt":"2026-03-18T09:30:00.000Z","reason":"Document received and checked.","actor":"019c0000-0000-7000-8000-000000000005","createdAt":"2026-03-18T09:30:00.000Z","supersededAt":null},{"id":"019c0000-0000-7000-8000-000000000011","participantId":"019c0000-0000-7000-8000-000000000002","status":"restricted","restrictions":["securities-transfers"],"effectiveAt":"2026-03-11T16:02:08.000Z","reason":"Source-of-funds document is overdue.","actor":"019c0000-0000-7000-8000-000000000005","createdAt":"2026-03-11T16:02:08.000Z","supersededAt":"2026-03-18T09:30:00.000Z"}],"meta":{"total":2},"links":{"self":"/v2/participants/019c0000-0000-7000-8000-000000000002/status/history?sort=-createdAt&page[limit]=100&page[offset]=0","first":"/v2/participants/019c0000-0000-7000-8000-000000000002/status/history?sort=-createdAt&page[limit]=100&page[offset]=0","last":"/v2/participants/019c0000-0000-7000-8000-000000000002/status/history?sort=-createdAt&page[limit]=100&page[offset]=0","prev":null,"next":null}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every status record the participant has held, newest first. A record that a later one replaced carries a supersededAt; the current record has none.","summary":"List a participant's status history","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/registrations":{"get":{"tags":["Participants"],"operationId":"party.registrations.listPending","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"kind":{"anyOf":[{"type":"string","enum":["registry","identity","verification","recovery-proposal"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"adminParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subjectParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"country":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of registrations awaiting a decision and party onboardings, with the total count and pagination links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RegistrationListItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","registrationId":"8f2b1d54-6a77-4a2c-9d31-71a0d3c4b8e2","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","kind":"person","requestedByUserId":"usr_01j8f3k2m4n5p6q7r8s9t0v1","requestedAt":"2026-03-11T09:24:05.418Z","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","requestKind":"registration","country":null},{"family":"canton","networkIdentity":"canton-local","contractId":"00a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90","kind":"identity","adminParty":"Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","subjectParty":"Canton::1220fedcba9876543210fedcba9876543210fedcba9876543210fedcba987654","country":"BE","createdOffset":"10427","updateId":"1220aabbccddeeff00112233445566778899aabbccddeeff0011223344556677","recordTime":"2026-08-21T09:15:00.000Z"}],"meta":{"total":2},"links":{"self":"/api/v2/participants/registrations?page[offset]=0&page[limit]=50","first":"/api/v2/participants/registrations?page[offset]=0&page[limit]=50","prev":null,"next":null,"last":"/api/v2/participants/registrations?page[offset]=0&page[limit]=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns what the active organization still has to decide on, across both chain families. The `evm` rows are the registration requests waiting on the organization for the selected network: the requests that have not been rejected and whose identity is not yet active in the organization's identity registry, each naming the participant, who requested the registration and when, and the wallet and identity addresses once indexing has caught up. The `canton` rows are the party-onboarding steps the organization's own parties disclose on the selected Canton network, each naming the registry contract the ledger recorded it under, the admin party, the subject party and its country when it has one, and the offset, update id and record time that stamp it. `filter[family]=evm|canton` selects one family, and a request that names neither is served both with the EVM rows first; an `X-Chain-Id` or `X-Network-Id` header states the same choice, and the filter wins when a request carries both. On the Canton family `filter[kind]` narrows to `registry`, `identity`, `verification`, or `recovery-proposal`, and `filter[network]` narrows to the network the row was projected from. A request that states a family and then filters on a column only the other family has is refused with the families that could have answered it, rather than answered with an empty page. `meta.total` counts the matching rows in both families. Requires the identity-manager role.","summary":"List identity registrations awaiting a decision, or party onboardings","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Participants"],"operationId":"party.registrations.requestPending","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The pending registration or the settled identity operation, with the transaction hashes that carried it, or a status URL to poll when the write was queued.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RegistrationAccepted"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"registrationId":"8f2b1d54-6a77-4a2c-9d31-71a0d3c4b8e2","status":"pending"},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/participants/registrations"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Asks a target organization to register a participant you control in its identity registry, or runs one party-identity registry choice on a Canton network. A body carrying `cantonPartyId` and `kind` runs the Canton choice it names, as the party wallet of the active organization it names; a body carrying neither is the EVM registration: you must control the participant and belong to the target organization, and the participant must already have an on-chain identity on the network that organization is deployed to. The registration is stored as pending and stays pending until an identity manager of the target organization accepts it. Either write is wallet-verified and submits a blockchain transaction, so it can answer with a status URL to poll instead of the finished result.","summary":"Request an identity registration, or run a party-identity registry choice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegistrationCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/registrations/direct":{"post":{"tags":["Participants"],"operationId":"party.registrations.registerDirect","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The active registration and the transaction hashes that carried it, or a status URL to poll when the transaction was queued.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RegistrationActivated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"registrationId":"8f2b1d54-6a77-4a2c-9d31-71a0d3c4b8e2","status":"active"},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/participants/registrations/direct"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTRATION_WALLET_NOT_BOUND","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12402","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers an existing on-chain identity into the active organization in one step, with no request-and-accept round trip. The participant is resolved from `identityAddress`, each of its accounts that already has an indexed identity is registered under the `country` you supply, and the registration comes back active. The request is wallet-verified, submits a blockchain transaction, and requires the identity-manager role.","summary":"Register an identity directly","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectRegistration"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/registrations/{registrationId}/decisions":{"post":{"tags":["Participants"],"operationId":"party.registrations.reject","parameters":[{"name":"registrationId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The rejected registration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RegistrationRejected"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"registrationId":"8f2b1d54-6a77-4a2c-9d31-71a0d3c4b8e2","status":"rejected"},"links":{"self":"/v2/participants/registrations/8f2b1d54-6a77-4a2c-9d31-71a0d3c4b8e2/decisions"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Rejects a registration request that is still waiting on the active organization. Nothing is submitted on chain, and the participant's controller can request registration again afterwards. A registration that is no longer pending cannot be rejected. Requires the identity-manager role.","summary":"Reject an identity registration","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/participants/multisig-drafts":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["open","finalizing","finalized"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Paginated list envelope. `data` is one page of items. `meta.total` and `meta.facets` describe the full filtered set. `links` carries first, previous, next, and last page URLs with the same sort and filters.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MultisigDraftView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","kind":"multisig","name":"example","threshold":1,"status":"open","memberSetVersion":1,"creator":{"participantId":"example","displayName":"example"},"seats":[{"id":"example","kind":"own","weight":1,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"example","participant":{"participantId":"example","displayName":"example"}}],"achievability":{"totalWeight":0,"collectableWeight":0,"pendingWeight":0,"thresholdAchievable":false,"collectableThresholdAchievable":false},"createdAt":"example","updatedAt":"example","finalizedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the multisig drafts the caller may see in the active organization. A draft is the unsigned signer set for a smart account that has not been created yet.","summary":"List multisig drafts","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The new draft: `id`, display name, threshold, `status` `open`, the selected account's first seat, and `achievability` weight totals. Store `id` for seat, invite, and finalize routes. Invite other signers next. Nothing is on chain yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftView"},"examples":{"example-1":{"value":{"id":"0194b2c8-7a11-7e30-9d45-2f8c1a06b394","kind":"multisig","name":"Northwind Treasury","threshold":2,"status":"open","memberSetVersion":1,"creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"seats":[{"id":"0194b2c9-3d80-7a14-8e61-4c9f0b17d205","kind":"own","weight":1,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"0194b2c7-5e21-7a08-9c33-8d1f6b20e4a7","participant":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"}}],"achievability":{"totalWeight":1,"collectableWeight":1,"pendingWeight":0,"thresholdAchievable":false,"collectableThresholdAchievable":false},"createdAt":"2026-03-11T09:12:41.000Z","updatedAt":"2026-03-11T09:12:41.000Z","finalizedAt":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a draft for a new multisig smart account and seats one exact caller-controlled account as the first signer. Invite other signers, set the threshold once the signer set is known, then finalize the draft to provision the account. A draft created without a `threshold` requires every seated signer's weight until the update route narrows it.","summary":"Create a multisig draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.read","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The draft with its seats, invites, threshold, and whether the current weights can meet that threshold.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftView"},"examples":{"example-1":{"value":{"id":"0194b2c8-7a11-7e30-9d45-2f8c1a06b394","kind":"multisig","name":"Northwind Treasury","threshold":2,"status":"open","memberSetVersion":1,"creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"seats":[{"id":"0194b2c9-3d80-7a14-8e61-4c9f0b17d205","kind":"own","weight":1,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"0194b2c7-5e21-7a08-9c33-8d1f6b20e4a7","participant":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"}}],"achievability":{"totalWeight":1,"collectableWeight":1,"pendingWeight":0,"thresholdAchievable":false,"collectableThresholdAchievable":false},"createdAt":"2026-03-11T09:12:41.000Z","updatedAt":"2026-03-11T09:12:41.000Z","finalizedAt":null}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one draft in the active organization with its seats, invites, threshold, and whether the current weights can meet that threshold. A draft the caller cannot see returns 404. Nothing is submitted on chain.","summary":"Read a multisig draft","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Participants"],"operationId":"party.multisigDrafts.update","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The draft after the display name or threshold change.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftView"},"examples":{"example-1":{"value":{"id":"0194b2c8-7a11-7e30-9d45-2f8c1a06b394","kind":"multisig","name":"Northwind Treasury","threshold":2,"status":"open","memberSetVersion":1,"creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"seats":[{"id":"0194b2c9-3d80-7a14-8e61-4c9f0b17d205","kind":"own","weight":1,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"0194b2c7-5e21-7a08-9c33-8d1f6b20e4a7","participant":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"}}],"achievability":{"totalWeight":1,"collectableWeight":1,"pendingWeight":0,"thresholdAchievable":false,"collectableThresholdAchievable":false},"createdAt":"2026-03-11T09:12:41.000Z","updatedAt":"2026-03-11T09:12:41.000Z","finalizedAt":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes the display name or threshold of a draft the caller owns. Seats stay in place. Omit a field to leave its stored value unchanged. Lower the threshold first when a later seat removal would leave the remaining weights below it. Nothing is submitted on chain.","summary":"Update a multisig draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftUpdate"}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Participants"],"operationId":"party.multisigDrafts.discard","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirmation that the draft was removed and its unused invites are void.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftDiscarded"},"examples":{"example-1":{"value":{"deleted":true}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes a draft the caller owns. Open invites become void and can no longer be accepted. A draft that is already finalizing or finalized cannot be deleted. Nothing is submitted on chain.","summary":"Delete a multisig draft","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}/own-seats":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.addOwnSeat","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The draft after the owned seat was added: seats, invites, threshold, and updated `achievability` totals. Check `achievability.thresholdAchievable` before you finalize.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftView"},"examples":{"example-1":{"value":{"id":"0194b2c8-7a11-7e30-9d45-2f8c1a06b394","kind":"multisig","name":"Northwind Treasury","threshold":2,"status":"open","memberSetVersion":1,"creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"seats":[{"id":"0194b2c9-3d80-7a14-8e61-4c9f0b17d205","kind":"own","weight":1,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"0194b2c7-5e21-7a08-9c33-8d1f6b20e4a7","participant":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"}}],"achievability":{"totalWeight":1,"collectableWeight":1,"pendingWeight":0,"thresholdAchievable":false,"collectableThresholdAchievable":false},"createdAt":"2026-03-11T09:12:41.000Z","updatedAt":"2026-03-11T09:12:41.000Z","finalizedAt":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","MULTISIG_DRAFT_DUPLICATE_ADDRESS","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-18237","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds a signer seat backed by one exact account the caller controls. The seat weight counts toward the draft threshold.","summary":"Add an owned signer seat","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OwnSeatInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}/external-seats":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.addExternalSeat","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The draft after the external seat was added: seats, threshold, and updated `achievability` totals. Invite remaining signers, or finalize when `achievability.thresholdAchievable` is true.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigDraftView"},"examples":{"example-1":{"value":{"id":"0194b2c8-7a11-7e30-9d45-2f8c1a06b394","kind":"multisig","name":"Northwind Treasury","threshold":2,"status":"open","memberSetVersion":1,"creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"seats":[{"id":"0194b2c9-3d80-7a14-8e61-4c9f0b17d205","kind":"own","weight":1,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletId":"0194b2c7-5e21-7a08-9c33-8d1f6b20e4a7","participant":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"}}],"achievability":{"totalWeight":1,"collectableWeight":1,"pendingWeight":0,"thresholdAchievable":false,"collectableThresholdAchievable":false},"createdAt":"2026-03-11T09:12:41.000Z","updatedAt":"2026-03-11T09:12:41.000Z","finalizedAt":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","MULTISIG_DRAFT_DUPLICATE_ADDRESS","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-18237","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds a signer seat backed by an address outside the organization. Use an invite when the signer still needs to join.","summary":"Add an external signer seat","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalSeatInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}/seats/{seatId}":{"delete":{"tags":["Participants"],"operationId":"party.multisigDrafts.removeSeat","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"seatId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirmation that the named seat was removed from the draft.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeatRemoved"},"examples":{"example-1":{"value":{"removed":true}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes one seat from the draft. The creator's own seat cannot be removed. The threshold stays as stored, so lower it first if the remaining weights would fall below it.","summary":"Remove a signer seat","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}/invites":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.issueInvite","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The invite identifier, the seat it created, the single-use token, and when the token expires. The token is returned only on this response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteIssued"},"examples":{"example-1":{"value":{"inviteId":"0194b2ca-1e55-7c22-9b08-6d3a4e81f017","seatId":"0194b2c9-3d80-7a14-8e61-4c9f0b17d205","token":"msig_inv_7c4a1f2e1b584f3d9a6c2d0f8b41c7e5","expiresAt":"2026-03-18T09:12:41.000Z"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a single-use invite for a signer to join the draft. The response carries the token once; store it if you need to send it yourself. Optional `deliveryEmail` asks the platform to send the token. Revoke the invite if it must not be used. Nothing is submitted on chain.","summary":"Invite a signer to a draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}/invites/{inviteId}/revoke":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.revokeInvite","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"inviteId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirmation that the unused invite is void and can no longer be accepted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRevoked"},"examples":{"example-1":{"value":{"revoked":true}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Voids an unused invite so its token can no longer join the draft. A token that already joined is unchanged. Nothing is submitted on chain.","summary":"Revoke a signer invite","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/eligible-keys":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.eligibleKeys","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletType":{"anyOf":[{"type":"string","enum":["eoa"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Paginated list envelope. `data` is one page of items. `meta.total` and `meta.facets` describe the full filtered set. `links` carries first, previous, next, and last page URLs with the same sort and filters.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MultisigEligibleKey"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"walletId":"wallet-custody-001","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletType":"eoa","eligible":true,"reason":null},{"walletId":"wallet-custody-002","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","address":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","walletType":"eoa","eligible":false,"reason":"custody-mismatch"}],"meta":{"total":2},"links":{"self":"/v2/participants/multisig-drafts/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/participants/multisig-drafts/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/participants/multisig-drafts/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the caller-controlled EOA accounts that are candidates to anchor or join a multisig draft in the active organization and network. Each account is identified by both participant and address and carries a per-key eligibility verdict: `eligible` says whether the organization can drive that wallet on this chain, and `reason` names the missing capability when it cannot. A row with `eligible: false` is listed so it can be shown with its reason, but it cannot be driven.","summary":"List candidate keys for a multisig draft","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-invites/{token}":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.readInvite","parameters":[{"name":"token","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The invite and a summary of the draft it belongs to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigInviteView"},"examples":{"example-1":{"value":{"target":"draft","name":"Northwind Treasury","creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"assignedWeight":1,"threshold":2,"members":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","weight":1}],"status":"pending","alreadySigning":false}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the invite and a summary of the draft it belongs to. An invalid, expired, or consumed token returns 404 without saying which.","summary":"Read a multisig invite by token","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-invites/{token}/eligible-keys":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.inviteEligibleKeys","parameters":[{"name":"token","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletType":{"anyOf":[{"type":"string","enum":["eoa"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Paginated list envelope. `data` is one page of items. `meta.total` and `meta.facets` describe the full filtered set. `links` carries first, previous, next, and last page URLs with the same sort and filters.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MultisigEligibleKey"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"walletId":"wallet-custody-001","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletType":"eoa","eligible":true,"reason":null},{"walletId":"wallet-custody-002","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","address":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","walletType":"eoa","eligible":false,"reason":"custody-mismatch"}],"meta":{"total":2},"links":{"self":"/v2/participants/multisig-invites/plain-token/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/participants/multisig-invites/plain-token/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/participants/multisig-invites/plain-token/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the caller's candidate keys for the draft named by the invite token. Each row is a key-account or single-signer participant the caller controls and carries a per-key eligibility verdict for the draft's organization and chain: `eligible` says whether that organization can drive the wallet there, and `reason` names the missing capability when it cannot. A row with `eligible: false` cannot be driven. An invalid, expired, or consumed token returns 404 without saying which.","summary":"List candidate keys for a multisig invite","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-invites/{token}/accept":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.acceptInvite","parameters":[{"name":"token","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyNoFundingPause"}],"responses":{"200":{"description":"Confirmation that the caller joined the draft, with the seat address and weight.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SeatJoined"},{"$ref":"#/components/schemas/MultisigSignerAdditionQueued"}],"description":"A draft invite answers with the joined seat. A live wallet invite answers with the queued add-signer request, which seats the key after the co-signatures."},"examples":{"example-1":{"value":{"joined":true,"address":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","weight":1}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","MULTISIG_DRAFT_DUPLICATE_ADDRESS","MULTISIG_INVITER_UNAUTHORIZED","MULTISIG_SIGNER_ALREADY_HELD","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12396","DALP-12397","DALP-14226","DALP-14227","DALP-14396","DALP-18237","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Joins the draft named by the invite token with one of the caller's keys. A token that is invalid, expired, or already used returns 404.","summary":"Accept a multisig invite","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAccept"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-invites/by-id/{inviteId}":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.readInviteById","parameters":[{"name":"inviteId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The invite and a summary of the draft it belongs to.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigInviteView"},"examples":{"example-1":{"value":{"target":"draft","name":"Northwind Treasury","creator":{"participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Amara Okafor"},"assignedWeight":1,"threshold":2,"members":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","weight":1}],"status":"pending","alreadySigning":false}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the invite when the caller may see it. Use the token routes when the invitee only holds the token.","summary":"Read a multisig invite by identifier","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-invites/by-id/{inviteId}/eligible-keys":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.inviteByIdEligibleKeys","parameters":[{"name":"inviteId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletType":{"anyOf":[{"type":"string","enum":["eoa"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Paginated list envelope. `data` is one page of items. `meta.total` and `meta.facets` describe the full filtered set. `links` carries first, previous, next, and last page URLs with the same sort and filters.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MultisigEligibleKey"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"walletId":"wallet-custody-001","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletType":"eoa","eligible":true,"reason":null},{"walletId":"wallet-custody-002","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","displayName":"Ada Lovelace","address":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","walletType":"eoa","eligible":false,"reason":"custody-mismatch"}],"meta":{"total":2},"links":{"self":"/v2/participants/multisig-invites/by-id/01J8Z9W6R7Q2K4M5N6P7S8T9V0/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/participants/multisig-invites/by-id/01J8Z9W6R7Q2K4M5N6P7S8T9V0/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/participants/multisig-invites/by-id/01J8Z9W6R7Q2K4M5N6P7S8T9V0/eligible-keys?page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the caller's candidate keys for the draft named by the invite identifier. Each row is a key-account or single-signer participant the caller controls and carries a per-key eligibility verdict for the draft's organization and chain: `eligible` says whether that organization can drive the wallet there, and `reason` names the missing capability when it cannot. A row with `eligible: false` cannot be driven. Use the token routes when the invitee only holds the token.","summary":"List candidate keys for a multisig invite by identifier","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-invites/by-id/{inviteId}/accept":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.acceptInviteById","parameters":[{"name":"inviteId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirmation that the caller joined the draft, with the seat address and weight.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeatJoined"},"examples":{"example-1":{"value":{"joined":true,"address":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","weight":1}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","MULTISIG_DRAFT_DUPLICATE_ADDRESS","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-18237","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Joins the draft named by the invite identifier with one of the caller's keys. The request writes the platform record and submits nothing on chain. A token that is invalid, expired, or already used returns 404.","summary":"Accept a multisig invite by identifier","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAccept"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-wallet-invites":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.issueWalletInvite","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"MultisigWalletInviteIssued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigWalletInviteIssued"},"examples":{"example-1":{"value":{"inviteId":"example","token":"example","expiresAt":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigWalletInviteRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.listWalletInvites","parameters":[{"name":"filter","in":"query","schema":{"type":"object","additionalProperties":true},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"walletId","in":"query","schema":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MultisigWalletInvite"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","walletId":"example","weight":1,"status":"pending","deliveryEmail":"example","signer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","expiresAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-wallet-invites/{inviteId}/revocations":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.revokeWalletInvite","parameters":[{"name":"inviteId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"InviteRevoked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteRevoked"},"examples":{"example-1":{"value":{"revoked":false}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/multisig-drafts/{draftId}/transitions":{"post":{"tags":["Participants"],"operationId":"party.multisigDrafts.finalize","parameters":[{"name":"draftId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The provisioned participant identifier and the deployed smart-account address.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigFinalized"},"examples":{"example-1":{"value":{"participantId":"0194b2cb-8f02-7d19-a4c6-1e90b35d7a48","smartWalletAddress":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for a mutation whose managed custody account is still settling. The resource was created, but its custody account is not yet usable. Poll `statusUrl` until the lifecycle state is terminal. Do not retry the original POST.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PartyCustodyLifecycleAccepted"},{"$ref":"#/components/schemas/PartyMultisigFinalizeAccepted"}]},"examples":{"example-1":{"value":{"requestId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/participants/pp_0198f1a2-0000-7000-8000-000000000001/custody-account-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Locks the draft and provisions the smart account from its signer set. A 200 means the validator swap is indexed and the controlling account's custody lifecycle settled. When that custody lifecycle is still settling, the multisig is provisioned but the response is 202 with the lifecycle `requestId`, its `state`, and a `statusUrl` to poll until the state is terminal. The request is wallet-verified and submits a blockchain transaction. A draft that is no longer open cannot be finalized. Send `walletVerification` when the signing wallet is protected by a code.","summary":"Finalize a multisig draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigFinalize"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/multisig-finalize-requests/{requestId}":{"get":{"tags":["Participants"],"operationId":"party.multisigDrafts.readFinalize","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"MultisigFinalized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultisigFinalized"},"examples":{"example-1":{"value":{"participantId":"example","smartWalletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"202":{"description":"PartyCustodyLifecycleAccepted | The draft's finalization is running as a durable command. Poll `statusUrl`, also sent as `Location`, until it answers the finalized participant and smart wallet, another custody handle, or a failure. Do not submit the transition again.","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PartyCustodyLifecycleAccepted"},{"$ref":"#/components/schemas/PartyMultisigFinalizeAccepted"}]},"examples":{"example-1":{"value":{"requestId":"00000000-0000-7000-8000-000000000000","state":"awaiting-proof","statusUrl":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_ACCOUNT_ABSTRACTION_REQUIRED","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-12400","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/contacts":{"get":{"tags":["Contacts"],"operationId":"party.contacts.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"wallet":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"eligibleForToken","in":"query","schema":{"type":"object","properties":{"tokenAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"action":{"anyOf":[{"type":"string","enum":["mint","transfer","burn"]},{"type":"null"}]},"reveal":{"type":"string","enum":["true","false"]}},"required":["tokenAddress"],"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of contacts. `meta.total` counts every contact matching the query rather than the ones on this page, and `links` carries relative URLs for the surrounding pages with `prev` and `next` set to null at the ends of the collection. `meta.eligibilityHiddenCount` appears only when the request applied `eligibleForToken` without revealing the hidden rows.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ContactV2"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"eligibilityHiddenCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"b3d0a51c-9e77-4c2a-8f14-0a6e3d9b2f57","name":"Fabrikam Custody Desk","wallet":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","createdAt":"2026-02-18T11:47:03.000Z","updatedAt":"2026-02-18T11:47:03.000Z","imageUrl":"/api/v2/marks/accounts/11155111/0x2546bcd3c84621e976d8185a91a922ae77ecec30","imageProvenance":"generated"},{"id":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","name":"Northwind Coffee Treasury","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-11T16:02:08.000Z","imageUrl":"/api/v2/marks/accounts/11155111/0x71c7656ec7ab88b098defb751b7401b5f6d8976f","imageProvenance":"generated"}],"meta":{"total":2},"links":{"self":"/v2/contacts?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/contacts?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/contacts?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the contacts that belong to the authenticated user.\n\nPaging and ordering use the shared collection parameters. `page[limit]` defaults to 50 and accepts at most 200, `page[offset]` starts at 0, and `sort` falls back to `createdAt` ascending. Prefix the sort field with `-` for descending order. The sortable fields are `name`, `wallet`, `createdAt`, and `updatedAt`. Narrow the page with `filter[name]`, `filter[wallet]`, `filter[createdAt]`, and `filter[updatedAt]`, or search every searchable field at once with `filter[q]`.\n\nAdd `eligibleForToken[tokenAddress]` to keep only the contacts whose wallet already holds a registered identity for that token on the chain resolved for the request, and read `meta.eligibilityHiddenCount` for the number of contacts the filter removed. Set `eligibleForToken[reveal]` to `true` to receive the unfiltered page instead, in which case `meta.eligibilityHiddenCount` is omitted.","summary":"List contacts","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Contacts"],"operationId":"party.contacts.upsert","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored contact as the platform now holds it. Reuse `data.id` for later updates, and read `data.updatedAt` for the time of the write that produced this response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Contact"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","name":"Northwind Coffee Treasury","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-11T16:02:08.000Z"},"links":{"self":"/v2/contacts/7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTACT_DUPLICATE","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14235","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a contact when you omit `id`, and updates the one you name when you send an `id`. A wallet address may appear only once per user, so a wallet that another of your entries already holds returns 409. An `id` that does not resolve to one of your entries returns 404. The response carries the stored record, including the identifier the platform assigned to a new contact.","summary":"Create or update a contact","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpsert"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/contacts/{id}":{"get":{"tags":["Contacts"],"operationId":"party.contacts.read","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The requested contact, with a `self` link to its canonical URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ContactV2"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","name":"Northwind Coffee Treasury","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-11T16:02:08.000Z","imageUrl":"/api/v2/marks/accounts/11155111/0x71c7656ec7ab88b098defb751b7401b5f6d8976f","imageProvenance":"generated"},"links":{"self":"/v2/contacts/7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the single contact named by the `id` path parameter, which is the UUID the platform assigned when it was stored. Entries are scoped to the authenticated user, so an identifier that belongs to another user returns 404 rather than 403.","summary":"Get a contact","x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Contacts"],"operationId":"party.contacts.delete","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The contact is gone. `data` is null because no resource remains to return.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes a contact from the authenticated user's address book and responds with a null `data` member. Pass the UUID the platform assigned to the contact as the `id` path parameter. Deleting a contact that no longer exists, or one that belongs to another user, returns 404.","summary":"Delete a contact","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me":{"get":{"tags":["Users"],"operationId":"party.users.me","parameters":[],"responses":{"200":{"description":"The authenticated user as the Console session sees them, with a `self` link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserMe"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","role":"member","firstName":"Amara","lastName":"Okafor","nationalId":"NL-8842-1177","country":"NL","dob":"1988-04-12","residencyStatus":"resident","createdAt":"2026-03-04T09:12:41.000Z","lastLoginAt":"2026-03-11T16:02:08.000Z","verificationTypes":["PINCODE"],"onboardingState":{"wallet":true,"walletSecurity":true,"walletRecoveryCodes":true,"system":true,"systemSettings":true,"systemAssets":true,"systemAddons":true,"identitySetup":true},"remainingRecoveryCodes":8,"hasRelevantAddons":true,"personalInfoCompleted":true,"hasKycProfile":true,"isUserSecure":true,"systemAddress":"0x9F4C1a2B3D5e6f708192a3B4c5D6e7f8091A2B3c","baseCurrency":"EUR","onboardingCompletedAt":"2026-03-11T16:02:08.000Z","organizationName":"Northwind Coffee","imageUrl":"/api/v2/marks/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","imageProvenance":"generated"},"links":{"self":"/v2/users/me"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the signed-in user together with onboarding state and wallet verification methods. Read the custody-account collection for ledger accounts. A session with no matching user record returns 404.","summary":"Read the authenticated user","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Users"],"operationId":"party.users.updateMe","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"The authenticated user after the change, with a `self` link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserMe"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","role":"member","firstName":"Amara","lastName":"Okafor","nationalId":"NL-8842-1177","country":"NL","dob":"1988-04-12","residencyStatus":"resident","createdAt":"2026-03-04T09:12:41.000Z","lastLoginAt":"2026-03-11T16:02:08.000Z","language":"de-DE","verificationTypes":["PINCODE"],"onboardingState":{"wallet":true,"walletSecurity":true,"walletRecoveryCodes":true,"system":true,"systemSettings":true,"systemAssets":true,"systemAddons":true,"identitySetup":true},"remainingRecoveryCodes":8,"hasRelevantAddons":true,"personalInfoCompleted":true,"hasKycProfile":true,"isUserSecure":true,"systemAddress":"0x9F4C1a2B3D5e6f708192a3B4c5D6e7f8091A2B3c","baseCurrency":"EUR","onboardingCompletedAt":"2026-03-11T16:02:08.000Z","organizationName":"Northwind Coffee","imageUrl":"/api/v2/marks/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","imageProvenance":"generated"},"links":{"self":"/v2/users/me"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores the language the signed-in user works in: one of the platform's supported languages. DALP uses it to adopt that language after sign-in and, in time, to write the user's emails. The write replaces the earlier choice, so repeating the same request changes nothing. Refused for an impersonated session, which would change the language of the person being impersonated. Returns the user as the Console session sees them.","summary":"Set the authenticated user's language","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMeChange"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}":{"get":{"tags":["Users"],"operationId":"party.users.read","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true}],"responses":{"200":{"description":"The requested user, with a `self` link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","role":"member","firstName":"Amara","lastName":"Okafor","nationalId":"NL-8842-1177","country":"NL","residencyStatus":"resident","createdAt":"2026-03-04T09:12:41.000Z","lastLoginAt":"2026-03-11T16:02:08.000Z","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","roles":{"identityManager":true},"rolesPending":false,"isAdmin":false,"personalInfoCompleted":true,"imageUrl":"/api/v2/marks/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","imageProvenance":"generated"},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one user in the active organization by the UUID the platform assigned. An identifier that belongs to another organization returns 404 rather than 403. The caller needs a role that may read organization members.","summary":"Read a user by identifier","x-dalp-auth":"session-or-api-key"}},"/api/v2/users":{"get":{"tags":["Users"],"operationId":"party.users.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"email":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"wallet":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"transactionWallet":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signingWallet":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"nationalId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"country":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"dob":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"residencyStatus":{"anyOf":[{"type":"string","enum":["resident","non_resident","dual_resident","unknown"],"description":"Tax residency status"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"registrationStatus":{"anyOf":[{"type":"string","enum":["pending","registered"],"description":"On-chain identity registration status"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kycStatus":{"anyOf":[{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"],"description":"Status of the member's KYC profile: `submitted` and `under_review` wait for a reviewer, `update_required` waits for the member."},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"user":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the user resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"user":"id,name,email,role,firstName,lastName,nationalId,country,residencyStatus,createdAt,lastLoginAt,participantId,rolesPending,isAdmin,personalInfoCompleted,imageUrl,imageProvenance,registrationStatus,registeredCountry,kycStatus"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the user members a list or a strip renders: id, name, email, role, firstName, lastName, nationalId, country, residencyStatus, createdAt, lastLoginAt, participantId, rolesPending, isAdmin, personalInfoCompleted, imageUrl, imageProvenance, registrationStatus, registeredCountry, kycStatus. Send fields[user] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"One page of organization members. `meta.total` counts every member matching the query rather than the ones on this page, and `links` carries relative URLs for the surrounding pages with `prev` and `next` set to null at the ends of the collection. Send `view=summary` or `fields[user]` to answer each row without its access-control role booleans.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserListReadItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","role":"member","firstName":"Amara","lastName":"Okafor","nationalId":"NL-8842-1177","country":"NL","residencyStatus":"resident","createdAt":"2026-03-04T09:12:41.000Z","lastLoginAt":"2026-03-11T16:02:08.000Z","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","roles":{"identityManager":true},"rolesPending":false,"isAdmin":false,"personalInfoCompleted":true,"imageUrl":"/api/v2/marks/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","imageProvenance":"generated","registrationStatus":"registered","registeredCountry":"NL","kycStatus":"approved"}],"meta":{"total":1},"links":{"self":"/v2/users?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/users?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/users?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of users that belong to the active organization. Paging and ordering use the shared collection parameters. `page[limit]` defaults to 50 and accepts at most 200, `page[offset]` starts at 0, and `sort` falls back to `createdAt` ascending. Prefix the sort field with `-` for descending order. Search every searchable field at once with `filter[q]`. The caller needs a role that may list organization members.","summary":"List users","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Users"],"operationId":"party.users.create","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The created user and, when the call named a provider configuration, the personal participant the platform created for them.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserCreated"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","participantId":"pp_0198f2f0-6d0b-7f86-8f24-c5e1ef9f9d12","activationStatus":"active","custodyAccountId":"0198f2f0-6d0b-7f86-8f24-c5e1ef9f9d11","identity":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for a mutation whose managed custody account is still settling. The resource was created, but its custody account is not yet usable. Poll `statusUrl` until the lifecycle state is terminal. Do not retry the original POST. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"anyOf":[{"$ref":"#/components/schemas/PartyCustodyLifecycleAccepted"},{"$ref":"#/components/schemas/PartyUserCreateAccepted"}]},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"requestId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","state":"awaiting-aa-reconciliation","statusUrl":"/api/v2/participants/pp_0198f1a2-0000-7000-8000-000000000001/custody-account-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","party.user.IDENTITY_DEPLOY_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12115","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.user.IDENTITY_BINDING_UNRESOLVED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12116","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a user in the active organization, provisions a managed custody account with the selected provider configuration, and deploys an identity contract. Identity registration is a separate step. A 200 means the custody account settled and is usable. When the managed custody account is still settling (for example awaiting account-abstraction reconciliation or an approval), the user is created but the response is 202 with the lifecycle `requestId`, its `state`, and a `statusUrl` to poll until the state is terminal. `email` must be unique across the platform, not only in the organization: an email that any existing user holds, in this or another organization, returns 409. Send `walletVerification` when the calling wallet is protected by a code.","summary":"Create a user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreateCommand"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/user-create-requests/{requestId}":{"get":{"tags":["Users"],"operationId":"party.users.readCreate","parameters":[{"name":"requestId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserCreated"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","name":"example","email":"example","participantId":"example","activationStatus":"pending","custodyAccountId":"00000000-0000-7000-8000-000000000000","identity":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"links":{"self":"example"}}}}}}},"202":{"description":"PartyCustodyLifecycleAccepted | PartyUserCreateAccepted","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PartyCustodyLifecycleAccepted"},{"$ref":"#/components/schemas/PartyUserCreateAccepted"}]},"examples":{"example-1":{"value":{"requestId":"00000000-0000-7000-8000-000000000000","state":"awaiting-proof","statusUrl":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","party.user.IDENTITY_DEPLOY_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12115","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.user.IDENTITY_BINDING_UNRESOLVED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12116","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/user-admins":{"get":{"tags":["Users"],"operationId":"party.users.adminList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"email":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"wallet":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lastLoginAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"roles":{"anyOf":[{"type":"string","enum":["addonManager","addonModule","addonRegistryModule","admin","assetDesigner","auditor","bankRailManager","claimPolicyManager","claimIssuer","complianceManager","custodian","custodyGatewayPermissionManager","emergency","escrowManager","feedsManager","fundsManager","gasManager","governance","identityManager","identityRegistryModule","organisationIdentityManager","saleAdmin","supplyManagement","systemManager","systemModule","tokenFactoryModule","tokenFactoryRegistryModule","tokenManager","venueManager","trustedIssuersMetaRegistryModule"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of users whose wallets hold any role on the system's access manager in the active organization. Filter on `roles` to keep the users who hold, or lack, the named roles; `meta.facets.roles` counts the users holding each role. `meta.total` counts every matching user rather than the ones on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserListMember"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","role":"member","firstName":"Amara","lastName":"Okafor","nationalId":"NL-8842-1177","country":"NL","residencyStatus":"resident","createdAt":"2026-03-04T09:12:41.000Z","lastLoginAt":"2026-03-11T16:02:08.000Z","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","roles":{"admin":true,"identityManager":true},"rolesPending":false,"isAdmin":true,"personalInfoCompleted":true,"imageUrl":"/api/v2/marks/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","imageProvenance":"generated","registrationStatus":"registered","registeredCountry":"NL","kycStatus":"approved"}],"meta":{"total":1},"links":{"self":"/v2/user-admins?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/user-admins?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/user-admins?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of users whose scoped executors hold a system admin role in the active organization. The set is the intersection of on-chain admin holders and off-chain user records. Sort defaults to `name` ascending. The caller needs a role that may list organization members.","summary":"List organization administrators","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}/security":{"get":{"tags":["Users"],"operationId":"party.users.adminGetSecurity","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true}],"responses":{"200":{"description":"Security settings and live sessions for the requested user. Session tokens are omitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserSecurityView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"twoFactorEnabled":true,"walletPincodeEnabled":true,"walletTwoFactorEnabled":false,"walletSecretCodesConfirmed":true,"sessions":[{"id":"0194a7d7-58e3-7f10-9c26-4b7d0e91a3f8","userId":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","ipAddress":"203.0.113.42","userAgent":"Mozilla/5.0","createdAt":"2026-03-11T09:12:41.000Z","updatedAt":"2026-03-11T16:02:08.000Z","expiresAt":"2026-03-18T09:12:41.000Z"}]},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/security"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","USER_SECURITY_TARGET_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12260","DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns whether the user has enabled two-factor authentication and wallet verification methods, together with the live sessions the platform currently holds. Session tokens are omitted. The caller needs a role that may administer that user.","summary":"Read a user's security settings","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}/security/transitions":{"post":{"tags":["Users"],"operationId":"party.users.securityTransition","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Confirmation that the transition ran, with a link to the member's security settings.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminMutationResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/security"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","WALLET_VERIFICATION_STRONGER_FACTOR_REQUIRED","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-12409","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","USER_SECURITY_TARGET_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12260","DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_PIN_RESET_NOTICE_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-12410","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"An identity manager of the active organization runs one security transition on a member: `reset-wallet-pin` removes the member's wallet PIN, `reset-two-factor` removes the member's two-factor authentication, and `revoke-sessions` ends the member's sessions in this organization. `reset-wallet-pin` also ends all of the member's sessions, in every organization, and emails the member. A session caller sends `walletVerification` with the strongest wallet factor they hold: the authenticator code when they hold a verified wallet authenticator, otherwise their wallet PIN. A caller cannot target their own account. Each call runs the transition again; it is not idempotent.","summary":"Change a member's security","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSecurityTransitionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}/password-reset-requests":{"post":{"tags":["Users"],"operationId":"party.users.adminTriggerPasswordReset","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Confirmation that the platform sent a password reset to the user.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminMutationResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/password-reset-requests"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","USER_SECURITY_TARGET_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12260","DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sends a password-reset message to the named user. The platform stores no new password here. A user the caller cannot administer returns 404. Repeating the call sends another message.","summary":"Send a password reset","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/events":{"get":{"tags":["Users"],"operationId":"party.users.events","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"asset":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"projectionFamily":{"anyOf":[{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"action":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"toParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ledgerOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"counts","in":"query","schema":{"type":"string","enum":["true","false"]},"required":false}],"responses":{"200":{"description":"One page of events involving the authenticated user's accounts. Rows are grouped by `family`, EVM first. `meta.total` counts matching events in both families, not only the ones on this page. `meta.facets` describes the EVM rows only. Events default to newest first by `recordedAt`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserEventCollection"},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"evt-northwind-transfer-1","eventName":"Transfer","txIndex":"0","blockNumber":"18429103","blockTimestamp":"2026-03-11T16:02:08.000Z","transactionHash":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4","emitter":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"sender":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"metaTxSigner":null,"displaySender":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"relayerKind":null,"relayer":null,"userOpHash":null,"paymaster":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"actualGasCost":"128054388000000","paymasterName":"example","involved":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}],"values":[{"id":"val-0","name":"from","value":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}],"endpoints":{"source":{"kind":"account","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"destination":{"kind":"account","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"amount":{"value":"50000","symbol":"example","decimals":0},"asset":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"example","symbol":"example"},"confirmation":{"id":"0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","chainId":0},"swap":{"tradeId":"example","marketId":"example","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","seller":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","buyer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","base":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"example","decimals":0,"amount":"0"},"quote":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"example","decimals":0,"amount":"0"},"buyerFee":"0","legs":[{"leg":"base","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","from":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","to":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0"}]}}],"meta":{"total":2,"facets":{},"totalsSkipped":"timeout","nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"/v2/users/me/events?sort=-recordedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/users/me/events?sort=-recordedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/users/me/events?sort=-recordedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of events involving any account of the authenticated user, on every ledger those accounts act on. Rows carry `family` and are grouped by it, EVM first. An `evm` row is one indexed contract event named by its block number, transaction hash, and log index; a `canton` row is one ledger event named by its offset, update id, and node index. Send `filter[family]`, `X-Chain-Id`, or `X-Network-Id` to read one family; send none for both. Newest first by `recordedAt`, the record time both ledgers have. `meta.facets` describes the EVM rows only. This operation reads from the Ledger Index and submits no transaction.","summary":"List the caller's ledger events","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/activity-metrics":{"get":{"tags":["Users"],"operationId":"party.users.activityStats","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"asset":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"projectionFamily":{"anyOf":[{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"action":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"toParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ledgerOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"compare","in":"query","schema":{"type":"string","enum":["prior"],"description":"Send prior to also get the period straight before the window, one entry per point."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserEventActivityChart"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","evm":0,"canton":0}],"prior":[{"t":"example","evm":0,"canton":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false},"peak":12},"links":{"self":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/{userId}/password-lockout":{"delete":{"tags":["Users"],"operationId":"party.userPasswordLockouts.delete","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Confirmation that the user can sign in with their password again.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminMutationResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45/password-lockout"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","USER_SECURITY_TARGET_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12260","DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Clears the lock that repeated wrong passwords put on the user's password sign-in, including a lock that lasts until an operator unlocks it. The user's password and other credentials stay as they are. The caller needs a role that may administer that user, and the unlock is recorded in the authentication audit trail.","summary":"Unlock a user's password sign-in","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/wallets/{wallet}/identity":{"get":{"tags":["Identities and claims"],"operationId":"party.identities.readByWallet","parameters":[{"name":"wallet","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"tokenAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"The indexed identity linked to the wallet, with its owning account, registration state, and non-revoked claims.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityReadDto"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"},"claims":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72-0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d61","name":"knowYourCustomer","signature":"0x3f81c4a9b27e0d6538f1a94c72b0e85d1c6a30f97b425e8d0139c6ba74e2f85d0b47a91e3c6d825f0a94b17c63e0d5289f4a1b76c30e9d5482b71fa0c96d3e841b","revoked":false,"issuer":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}},"values":[],"isTrusted":true}]},"links":{"self":"/v2/system/wallets/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/identity"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexed identity contract linked to a wallet address, with its owning account, its registration state, and its non-revoked claims. `hasIdentity` reports whether the identity registry holds a registration record for the identity, and `registered` appears only once that record is active. Without `tokenAddress` the claim list holds only claims from issuers that the identity registry trusts. Supplying `tokenAddress` returns every non-revoked claim and marks a claim as trusted when the registry trusts its issuer or the issuer validates the named token.","summary":"Read the identity of a wallet","x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Identities and claims"],"operationId":"party.identities.delete","parameters":[{"name":"wallet","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The wallet whose registry entry the platform removed, and the transaction that removed it, or an accepted acknowledgement carrying a status URL to poll when the request asks for asynchronous processing.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityDeleted"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/wallets/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/identity"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the registry entry that links a wallet to its identity contract. The identity contract itself stays deployed and its claims stay intact. The caller needs the identity-manager role. When a second wallet holds a registry entry against the same identity, the platform removes that entry in its own transaction first.","summary":"Remove a wallet from the identity registry","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDeleteCommand"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identities/{identityAddress}":{"get":{"tags":["Identities and claims"],"operationId":"party.identities.readById","parameters":[{"name":"identityAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"tokenAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"The indexed identity at the requested address, with its owning account, registration state, and non-revoked claims.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityReadDto"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"},"claims":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72-0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d61","name":"knowYourCustomer","signature":"0x3f81c4a9b27e0d6538f1a94c72b0e85d1c6a30f97b425e8d0139c6ba74e2f85d0b47a91e3c6d825f0a94b17c63e0d5289f4a1b76c30e9d5482b71fa0c96d3e841b","revoked":false,"issuer":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}},"values":[],"isTrusted":true}]},"links":{"self":"/v2/system/identities/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the same identity projection as the wallet lookup, addressed by the identity contract address rather than by the wallet. Reach for this once you already hold the identity address, for example from a list page or from the read-back of a mutation. `tokenAddress` widens the claim list and the trust marking the same way it does on the wallet lookup.","summary":"Read an identity by contract address","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identities/me":{"get":{"tags":["Identities and claims"],"operationId":"party.identities.me","parameters":[],"responses":{"200":{"description":"The indexed identity of the authenticated caller, or NOT_PROVISIONED / NO_IDENTITY when its wallet has no identity contract.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityMeResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"},"claims":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72-0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d61","name":"knowYourCustomer","signature":"0x3f81c4a9b27e0d6538f1a94c72b0e85d1c6a30f97b425e8d0139c6ba74e2f85d0b47a91e3c6d825f0a94b17c63e0d5289f4a1b76c30e9d5482b71fa0c96d3e841b","revoked":false,"issuer":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}},"values":[],"isTrusted":true}]},"links":{"self":"/v2/system/identities/me"}}},"example-2":{"value":{"data":{"status":"NOT_PROVISIONED","reason":"NO_IDENTITY"},"links":{"self":"/v2/system/identities/me"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the identity projection for the wallet of the authenticated session. When that wallet has no identity contract, returns data.status NOT_PROVISIONED and data.reason NO_IDENTITY with HTTP 200 so a caller can offer identity creation instead of treating the absence as an error. Use this when the caller acts on its own identity and does not already know which wallet address to look up.","summary":"Read the identity of the caller","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identity-searches":{"post":{"tags":["Identities and claims"],"operationId":"party.identities.search","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The matching identity without its claims, or `null` in `data` when no indexed identity matches the query.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/IdentitySearchMatch"},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"}},"links":{"self":"/v2/system/identity-searches"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Looks up one identity by wallet address or by identity contract address and returns a reduced projection that omits claims. Send at least one of `wallet` and `address`. A wallet lookup also matches a wallet paired to the same identity. A query that matches nothing succeeds and returns `null` in `data` rather than failing.","summary":"Search for a single identity","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentitySelector"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identities":{"get":{"tags":["Identities and claims"],"operationId":"party.identities.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kycStatus":{"anyOf":[{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isContract":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of identities with their claim counts, pagination links, and facet counts for the filterable fields.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/IdentityV2ListItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":null,"kycStatus":"incomplete","kycApprovedAt":"example","country":"BE","registrations":[{"walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kycStatus":"registered","country":"BE","isLost":false}],"isContract":false,"claimsCount":4,"activeClaimsCount":3,"revokedClaimsCount":1,"untrustedClaimsCount":0,"deployedInTransaction":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/identities?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/identities?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/identities?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a page of the identities indexed for the organization system, one row per identity however many wallets it is registered for. Each row carries the wallet, country, and KYC status of the registration that represents the identity, every registration in `registrations`, and its claim counts. Filter, sort, search, and paginate through the collection query parameters; a `walletAddress` filter or a search finds an identity by any wallet it is registered for. `kycStatus` reads `registered` for an active registration and `pending` for every other state.","summary":"List identities","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identity-registration-statuses":{"get":{"tags":["Identities and claims"],"operationId":"party.identities.registrationStatus","parameters":[{"name":"organizationId","in":"query","schema":{"type":"string","minLength":1,"description":"Tenant organization identifier"},"required":false},{"name":"wallet","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"How far the wallet has progressed through identity registration, plus the identity and system addresses once they are known.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityRegistrationStatusOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"status":"ACTIVE","identityAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","systemAddress":"0x9F4C1a2B3D5e6f708192a3B4c5D6e7f8091A2B3c"},"links":{"self":"/v2/system/identity-registration-statuses"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reports how far a wallet has progressed through identity registration, so an onboarding flow can branch on one value instead of combining several reads. `organizationId` defaults to the active organization of the authenticated session, and omitting `wallet` reports `NO_IDENTITY`.","summary":"Read the identity registration status of a wallet","x-dalp-auth":"session-or-api-key"}},"/api/v2/identities":{"post":{"tags":["Identities and claims"],"operationId":"party.identities.create","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The created identity once the deployment settles, or an accepted acknowledgement carrying a status URL to poll when the request asks for asynchronous processing.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityReadDto"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":false,"claims":[]},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/identities"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","party.identity.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-12390","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","party.identity.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12389","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","party.registry.WRITE_REVERTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-14447"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"party.registry.WRITE_REVERTED","status":422,"message":"The registry contract reverted the write","data":{"id":"DALP-14447","why":"The registry contract reverted the write with a contract error this platform has no catalog entry for.","fix":"Read the transaction request for the revert data, correct the condition it names, then send the write again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deploys an identity contract for a wallet and returns the indexed identity once the deployment settles. `wallet` defaults to the effective wallet of the caller. Creating an identity for a wallet the calling participant does not own additionally requires the identity-manager role. When that wallet's owner signs through a self custody wallet, the first request answers `409` with the typed data the wallet signs; send the request again with the signature in `externalMessageAuthorization`, and the platform relays the signed authorization from the caller's own signer. The request fails with a conflict when the wallet already has an identity contract.","summary":"Create an identity contract for a wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityCreateCommand"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identity-registrations":{"post":{"tags":["Identities and claims"],"operationId":"party.identities.register","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The identity with its registration once the transaction settles, or an accepted acknowledgement carrying a status URL to poll when the request asks for asynchronous processing.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityReadDto"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"},"claims":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72-0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d61","name":"knowYourCustomer","signature":"0x3f81c4a9b27e0d6538f1a94c72b0e85d1c6a30f97b425e8d0139c6ba74e2f85d0b47a91e3c6d825f0a94b17c63e0d5289f4a1b76c30e9d5482b71fa0c96d3e841b","revoked":false,"issuer":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}},"values":[],"isTrusted":true}]},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/identity-registrations"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers a deployed identity contract in the identity registry under a country. The caller needs the identity-manager role, and `wallet` defaults to the effective wallet of the caller. When a second wallet shares the same unregistered identity, the platform registers both wallets in a single transaction. A wallet whose registration is already active is answered with the identity and no transaction, so a request repeated after the registration landed reports the same result rather than a conflict; when such a wallet still shares its identity with an unregistered second wallet, the platform registers that wallet instead.","summary":"Register an identity in the identity registry","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityRegisterCommand"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/pending-identity-registrations":{"post":{"tags":["Identities and claims"],"operationId":"party.identities.registerPending","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The identity with its new registration once the transaction settles, or an accepted acknowledgement carrying a status URL to poll when the request asks for asynchronous processing.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityReadDto"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"},"claims":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72-0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d61","name":"knowYourCustomer","signature":"0x3f81c4a9b27e0d6538f1a94c72b0e85d1c6a30f97b425e8d0139c6ba74e2f85d0b47a91e3c6d825f0a94b17c63e0d5289f4a1b76c30e9d5482b71fa0c96d3e841b","revoked":false,"issuer":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}},"values":[],"isTrusted":true}]},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/pending-identity-registrations"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers an identity contract that is already deployed for a wallet but does not yet hold a registry entry. Unlike the identity-registry registration, the wallet owner may run this for their own wallet, and any other caller needs the identity-manager role. `organizationId` defaults to the active organization of the authenticated session and `wallet` defaults to the effective wallet of the caller.","summary":"Register a deployed identity that has no registry entry yet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityRegisterPendingCommand"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identity-countries":{"patch":{"tags":["Identities and claims"],"operationId":"party.identities.updateCountry","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The identity with its updated country once the transaction settles, or an accepted acknowledgement carrying a status URL to poll when the request asks for asynchronous processing.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IdentityReadDto"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":null},"isContract":false,"hasIdentity":true,"registered":{"isRegistered":true,"country":"BE"},"claims":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72-0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d61","name":"knowYourCustomer","signature":"0x3f81c4a9b27e0d6538f1a94c72b0e85d1c6a30f97b425e8d0139c6ba74e2f85d0b47a91e3c6d825f0a94b17c63e0d5289f4a1b76c30e9d5482b71fa0c96d3e841b","revoked":false,"issuer":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}},"values":[],"isTrusted":true}]},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/identity-countries"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes the country the identity registry records for a wallet. The caller needs the identity-manager role. When a second wallet holds a registry entry against the same identity, the platform updates that entry in its own transaction as well.","summary":"Update the country of a registered wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityUpdateCountryCommand"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identities/{identityAddress}/claim-events":{"get":{"tags":["Identities and claims"],"operationId":"party.claims.history","parameters":[{"name":"identityAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"eventName":{"anyOf":[{"type":"string","enum":["ClaimAdded","ClaimChanged","ClaimRemoved","ClaimRevoked"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"topic":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"claimId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"issuerAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"senderAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of claim events for the identity, newest first unless the request sorts otherwise, with pagination metadata for the page. Rows are grouped by `family`, EVM first: an `evm` row is a lifecycle event an identity contract emitted, a `canton` row a claim on the ledger's own registry. `meta.total` counts the rows the identity has in the family the path selected, and `meta.facets` describes the EVM rows only, because a Canton claim carries none of those columns. An identity that is registered but carries no matching events returns an empty page rather than an error.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ClaimsHistoryV2Item"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x3f1a9c74b2e05d8613a7c94f2b6d0e58ac71f39b4d2e6081c5a93f7b0d248e6c-0","eventName":"ClaimAdded","topic":"26984799302505749158794800959285050858086405868089409909048783980951278841746","claimId":"0x8c4d21f6a9b3e07d5148c2fb96e3047a1d5b8e2c60f47931ab5c8d20e6f13a94","blockNumber":"21845311","blockTimestamp":"2026-01-15T10:30:00.000Z","transactionHash":"0x3f1a9c74b2e05d8613a7c94f2b6d0e58ac71f39b4d2e6081c5a93f7b0d248e6c","emitter":{"id":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f"},"sender":{"id":"0x2546bcd3c84621e976d8185a91a922ae77ecec30"},"values":[{"id":"val-0","name":"topic","value":"26984799302505749158794800959285050858086405868089409909048783980951278841746"}]},{"family":"canton","networkIdentity":"canton-local","contractId":"00a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90","kind":"claim","adminParty":"Registry::1220b7f0ab1f4c5d8e9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e","issuerParty":"Issuer::1220fedcba9876543210fedcba9876543210fedcba9876543210fedcba987654","subjectParty":"Subject::122011223344556677889900aabbccddeeff11223344556677889900aabbccdd","topic":"26984799302505749158794800959285050858086405868089409909048783980951278841746","claimData":"0x7b226b7963223a747275657d","createdOffset":"10427","updateId":"1220aabbccddeeff00112233445566778899aabbccddeeff0011223344556677","recordTime":"2026-01-15T10:30:00.000Z"}],"meta":{"total":2},"links":{"self":"/v2/system/identities/0x8ba1f109551bD432803012645Ac136ddd64DBA72/claim-events?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/identities/0x8ba1f109551bD432803012645Ac136ddd64DBA72/claim-events?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/identities/0x8ba1f109551bD432803012645Ac136ddd64DBA72/claim-events?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Return the recorded claim events for one identity, in whichever chain family the path names it. An EVM address names an identity contract, whose `ClaimAdded`, `ClaimChanged`, `ClaimRemoved`, and `ClaimRevoked` events are listed; the identity must be registered in the identity registry of the system selected for the request, otherwise the Platform API returns 404. A Canton party id (`hint::fingerprint`) names the registry admin party whose ledger claims are listed, disclosed to the parties the calling organization holds on the selected network. Rows carry `family`, and one row is only one family's: an `evm` row is a contract event, a `canton` row a claim on the ledger's own registry. Results default to newest first and support offset pagination, sorting, and filtering on the EVM fields, the Canton fields, and the `family` and `network` axes; a filter whose column belongs to the family the request did not name, or a `filter[family]` that contradicts the path, is answered with 422. Facet counts describe the EVM rows only. This operation reads from the Ledger Index and submits no transaction.","summary":"List claim events for one identity, or the claims on one registry","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identity-claims":{"post":{"tags":["Identities and claims"],"operationId":"party.claims.issue","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The issued claim with the hash of the transaction that added it, or, on a Canton body, the settled operation the ledger accepted. When the request asked not to wait, the response instead carries the transaction id and a status URL to poll.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClaimsIssueMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x3f1a9c74b2e05d8613a7c94f2b6d0e58ac71f39b4d2e6081c5a93f7b0d248e6c","success":true,"claimTopic":"knowYourCustomer","targetWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"meta":{"txHashes":["0x3f1a9c74b2e05d8613a7c94f2b6d0e58ac71f39b4d2e6081c5a93f7b0d248e6c"]},"links":{"self":"/v2/system/identity-claims"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sign a claim and record it against the identity that receives it. The route serves both families and the body selects which one runs: a body without `cantonPartyId` is the EVM arm, which signs with the issuer wallet of the calling participant, and a body with `cantonPartyId` is the Canton arm, which submits the matching Daml choice as one of the organization's party wallets. On the EVM arm the topic must be registered in the topic scheme registry of the selected system, the effective wallet of the request must be listed as a trusted issuer for that topic, a `knowYourCustomer` claim value must equal the approved KYC content hash of the participant that owns the target identity, and an `assetClassification` claim must name a type that resolves to an asset class in the selected system. On the Canton arm the body names the issuer authorization the claim is issued under and the subject party, and the organization must hold the named party as a wallet. The EVM arm requires the `claimIssuer` blockchain role, and both arms verify the caller's wallet when the organization enforces it. The response follows the asynchronous blockchain mutation contract: it carries the claim, or the settled Canton operation, once the transaction is mined and indexed, or a status URL to poll when the request does not wait for the transaction.","summary":"Issue a claim to an identity","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"externalMessageAuthorization":{"$ref":"#/components/schemas/ExternalMessageAuthorization"},"targetIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"claim":{"$ref":"#/components/schemas/ClaimData"},"cantonPartyId":{"not":{}}},"required":["targetIdentityAddress","claim"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_12"},"authorizationContractId":{"type":"string","minLength":1,"description":"Contract id of the issuer authorization the claim is issued under, as returned by the claims list for the row with kind issuer."},"subjectParty":{"$ref":"#/components/schemas/CantonPartyId_13"},"claimData":{"type":"string","description":"Claim payload, in the topic's own signature.","examples":["verified"]},"expiry":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"Instant the claim expires. Omit for a claim that does not expire.","examples":["2026-09-01T00:00:00Z"]}},"required":["cantonPartyId","authorizationContractId","subjectParty","claimData"],"additionalProperties":false}],"description":"The body says which family signs the claim. Without `cantonPartyId` it is the EVM arm: `targetIdentityAddress` is the identity contract that receives the claim and `claim` is the attestation to sign. With `cantonPartyId` it is the Canton arm: the party the organization submits as, `authorizationContractId` of the issuer authorization the claim is issued under, `subjectParty`, the claim payload in the topic's own signature, and an optional `expiry`."}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/identity-claim-revocations":{"post":{"tags":["Identities and claims"],"operationId":"party.claims.revoke","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The id of the removed claim with the hash of the transaction that removed it, or, on a Canton body, the settled operation the ledger accepted. When the request asked not to wait, the response instead carries the transaction id and a status URL to poll.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClaimsRevokeMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x3f1a9c74b2e05d8613a7c94f2b6d0e58ac71f39b4d2e6081c5a93f7b0d248e6c","success":true,"claimId":"0x8c4d21f6a9b3e07d5148c2fb96e3047a1d5b8e2c60f47931ab5c8d20e6f13a94"},"meta":{"txHashes":["0x3f1a9c74b2e05d8613a7c94f2b6d0e58ac71f39b4d2e6081c5a93f7b0d248e6c"]},"links":{"self":"/v2/system/identity-claim-revocations"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Remove a claim from the identity that holds it. The route serves both families and the body selects which one runs: a body without `cantonPartyId` is the EVM arm, which removes the active claim for one topic, and a body with `cantonPartyId` is the Canton arm, which archives the named claim contract as one of the organization's party wallets. On the EVM arm the signing wallet of the request must hold a management key on that identity, the target must be registered in the identity registry of the selected system, and exactly one such claim must exist for the topic. The Platform API then returns 404 when the topic has no active claim, and 500 when it holds more than one, because the claim to remove is then ambiguous. The EVM arm requires an active organization and the `claimIssuer` blockchain role, and both arms verify the caller's wallet when the organization enforces it. The response follows the asynchronous blockchain mutation contract: it carries the removed claim id, or the settled Canton operation, once the transaction is mined and indexed, or a status URL to poll when the request does not wait for the transaction.","summary":"Revoke a claim from an identity","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"targetIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"claimTopic":{"anyOf":[{"$ref":"#/components/schemas/ClaimTopic"},{"type":"string","minLength":1,"maxLength":100,"description":"Name of a custom claim topic, between 1 and 100 characters. The topic id is the keccak-256 hash of this name, so it must match the name registered in the topic scheme registry of the selected system exactly, including case.","examples":["customComplianceClaim"]}],"description":"Name of the topic to revoke. Exactly one active claim must exist for it on the target identity, because this name selects the claim to remove.","examples":["knowYourCustomer"]},"cantonPartyId":{"not":{}}},"required":["targetIdentityAddress","claimTopic"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_14"},"claimContractId":{"type":"string","minLength":1,"description":"Contract id of the claim to revoke, as returned by the claims list for the row with kind claim."}},"required":["cantonPartyId","claimContractId"],"additionalProperties":false}],"description":"The body says which family removes the claim. Without `cantonPartyId` it is the EVM arm: `targetIdentityAddress` holds the claim and `claimTopic` names the topic whose active claim is removed. With `cantonPartyId` it is the Canton arm: the party the organization submits as and `claimContractId` of the claim to archive."}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/claim-topics":{"get":{"tags":["Identities and claims"],"operationId":"party.claimTopics.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of claim topics resolved for the active system, with the total count, a `source` facet that splits topics owned by the system from inherited ones, and pagination links.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ClaimTopic_1"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x5F4e1b0E6A3c9D2f8B7a4c1e0D9F6a3b8c5E2D10307832383565","topicId":"10334","name":"collateral","signature":"(uint256 amount, uint256 expiryTimestamp)","registry":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"isGlobal":false,"exclusionPolicy":"allow","subject":"person"}],"meta":{"total":2,"facets":{}},"links":{"self":"/v2/system/claim-topics?sort=topicId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/claim-topics?sort=topicId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/claim-topics?sort=topicId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Return the claim topics the active system resolves, including ones it inherits from registries above it in its registry chain. Filter and search on `name` and `topicId`, sort by either field, and page through the collection with the `page` parameter. When the same topic id resolves more than once, the platform keeps a single entry and prefers the registry closest to the active system.","summary":"List claim topics","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Identities and claims"],"operationId":"party.claimTopics.upsertSystem","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. When the request settles synchronously the body carries the stored result and the hash of the confirmed transaction. When the platform queues the work instead, the body carries a transaction id and a status URL to poll for the outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemClaimTopicCreateMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x9f2c1b4a7e0d38c5f6a2b1908e4d7c3a5b6f8e2d1c0a9b8f7e6d5c4b3a291807","name":"collateral"},"meta":{"txHashes":["0x9f2c1b4a7e0d38c5f6a2b1908e4d7c3a5b6f8e2d1c0a9b8f7e6d5c4b3a291807"]},"links":{"self":"/v2/system/claim-topics"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_TOPIC_ALREADY_EXISTS","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433","DALP-9510"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Add a name and claim-data type list to the topic scheme registry the active system owns. Send the topic name and the Solidity type list of its claim data without parentheses, and the platform wraps the list before it stores the topic. The caller needs the claim policy manager role, and supplies `walletVerification` when the signing wallet requires a verification challenge. The platform rejects a name that registry already holds. A body carrying `cantonPartyId` is a Canton write: it registers the topic scheme on the system's registry as that party wallet, and a finished operation returns 200 while an accepted one returns 202 with a status URL.","summary":"Register a claim topic","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/ClaimTopicSubject"},"exclusionPolicy":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicy_1"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Name to register for the claim topic, 1 to 100 characters. The name is unique within the active system's topic scheme registry, and the platform rejects a name that is already registered."},"signature":{"type":"string","minLength":1},"cantonPartyId":{"not":{}}},"required":["name","signature"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_15"},"name":{"type":"string","minLength":1,"description":"Topic scheme name. It is the key a claim's topic resolves through.","examples":["knowYourCustomer"]},"signature":{"type":"string","description":"Signature the claim data for this topic must satisfy, as the ledger records it.","examples":["string claim"]}},"required":["cantonPartyId","name","signature"],"additionalProperties":false}],"description":"The claim topic to register: its `name` and the Solidity type list of its claim data. A body carrying `cantonPartyId` is a Canton write instead: it registers the topic scheme on the system's registry as that party."}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/claim-topics/{name}":{"put":{"tags":["Identities and claims"],"operationId":"party.claimTopics.updateSystem","parameters":[{"name":"name","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. When the request settles synchronously the body carries the stored result and the hash of the confirmed transaction. When the platform queues the work instead, the body carries a transaction id and a status URL to poll for the outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemClaimTopicUpdateMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x9f2c1b4a7e0d38c5f6a2b1908e4d7c3a5b6f8e2d1c0a9b8f7e6d5c4b3a291807","name":"collateral","newSignature":"(uint256 amount, uint256 expiryTimestamp, address attestor)"},"meta":{"txHashes":["0x9f2c1b4a7e0d38c5f6a2b1908e4d7c3a5b6f8e2d1c0a9b8f7e6d5c4b3a291807"]},"links":{"self":"/v2/system/claim-topics/collateral"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replace the Solidity type list stored for a claim topic in the topic scheme registry the active system owns. The topic keeps its name and its on-chain topic id, and only the signature changes. The caller needs the claim policy manager role, and supplies `walletVerification` when the signing wallet requires a verification challenge. The platform rejects a name that registry does not hold. A body carrying `cantonPartyId` is a Canton write: it restates the registered topic scheme as that party wallet, and the path names the topic it restates.","summary":"Replace a claim topic signature","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/ClaimTopicSubject"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"signature":{"type":"string","minLength":1},"cantonPartyId":{"not":{}}},"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_15"},"signature":{"type":"string","description":"Signature the claim data for this topic must satisfy, as the ledger records it.","examples":["string claim"]}},"required":["cantonPartyId","signature"],"additionalProperties":false}],"description":"The Solidity type list that replaces the one stored for the topic the path names. A body carrying `cantonPartyId` is a Canton write instead: it restates the registered topic scheme as that party."}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Identities and claims"],"operationId":"party.claimTopics.deleteSystem","parameters":[{"name":"name","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepted the mutation. When the request settles synchronously the body carries the stored result and the hash of the confirmed transaction. When the platform queues the work instead, the body carries a transaction id and a status URL to poll for the outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemClaimTopicDeleteMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x9f2c1b4a7e0d38c5f6a2b1908e4d7c3a5b6f8e2d1c0a9b8f7e6d5c4b3a291807","name":"collateral"},"meta":{"txHashes":["0x9f2c1b4a7e0d38c5f6a2b1908e4d7c3a5b6f8e2d1c0a9b8f7e6d5c4b3a291807"]},"links":{"self":"/v2/system/claim-topics/collateral"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Drop a name from the topic scheme registry the active system owns. The caller needs the claim policy manager role, and supplies `walletVerification` when the signing wallet requires a verification challenge. The platform rejects a name that registry does not hold. Topics the system inherits from another registry stay in place, because this route only changes the registry the active system owns. A body carrying `cantonPartyId` is a Canton write: it retires the registered topic scheme as that party wallet, and the path names the topic it retires.","summary":"Remove a claim topic","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"not":{}}},"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_15"}},"required":["cantonPartyId"],"additionalProperties":false}],"description":"Removal carries no field but the wallet verification. A body carrying `cantonPartyId` is a Canton write instead: it retires the registered topic scheme as that party."}}},"required":false},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Identities and claims"],"operationId":"party.claimTopicRead.read","parameters":[{"name":"name","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The requested claim topic, the issuers that can attest it today, and a link back to the topic.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClaimTopicRead"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x5F4e1b0E6A3c9D2f8B7a4c1e0D9F6a3b8c5E2D10307832383565","name":"collateral","signature":"(uint256 amount, uint256 expiryTimestamp)","topicId":"10334","trustedIssuers":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addedAt":"2026-03-14T09:21:00.000Z","revokedAt":"1970-01-01T00:00:00.000Z","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}],"exclusionPolicy":"allow","subject":"person"},"links":{"self":"/v2/system/claim-topics/collateral"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Return one claim topic by name, together with the issuers currently trusted to attest it. The lookup spans the registry chain resolved for the active system and returns the match closest to that system. Topics that are no longer enabled do not resolve.","summary":"Read a claim topic","x-dalp-auth":"session-or-api-key"}},"/api/v2/directory/topic-schemes":{"get":{"tags":["Identities and claims"],"operationId":"party.topicSchemes.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of the enabled topic schemes, the number of entries the query matches in total, and the links that walk the remaining pages.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DirectoryTopicScheme"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x9d4454b023096f34b160d6b654540c56a1f81688#66602700950116947137359654609674923607788815289970476259958745144319039408766","topicId":"66602700950116947137359654609674923607788815289970476259958745144319039408766","name":"antiMoneyLaundering","signature":"string claim","registry":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"isShadowed":false,"inheritedBySystemsCount":12,"subject":"person"}],"meta":{"total":2,"facets":{}},"links":{"self":"/v2/directory/topic-schemes?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/directory/topic-schemes?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/directory/topic-schemes?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the claim topics the global topic scheme registry has enabled on the selected network. The response leaves out a topic the registry has disabled, so an entry drops out of this collection once the registry disables it. Sort by `name` or `topicId`, filter on `topicId`, `name`, or `signature`, and match `name` and `signature` together through `filter[q]`. Entries come back ordered by `name` ascending unless the request sends `sort`. `meta.facets` always holds an empty object for this collection. Send `X-Chain-Id` with the decimal chain identifier of the network you want to read; without it the platform reads the network it runs on.","summary":"List the published claim topics","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/topic-schemes":{"post":{"tags":["Identities and claims"],"operationId":"party.topicSchemes.addForToken","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepts the registration, and the settled response echoes the registered name. By default the platform queues the transaction and answers with the transaction identifier, its current state, and the status URL to poll, under status `202`. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the transaction hashes that carried the change and a link back to the token's topic schemes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TopicSchemeMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","name":"Accredited Investor Status"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/topic-schemes"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds an entry to the token's own Topic Scheme Registry, so the platform can issue and verify claims of that topic for this token. Send `signature` as a comma-separated list of ABI types without parentheses; the platform stores it in parenthesised form and rejects a list that holds anything other than valid ABI types. Registering a name the token already holds returns `409`, and a token without a registry of its own returns `404`.","summary":"Register a topic scheme on a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicSchemeCommand"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Identities and claims"],"operationId":"party.tokenRegistries.listTopicSchemes","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"source":{"anyOf":[{"type":"string","enum":["token","system","global"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenTopicScheme"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"hasTokenRegistry":{"type":"boolean","description":"True when the token has a topic-scheme registry of its own. When false, the token resolves only the schemes it inherits, and no route can add a scheme to it or remove one from it."}},"required":["total","hasTokenRegistry"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","topicId":"example","name":"example","signature":"example","registry":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"inheritanceLevel":"token","isShadowed":false,"subject":"person"}],"meta":{"total":0,"facets":{},"hasTokenRegistry":false},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`.\n- A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/topic-schemes/{topicId}":{"delete":{"tags":["Identities and claims"],"operationId":"party.topicSchemes.removeForToken","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"topicId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^\\d+$","description":"Decimal topic identifier, the `uint256` keccak-256 hash of the topic name registered in the topic scheme registry of the active system. Digits only, with no `0x` prefix and no leading sign.","examples":["26984799302505749158794800959285050858086405868089409909048783980951278841746"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The platform accepts the removal, and the settled response echoes the removed topic id. By default the platform queues the transaction and answers with the transaction identifier, its current state, and the status URL to poll, under status `202`. A caller that sends `Prefer: wait=<seconds>` waits for settlement instead and receives the transaction hashes that carried the change and a link back to the token's topic schemes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TopicSchemeRemoved"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","topicId":"42"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/topic-schemes"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Drops the entry at the `topicId` path parameter from the token's own Topic Scheme Registry. The route reaches only a scheme the token registered itself: a topic id the token inherits from its system or from the global registry returns `404` and keeps resolving for the token. A token without a registry of its own returns `404`.","summary":"Remove a topic scheme from a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicSchemeRemoval"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/directory/trusted-issuers":{"get":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of the trusted issuers the global registry publishes, the number of entries the query matches in total, and the links that walk the remaining pages.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DirectoryTrustedIssuer"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x8ba1f109551bd432803012645ac136ddd64dba72","account":{"id":"0x70997970c51812dc3a010c7d01b50e0d17dc79c8"},"claimTopics":[{"id":"0x9d4454b023096f34b160d6b654540c56a1f81688#26984799302505749158794800959285050858086405868089409909048783980951278841746","topicId":"26984799302505749158794800959285050858086405868089409909048783980951278841746","name":"knowYourCustomer","signature":"string claim"},{"id":"0x9d4454b023096f34b160d6b654540c56a1f81688#66602700950116947137359654609674923607788815289970476259958745144319039408766","topicId":"66602700950116947137359654609674923607788815289970476259958745144319039408766","name":"antiMoneyLaundering","signature":"string claim"}],"deployedInTransaction":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","inheritedBySystemsCount":12}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/directory/trusted-issuers?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/directory/trusted-issuers?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/directory/trusted-issuers?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the trusted issuers the global trusted issuers registry publishes on the selected network. Each row pairs an issuer identity with the claim topics it may attest to. Sort by `id`, filter on `id`, and page through the collection with the shared `page` parameter. Entries come back ordered by `id` ascending unless the request sends `sort`. `meta.facets` always holds an empty object for this collection. Send `X-Chain-Id` with the decimal chain identifier of the network you want to read; without it the platform reads the network it runs on.","summary":"List published trusted issuers","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/trusted-issuers":{"get":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.listSystem","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of trusted issuers. `meta.total` counts every issuer the active system accepts claims from across the registry chain, not just the issuers on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SystemTrustedIssuer"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"},"claimTopics":[{"id":"0x5FbDB2315678afecb367f032d93F642f64180aa3307833626138646165623761616364336330646439333431373536383836653463373734636639663136353463656564363336383834336531323431383565663932","topicId":"26984799302505749158794800959285050858086405868089409909048783980951278841746","name":"knowYourCustomer","signature":"string claim"}],"deployedInTransaction":"0x1c9a5f80d3b47e6218ca03f95d7be41086c2d97fa5301be8c47d0f2635a9184b","isGlobal":false}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/trusted-issuers?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/trusted-issuers?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/trusted-issuers?sort=id&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every trusted issuer the active system accepts claims from, including entries inherited through the registry chain. The platform walks the chain from the registry of the active system through its parents, deduplicates by issuer address keeping the entry nearest the active system, sorts by address, and marks an inherited entry with `isGlobal`. Filtering and paging apply after the merge, so a page reflects the merged set rather than one registry.","summary":"List trusted issuers","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.createSystem","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The registration is accepted. The body carries the transaction hash and the issuer address once the registry transaction settles. When you ask for asynchronous processing, the body carries a transaction identifier, the current transaction state, and a status URL to poll, and the status code is 202 instead of 200.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemTrustedIssuerCreateMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","issuerAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"meta":{"txHashes":["0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c"]},"links":{"self":"/v2/system/trusted-issuers"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds an issuer identity to the trusted issuers registry of the active system together with the claim topics it may attest to. The platform checks that registry first and returns a conflict when the issuer is already registered there, so use the replace or the create-or-replace route to change the topics of an existing entry. Wallet verification runs before the transaction is queued. A body carrying `cantonPartyId` is a Canton write: it trusts that issuer party for the one claim topic the body names, submitted as a party wallet of the active organization, and a finished operation returns 200 while an accepted one returns 202 with a status URL.","summary":"Register a trusted issuer","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"issuerAddress":{"$ref":"#/components/schemas/EvmAddress"},"claimTopicIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":50},"cantonPartyId":{"not":{}}},"required":["issuerAddress","claimTopicIds"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_15"},"claimIssuerParty":{"$ref":"#/components/schemas/CantonPartyId_16"},"topic":{"type":"string","minLength":1,"description":"Claim topic the trust entry or claim is about.","examples":["knowYourCustomer"]}},"required":["cantonPartyId","claimIssuerParty","topic"],"additionalProperties":false}],"description":"The issuer to register in the trusted issuers registry of the active system, with the claim topics it may attest to. A body carrying `cantonPartyId` is a Canton write instead: it trusts that issuer party for one claim topic, submitted as the party the body names."}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/trusted-issuers/{issuerAddress}":{"get":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.readSystem","parameters":[{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The trusted issuer, with its claim topics and the wallet that operates the issuer identity.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemTrustedIssuer"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":{"id":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"},"claimTopics":[{"id":"0x5FbDB2315678afecb367f032d93F642f64180aa3307833626138646165623761616364336330646439333431373536383836653463373734636639663136353463656564363336383834336531323431383565663932","topicId":"26984799302505749158794800959285050858086405868089409909048783980951278841746","name":"knowYourCustomer","signature":"string claim"}],"deployedInTransaction":"0x1c9a5f80d3b47e6218ca03f95d7be41086c2d97fa5301be8c47d0f2635a9184b","isGlobal":false},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one trusted issuer resolved across the registry chain of the active system. The platform reports a not-found error when no registry in that chain holds the address.","summary":"Read a trusted issuer","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.upsertSystem","parameters":[{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The registration or topic replacement is accepted. The body carries the transaction hash and the issuer address once the registry transaction settles. When you ask for asynchronous processing, the body carries a transaction identifier, the current transaction state, and a status URL to poll, and the status code is 202 instead of 200.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustedIssuerMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","issuerAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"meta":{"txHashes":["0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c"]},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers the issuer when the trusted issuers registry of the active system does not hold it, and replaces its claim topics when it does. The platform reads that registry first to pick the branch, then falls back to the other branch when it reports the opposite state, so a concurrent write does not fail the request. Send the complete topic set: topics you leave out are removed.","summary":"Register a trusted issuer or replace its claim topics","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedIssuerCommand"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.updateSystem","parameters":[{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The topic replacement is accepted. The body carries the transaction hash and the issuer address once the registry transaction settles. When you ask for asynchronous processing, the body carries a transaction identifier, the current transaction state, and a status URL to poll, and the status code is 202 instead of 200.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustedIssuerMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","issuerAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"meta":{"txHashes":["0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c"]},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets the claim topics of a registered trusted issuer to exactly the list in the body: send the complete set, because topics you leave out are removed. The write fails with a not-found error when the trusted issuers registry of the active system does not hold the issuer; use the create-or-replace route when you do not know whether the entry exists. Wallet verification runs before the transaction is queued.","summary":"Replace the claim topics of a trusted issuer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedIssuerCommand"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/trusted-issuers/{issuerAddress}/topics":{"get":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.listSystemTopics","parameters":[{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"A page of claim topics. `meta.total` counts every topic the issuer holds in the registry of the active system, not just the topics on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SystemTrustedIssuerTopic"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x5FbDB2315678afecb367f032d93F642f64180aa3307833626138646165623761616364336330646439333431373536383836653463373734636639663136353463656564363336383834336531323431383565663932","topicId":"26984799302505749158794800959285050858086405868089409909048783980951278841746","name":"knowYourCustomer","signature":"string claim"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72/topics?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72/topics?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72/topics?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the claim topics the issuer may attest to, with each name and signature resolved from the topic scheme registry of the active system. This route reads only the trusted issuers registry of the active system and does not walk the chain. An issuer that registry does not hold returns an empty page rather than a not-found error, including an issuer that only a parent holds.","summary":"List the claim topics of a trusted issuer","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/trusted-issuers/{issuerAddress}/claim-topics/{topicId}":{"post":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.addSystemClaimTopic","parameters":[{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"topicId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^\\d+$","description":"Decimal topic identifier, the `uint256` keccak-256 hash of the topic name registered in the topic scheme registry of the active system. Digits only, with no `0x` prefix and no leading sign.","examples":["26984799302505749158794800959285050858086405868089409909048783980951278841746"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The claim topic addition is accepted. The body carries the transaction hash and the issuer address once the registry transaction settles. When you ask for asynchronous processing, the body carries a transaction identifier, the current transaction state, and a status URL to poll, and the status code is 202 instead of 200.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustedIssuerClaimTopicMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","issuerAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","topicId":"26984799302505749158794800959285050858086405868089409909048783980951278841746"},"meta":{"txHashes":["0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c"]},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72/claim-topics/26984799302505749158794800959285050858086405868089409909048783980951278841746"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds a single claim topic to the topics the issuer may attest to and keeps its other topics, unlike the replace route which takes the whole set. The platform reads the current topic set and submits a transaction only when the topic is missing, so repeating the call changes nothing and returns an empty `txHash`. The platform rejects the request while an earlier claim-topic transaction for this registry has not settled.","summary":"Add one claim topic to a trusted issuer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedIssuerClaimTopicCommand"}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.removeSystemClaimTopic","parameters":[{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"topicId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^\\d+$","description":"Decimal topic identifier, the `uint256` keccak-256 hash of the topic name registered in the topic scheme registry of the active system. Digits only, with no `0x` prefix and no leading sign.","examples":["26984799302505749158794800959285050858086405868089409909048783980951278841746"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The claim topic removal is accepted. The body carries the transaction hash and the issuer address once the registry transaction settles. When you ask for asynchronous processing, the body carries a transaction identifier, the current transaction state, and a status URL to poll, and the status code is 202 instead of 200.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TrustedIssuerClaimTopicMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","issuerAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","topicId":"26984799302505749158794800959285050858086405868089409909048783980951278841746"},"meta":{"txHashes":["0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c"]},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72/claim-topics/26984799302505749158794800959285050858086405868089409909048783980951278841746"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes a single claim topic from the topics the issuer may attest to and keeps its other topics, unlike the replace route which takes the whole set. The platform reads the current topic set and submits a transaction only when the topic is present, so repeating the call changes nothing and returns an empty `txHash`. The platform rejects the request while an earlier claim-topic transaction for this registry has not settled.","summary":"Remove one claim topic from a trusted issuer","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedIssuerClaimTopicCommand"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/trusted-issuers/{issuerId}":{"delete":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.deleteSystem","parameters":[{"name":"issuerId","in":"path","schema":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"string","minLength":1,"description":"Canton external party identifier"}],"description":"The issuer's own identifier: the issuer address, or a Canton party id.","examples":["0x8ba1f109551bD432803012645Ac136ddd64DBA72"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The removal is accepted. The body carries the transaction hash and the issuer address once the registry transaction settles. When you ask for asynchronous processing, the body carries a transaction identifier, the current transaction state, and a status URL to poll, and the status code is 202 instead of 200.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SystemTrustedIssuerRemoveMutationResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","issuerAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"meta":{"txHashes":["0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c"]},"links":{"self":"/v2/system/trusted-issuers/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","SYSTEM_TRUSTED_ISSUER_ID_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9534"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_TOKEN_OPERATION_REQUEST_INVALID","status":400,"message":"The token operation request does not describe a valid operation","data":{"id":"DALP-9330","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9314","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-14434","DALP-9313","DALP-9319","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the issuer from the trusted issuers registry of the active system, so that system stops treating claims signed by the issuer as trusted. The platform checks that registry first and returns a not-found error when the issuer is absent there, including when only a parent registry holds it. Wallet verification runs before the transaction is queued. The `issuerId` segment is the issuer's own identifier: an address with an EVM body, or a Canton party id with a body carrying `cantonPartyId`. A Canton body withdraws that party's trust for the one claim topic it names by archiving the authorization contract it presents, so a finished operation returns 200 while an accepted one returns 202 with a status URL.","summary":"Remove a trusted issuer","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"not":{}}},"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_15"},"topic":{"type":"string","minLength":1,"description":"Claim topic the trust entry or claim is about.","examples":["knowYourCustomer"]},"authorizationContractId":{"type":"string","minLength":1,"description":"Contract id of the issuer authorization to archive, as returned by the claims list for the row with kind issuer and this issuer and topic."}},"required":["cantonPartyId","topic","authorizationContractId"],"additionalProperties":false}],"description":"Removal carries no field but the wallet verification. A body carrying `cantonPartyId` is a Canton write instead: it withdraws that party's trust for one claim topic by archiving the authorization contract the body names, so the path names the issuer and the body names the authorization."}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/trusted-issuers":{"post":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.addForToken","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Two shapes share this status. A mutation that already settled returns `data.txHash` and `meta.txHashes`. One still in flight returns `transactionId`, `status`, and a `statusUrl` to poll until it completes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenTrustedIssuerMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","issuerAddress":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/trusted-issuers"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers `issuerAddress` in the token's own Trusted Issuer Registry, trusted for the claim topics in `claimTopicIds`. The signing identity needs the on-chain `governance` role and a verified wallet. The claim topic set is written once at registration: to change it, remove the issuer and add it again.","summary":"Add a trusted issuer to a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedIssuerRegistration"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Identities and claims"],"operationId":"party.tokenRegistries.listTrustedIssuers","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"source":{"anyOf":[{"type":"string","enum":["token","system","global"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of the trusted issuers resolved for the token, ordered by `account` unless `sort` says otherwise. `meta.total` counts the full result set before paging, and `meta.hasTrustedIssuersRegistry` reports whether the token has a registry of its own. A token whose organization has no deployed system returns an empty page with that flag set to `false`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenTrustedIssuer"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"hasTrustedIssuersRegistry":{"type":"boolean","description":"True when the token has a trusted-issuers registry of its own. When false, only inherited system and global issuers resolve, and no token-specific issuer can be added or removed."}},"required":["total","hasTrustedIssuersRegistry"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59","account":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"claimTopics":[{"topicId":"1","name":"Know Your Customer"}],"registry":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"inheritanceLevel":"token","isInheritedElsewhere":false}],"meta":{"total":1,"hasTrustedIssuersRegistry":true},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/trusted-issuers?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/trusted-issuers?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/trusted-issuers?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`.\n- A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every trusted issuer that resolves for the token `assetId` names across the `token`, `system`, and `global` tiers of its registry chain. `assetId` is the address of the token contract, checksummed per EIP-55, 42 characters starting with `0x`. Filter on `account` and `source`, sort on `account`, and page with `page[offset]` and `page[limit]`.","summary":"List a token's trusted issuers","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/trusted-issuers/{issuerAddress}":{"delete":{"tags":["Identities and claims"],"operationId":"party.trustedIssuers.removeForToken","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"issuerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Two shapes share this status. A mutation that already settled returns `data.txHash` and `meta.txHashes`. One still in flight returns `transactionId`, `status`, and a `statusUrl` to poll until it completes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenTrustedIssuerMutated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","issuerAddress":"0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/trusted-issuers/0x2F9c4Df9a0b6C1e8B3A7d5f2C04E6a1b8D3c7e59"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes `issuerAddress` from the token's own Trusted Issuer Registry. `assetId` and `issuerAddress` are EIP-55 checksummed addresses; the signing identity needs the on-chain `governance` role and a verified wallet. Only a `token`-tier row is removable, and an issuer that also resolves from the `system` or `global` tier keeps that inherited trust.","summary":"Remove a trusted issuer from a token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrustedIssuerRemoval"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/identity-recoveries/{userId}/preview":{"get":{"tags":["Identity recovery"],"operationId":"party.recovery.preview","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"wallet","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"The preview for the requested user: the wallet treated as lost, the state of the identity, every positive token holding recovery would move, and the reasons recovery is blocked today.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RecoveryPlan"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"user":{"id":"3f9c1b7e5a2d4068","email":"treasury@northwind.example","name":"Amara Okafor"},"lostWallet":"0x9A3f7c21B45e08D6cF1B2A4e5d7f8C0913a6B2d4","identity":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","status":"registered","isMarkedAsLost":false},"tokenBalances":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"Euro Deposit","tokenSymbol":"EURD","balance":"1250.5","balanceExact":"1250500000000000000000","decimals":18}],"canRecover":true,"blockingReasons":[]},"links":{"self":"/v2/identity-recoveries/3f9c1b7e5a2d4068/preview"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reports what a recovery would move for one user, and changes nothing. Read it before starting a recovery to see whether one can run at all.\n\nThe response names the wallet the platform treats as lost, the deployed identity contract and its registration state, every positive token holding recovery would move, and the reasons that block recovery today. `canRecover` is true only when `blockingReasons` is empty.\n\nPass `wallet` to preview a specific address the target user owns. Leave it out to let the platform resolve the user's wallet for the requested chain.\n\nNeeds an identity-manager role in the caller's active organization.","summary":"Preview an identity recovery","x-dalp-auth":"session-or-api-key"}},"/api/v2/identity-recoveries":{"post":{"tags":["Identity recovery"],"operationId":"party.recovery.execute","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Either the recovery finished inside the wait window, and the response carries its outcome with the transaction hashes in `meta.txHashes`, or it is still running, and the response carries `transactionId` and `statusUrl` with status 202.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RecoveryStarted"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/identity-recoveries"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12261","DALP-14228","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","party.recovery.ATTEMPTS_EXHAUSTED","party.recovery.FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12393","DALP-12394","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12038","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts the recovery for one user. A recovery runs until it reaches a terminal phase, and the status operation reports how far it got.\n\nThe platform resolves the lost wallet, checks that the target user owns it, checks that an identity contract is deployed, and checks that no other organization still uses the lost wallet's custody account. It then creates a new wallet and identity, adds the management key and registry entries for the new wallet, disables the old wallets, and revokes the user's sessions. Finally it moves every positive token holding across.\n\nExecuting again after a recovery failed, or after it completed with token failures, starts a new attempt, up to sixteen attempts for one user; after that the request answers 409 and the recovery needs support. Every new attempt continues with the lost wallets the first attempt resolved, so `wallet` is ignored on every rerun. Executing again while an attempt is running returns that attempt, and executing again after a recovery completed returns its stored outcome without starting another.\n\nThe request waits at least 30 seconds, and longer when it asks for a longer wait. A recovery that finishes inside the window returns its outcome with `meta.txHashes`. A recovery still running when the window closes returns `transactionId` and `statusUrl` with status 202. Read the status operation for live progress either way.\n\nNeeds an identity-manager role in the caller's active organization. Every submission goes through verification of the caller's own wallet, so send `walletVerification` when that wallet is protected by a code.","summary":"Start an identity recovery","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryExecute"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/identity-recoveries/{userId}/status":{"get":{"tags":["Identity recovery"],"operationId":"party.recovery.status","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true}],"responses":{"200":{"description":"Live progress of the user's recovery: the current phase, the number of token transfers finished out of the number planned, the addresses recovery has created so far, one entry per token that did not move, and the claims carried to the replacement identity or left behind.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RecoveryStatus"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"phase":"recovering-tokens","tokensRecovered":2,"totalTokens":3,"error":null,"newWallet":"0x4D2c8B71Fa03E59d6c8a1b7e2f4d9c0356Ab8E17","newIdentity":"0x2f8b1c4D7e0a9536B8C2D1F4E7a0b3c65D9e8f21","tokenRecoveryFailures":[],"carriedClaims":[],"notCarriedClaims":[]},"links":{"self":"/api/v2/identity-recoveries/3f9c1b7e5a2d4068/status"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reports live progress of a user's recovery: the phase it is on, and the number of token transfers finished out of the number planned. The response also names the wallet and identity the recovery has created, and carries one entry for every token that did not move.\n\nOnce the recovery finishes, `carriedClaims` lists each claim the organization's own claim issuer re-issued onto the replacement identity. `notCarriedClaims` lists each claim that stayed behind, with the reason: an external issuer, or an issuance that failed.\n\nEvery field degrades instead of failing, so a recovery whose first progress record has not landed yet reads back as phase `creating-wallet` with zero counters and no addresses. Poll until `phase` is `completed`, `completed-with-token-failures`, or `failed`. A user for whom no recovery has started answers 404.\n\nAn identity manager in the caller's active organization reads any recovery in that organization, and the account that started a recovery reads that recovery. Any other caller gets 403 whether or not a recovery exists, so absence stays undisclosed.","summary":"Read identity recovery status","x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/compliance-eligibility":{"get":{"tags":["Participants"],"operationId":"party.eligibility.read","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"live","in":"query","schema":{"type":"string","enum":["true","false"]},"required":false}],"responses":{"200":{"description":"The eligibility verdict, where it was evaluated, and a reason for each rule that did not pass.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EligibilityVerdictItem"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"verdict":"allowed","source":"indexer","checkedAt":"2026-03-15T14:30:00.000Z","wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","reasons":[]},"links":{"self":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/compliance-eligibility"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Evaluates the participant against the compliance rules installed on the active organization's system and returns `allowed`, `needs-action`, or `blocked`, together with a coded reason for every rule that did not pass. The verdict comes from indexed state by default. Set `live` to `true` to evaluate it against the deployed compliance modules instead, which is slower and is meant for an explicit re-check rather than for rendering a list.","summary":"Read participant compliance eligibility","x-dalp-auth":"session-or-api-key"}},"/api/v2/national-ids/{nationalId}/user":{"get":{"tags":["Users"],"operationId":"party.userAccount.readByNationalId","parameters":[{"name":"nationalId","in":"path","schema":{"type":"string"},"required":true},{"name":"country","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"The user whose approved KYC carries the requested national ID, with a `self` link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserListItem"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","name":"Amara Okafor","email":"amara.okafor@northwind.example","role":"member","firstName":"Amara","lastName":"Okafor","nationalId":"NL-8842-1177","country":"NL","residencyStatus":"resident","createdAt":"2026-03-04T09:12:41.000Z","lastLoginAt":"2026-03-11T16:02:08.000Z","participantId":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","roles":{"identityManager":true},"rolesPending":false,"isAdmin":false,"personalInfoCompleted":true,"imageUrl":"/api/v2/marks/users/0193fa5c-9c31-7a4d-b0e2-3f6c9d1a7b45","imageProvenance":"generated"},"links":{"self":"/v2/national-ids/NL-8842-1177/user"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the user whose approved KYC version carries this national ID. Matching is exact and case sensitive. Send `country` when the same identifier is used in more than one country in the organization. A match of more than one user returns 409.","summary":"Read a user by national ID","x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/images":{"post":{"tags":["Users"],"operationId":"party.userImages.uploadImage","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Confirmation that the platform stored the new image.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserImageMutationOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/users/me/image"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","USER_IMAGE_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12133","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","party.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14089","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","USER_IMAGE_STORAGE_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12134","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores the signed-in user's profile image from one request carrying both renditions as base64 PNG: the 256 px hero and the 64 px small one, within the 2 MiB and 512 KiB caps. The platform checks that each rendition is valid base64, a PNG, within its byte cap, and exactly square at its size. On success the new pair becomes the user's image and the previous pair is deleted. On any rejection nothing is stored and the current image is unchanged. No organization is required.","summary":"Upload a profile image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserImageInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/users/me/image":{"delete":{"tags":["Users"],"operationId":"party.userImages.deleteImage","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"Confirmation that the user no longer has an uploaded image.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UserImageMutationOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/users/me/image"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","USER_IMAGE_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12133","DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","party.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14089","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","USER_IMAGE_STORAGE_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12134","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Clears the signed-in user's uploaded image and deletes both stored renditions. A user with no image returns success and changes nothing. Repeating the call is safe.","summary":"Remove the profile image","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/claim-topics/{name}/exclusion-policy":{"put":{"tags":["Identities and claims"],"operationId":"party.claimTopicRead.setExclusionPolicy","parameters":[{"name":"name","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false}],"responses":{"200":{"description":"The claim topic and the exclusion policy now stored for it. The change takes effect on the next compliance-rule write; a rule already on chain is untouched.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicyUpdateOutput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"name":"accreditedInvestor","topicId":"10334","exclusionPolicy":"refuse"},"links":{"self":"/v2/system/claim-topics/accreditedInvestor/exclusion-policy"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Decide, for the active system, whether a compliance rule may exclude the holders of this claim: `allow` outright, `warn` to allow it against a recorded acknowledgement, or `refuse`. The value starts from a platform default and this route is how the claim policy manager changes it. Nothing is written on chain, so no transaction is sent and no wallet verification is needed. The change is recorded in the audit trail against your name, with the value it replaced, which is why it cannot be set from an impersonated session. A rule already on chain is not re-graded; the new value applies to the next write.","summary":"Set whether a claim topic may be used in exclusions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicyUpdateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/{organizationId}/joinable-participants":{"get":{"tags":["Participants"],"operationId":"party.participantJoins.joinableList","parameters":[{"name":"organizationId","in":"path","schema":{"type":"string","minLength":1,"description":"The organization being joined or switched into."},"required":true}],"responses":{"200":{"description":"Every personal participant you own, each marked drivable in this organization or not with the capability it lacks, and the providers a new one can be created on.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JoinableParticipants"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"participants":[{"id":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","name":"Treasury desk","walletType":"smart","acting":true,"keyCustody":"managed","custodyAccountId":"6b1c8f27-4a03-4e5d-b7a1-9c2d0e4f8a35","drivable":true,"reason":null,"walletAddable":false,"wallets":[{"custodyAccountId":"6b1c8f27-4a03-4e5d-b7a1-9c2d0e4f8a35","address":"0x5e2a0f3c9b8d7e6f1a2b3c4d5e6f7a8b9c0d1e2f","drivable":true,"reason":null}]}],"providers":[{"providerConfigurationId":"9f2e6c11-0a74-4b8d-95c3-7e1d48a0b652","provider":"fireblocks","providerIdentity":"local","managedSigning":true}],"chainId":11155111,"aaEnabled":true,"pendingParticipantId":null,"canEnableProvider":false},"links":{"self":"/v2/organizations/4a6f1e90-2c58-4b17-a3d9-8e5b0c7f2143/joinable-participants"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","ORGANIZATION_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9281","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every personal participant you own, and the providers a new personal participant could be created on. A participant is drivable when the organization honours the credentials one of its keys is held on, and a participant you own but cannot use here is listed with `drivable: false` and an organization-local reason. Each participant lists its keys on this organization's chain with the same verdict, so a caller can choose the default; the reason never names another organization, its custodian, or its credentials. Callers who neither belong to the organization nor hold an open invitation to it receive the same not-found answer as for an organization that does not exist.","summary":"List the participants you can join an organization as","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Participants"],"operationId":"party.participantJoins.joinableSetActing","parameters":[{"name":"organizationId","in":"path","schema":{"type":"string","minLength":1,"description":"The organization being joined or switched into."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The refreshed picker, read back from the same answer the choice was judged against.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/JoinableParticipants"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"participants":[{"id":"c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10","name":"Treasury desk","walletType":"smart","acting":true,"keyCustody":"managed","custodyAccountId":"6b1c8f27-4a03-4e5d-b7a1-9c2d0e4f8a35","drivable":true,"reason":null,"walletAddable":false,"wallets":[{"custodyAccountId":"6b1c8f27-4a03-4e5d-b7a1-9c2d0e4f8a35","address":"0x5e2a0f3c9b8d7e6f1a2b3c4d5e6f7a8b9c0d1e2f","drivable":true,"reason":null}]}],"providers":[{"providerConfigurationId":"9f2e6c11-0a74-4b8d-95c3-7e1d48a0b652","provider":"fireblocks","providerIdentity":"local","managedSigning":true}],"chainId":11155111,"aaEnabled":true,"pendingParticipantId":null,"canEnableProvider":false},"links":{"self":"/v2/organizations/4a6f1e90-2c58-4b17-a3d9-8e5b0c7f2143/joinable-participants"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","ORGANIZATION_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9281","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records which of your participants carries your requests in this organization, and optionally which of its drivable keys is the default here. The choice is checked against the same list the read operation returns, so an unavailable participant or key receives the same refusal. `X-Participant` still overrides the stored choice for a single request without changing it.","summary":"Choose the participant you act as in an organization","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId_6"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId_2"}},"required":["participantId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/participants/{participantId}/activity-metrics":{"get":{"tags":["Participants"],"operationId":"party.participantActivity.activityStats","parameters":[{"name":"participantId","in":"path","schema":{"type":"string","minLength":1,"description":"Participant identifier"},"required":true},{"name":"range","in":"query","schema":{"type":"object","properties":{"interval":{"type":"string","enum":["hour","day"]},"from":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"to":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"isPreset":{"type":"boolean"}},"required":["interval","from","to","isPreset"],"additionalProperties":false,"description":"Inclusive time window for the series. Use a resolved stats range such as the last 30 days."},"required":true,"style":"deepObject","explode":true},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false}],"responses":{"200":{"description":"The bucketed event counts for the requested range and the total across it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["range","grain","points","figure","meta"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","events":0}],"prior":[{"t":"example","events":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}},"links":{"self":"/v2/participants/c0b8d4b0-3c5a-4b62-9a2e-2f0f6f4a5f10/activity-metrics"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_INVALID","INVALID_REQUEST_EXECUTOR","MULTISIG_DRAFT_INVALID","PARTICIPANT_REGISTRATION_INVALID","RECOVERY_PRECONDITION_FAILED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14229","DALP-14230","DALP-14231","DALP-14232","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTISIG_NOT_ENABLED","PARTICIPANT_ACCESS_DENIED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12261","DALP-14228","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CLAIM_NOT_FOUND","CONTRACT_ERROR","IDENTITY_NOT_FOUND","IDENTITY_SCOPE_NOT_FOUND","PARTICIPANT_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14222","DALP-14223","DALP-14224","DALP-14225","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CLAIM_NOT_FOUND","status":404,"message":"Claim not found","data":{"id":"DALP-14225","why":"No claim is recorded for this identity and topic.","fix":"Issue the claim before revoking or reading it.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","IDENTITY_REGISTRY_CONFLICT","PARTICIPANT_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14226","DALP-14227","DALP-14396","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","IDENTITY_SCOPE_CHAIN_UNAVAILABLE","IDENTITY_SCOPE_DIRECTORY_UNRESOLVED","IDENTITY_SCOPE_REGISTRY_NOT_INDEXED","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","party.dependency.FAILED","party.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12103","DALP-12107","DALP-12307","DALP-14233","DALP-14234","DALP-14387"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns how many ledger events the participant produced over the requested range, as a time series of bucketed counts plus the total for the whole range. Counts cover every ledger the participant acts on: an `evm` event is counted by its block timestamp, a `canton` event by its ledger record time, and both fall into the same bucket, because how much happened in an hour is one fact whichever ledger recorded it. Send `X-Chain-Id` or `X-Network-Id` to count one family. Use it to draw the activity chart without paging through the event list.","summary":"Read participant activity metrics","x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations":{"post":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsDeploy","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferFailOnIndexerReindexing"}],"responses":{"200":{"description":"Synchronous deploy result. `deploymentId` is the identifier to poll or stream. `tree` is the redacted deployment tree at completion. `success` is true when every step completed. A terminal failure is an error response, not `success: false`.","content":{"application/json":{"schema":{"type":"object","properties":{"deploymentId":{"type":"string"},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean","enum":[true]},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","tree","success"],"additionalProperties":false},"examples":{"example-1":{"value":{"deploymentId":"org_northwind_coffee","tree":[{"id":"organization","label":"Organization","type":"other","status":"completed","children":[{"id":"system","label":"System","type":"system","status":"completed"},{"id":"identity","label":"Identity","type":"identity","status":"completed"}]}],"success":true}}}}},"headers":{}},"202":{"description":"Asynchronous deployment acceptance. `deploymentId` identifies the queued deployment to poll or stream. `tree` is the current redacted deployment tree and may still be empty.","content":{"application/json":{"schema":{"type":"object","properties":{"deploymentId":{"type":"string"},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean","enum":[true]},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","tree"],"additionalProperties":false},"examples":{"example-1":{"value":{"deploymentId":"org_northwind_coffee","tree":[]}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.REINDEXING","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12331","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates the organization and queues the first-system deployment. The caller does not need an active organization. Optional chainId selects the first network from the deployable set; omitted uses the platform default. Optional aaEnabled is the account-abstraction choice for this organization. Optional custody is probed live before the organization is stored. The platform then waits according to the Prefer header; a long run returns 202. Poll or stream the returned deploymentId.","summary":"Create an organization and start its first system","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"baseCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"targetCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/FiatCurrency"}},"gasPauseEnabled":{"type":"boolean"},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"aaEnabled":{"type":"boolean"},"accountSetup":{"$ref":"#/components/schemas/AccountSetup"}},"required":["custodyAccountId","baseCurrency","targetCurrencies"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/bootstrap":{"post":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsBootstrap","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyFailOnIndexerReindexing"}],"responses":{"200":{"description":"The new tenant boundary identifier used to continue custody-account onboarding.","content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"}},"required":["organizationId"],"additionalProperties":false},"examples":{"example-1":{"value":{"organizationId":"org_northwind_coffee"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.REINDEXING","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12331","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates the organization and stores its network, currency, and account-abstraction choices without starting system deployment. The returned organization id becomes the tenant scope for provider configuration and the primary custody-account proof.","summary":"Create an organization for custody account setup","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,30}\\S)?\\s*$"},"baseCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"targetCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/FiatCurrency"}},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"aaEnabled":{"type":"boolean"},"accountSetup":{"$ref":"#/components/schemas/AccountSetup"},"enabledLanguages":{"type":"array","items":{"type":"string","enum":["en-US","de-DE","ar-SA","ja-JP","fr-FR","nl-NL","ms-MY","id-ID","th-TH","ko-KR"]}},"optOuts":{"type":"array","items":{"type":"string"}}},"required":["name","baseCurrency","targetCurrencies"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/deployments/{deploymentId}":{"get":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsDeployStatus","parameters":[{"name":"deploymentId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Current organization deployment phase. `data.status` is in-progress, completed, failed, or absent when no run exists. `aaIntent` and `chainId` appear when they were stored for this run. Poll this resource instead of consuming the SSE stream. Repeating the read is safe.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deploymentId":{"type":"string"},"status":{"type":"string","enum":["in-progress","completed","failed","absent"]},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean"},"aaIntent":{"type":"boolean"},"accountSetup":{"$ref":"#/components/schemas/AccountSetup"},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}},"failureReason":{"type":"string"}},"required":["deploymentId","status"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"deploymentId":"org_northwind_coffee","status":"completed","tree":[{"id":"organization","label":"Organization","type":"other","status":"completed","children":[{"id":"system","label":"System","type":"system","status":"completed"},{"id":"identity","label":"Identity","type":"identity","status":"completed"}]}],"success":true,"aaIntent":true,"chainId":11155111},"links":{"self":"/v2/organizations/deployments/org_northwind_coffee"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the current stored phase of the organization deployment named by deploymentId. Status is a projection of the workflow, not a live chain probe. data.status is in-progress, completed, failed, or absent when no run exists. aaIntent and chainId appear when they were stored for this run. Poll this resource after a 202 create. Repeating the read is safe.","summary":"Read organization deployment status","x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/deployments/{deploymentId}/stream":{"get":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsDeployStream","parameters":[{"name":"deploymentId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Each SSE data event is one live organization-deployment payload: a tree snapshot, step update, funding requirement, complete, or error. Keep the connection open until complete or error. After a drop, reconnect with the same deploymentId or poll the JSON status read.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["tree"]},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["type","nodes"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-required"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"payload":{"type":"object","properties":{"role":{"type":"string","enum":["org-creator-eoa","member-admission-eoa","token-creator-eoa","org-vault-eoa","org-bundler-eoa","org-relayer-eoa","aa-runway-eoa","queued-write-eoa","smart-account","paymaster-deposit"],"description":"The funding purpose of the requirement. The subject wallet is the payload address, and several requirements can share a role. The set of roles may grow. A client that checks this value against the listed roles, as the SDK does, rejects a frame with a new role. Decode it as a string, show an unknown role as a generic funding requirement, and never drop a requirement because its role is unfamiliar."},"subjectOwner":{"type":"string","enum":["caller","organisation","platform"]},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"chainName":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency.","examples":["Ether"]},"symbol":{"type":"string","description":"Ticker printed beside a native amount.","examples":["ETH"]},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","symbol","decimals"],"additionalProperties":true,"description":"The chain's own currency, carried whole so a reader can render a native amount without looking it up."},"shortfall":{"type":"string","pattern":"^\\d+$"},"recommendedTotal":{"type":"string","pattern":"^\\d+$"},"deployCost":{"type":"string","pattern":"^\\d+$"},"opsAllowance":{"type":"string","pattern":"^\\d+$"},"bufferPct":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"devCommand":{"type":"string","minLength":1},"opName":{"type":"string","minLength":1},"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"alreadySent":{"type":"string","pattern":"^\\d+$"},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entryPointAddress":{"type":"string","minLength":1},"fullBatchBalance":{"type":"string","pattern":"^\\d+$"}},"required":["role","chainId","chainName","address","nativeCurrency","shortfall","recommendedTotal","deployCost","opsAllowance","bufferPct","opName","seq","alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-resolved"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"resolution":{"type":"object","properties":{"alreadySent":{"type":"string","pattern":"^\\d+$"}},"required":["alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","resolution"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["complete"]},"success":{"type":"boolean"},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":true}},"required":["id","label"],"additionalProperties":true}},"failureReason":{"type":"string"}},"required":["type","success"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformDependencyUnavailable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["network","organization","user","member","system","holiday-calendar","invitation","deployment","factory","asset-class","template","compliance-template","template-structure","indexed-system","directory","setting","profile-section","proposal","table-view","account-closure-request"]}},"required":["_tag","message","reason"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"$ref":"#/components/schemas/PlatformDependencyUnavailableEncoded"},{"$ref":"#/components/schemas/PlatformNotFoundEncoded"}],"discriminator":{"propertyName":"_tag","mapping":{"PlatformDependencyUnavailable":"#/components/schemas/PlatformDependencyUnavailableEncoded","PlatformNotFound":"#/components/schemas/PlatformNotFoundEncoded"}}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"tree","nodes":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example","children":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a server-sent event stream for the organization deployment named by deploymentId. Events are live progress from the running workflow, not a stored snapshot. Keep the connection open until a complete or error event. Use the JSON status read when a client cannot keep an SSE connection.","summary":"Stream organization deployment events","x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/members":{"post":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsAddMember","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The membership as stored. `data` is the new member row. `links.self` is the members collection for a later list.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"memberId":{"type":"string","minLength":1},"userId":{"$ref":"#/components/schemas/UserId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"role":{"type":"string","enum":["owner","member"]}},"required":["memberId","userId","organizationId","role"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"memberId":"mem_northwind_treasury","userId":"user_northwind_treasury","organizationId":"org_northwind_coffee","role":"member"},"links":{"self":"/v2/organizations/members"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds an existing user to the active organization as owner or member. The write waits until the membership row is stored and does not queue a workflow. The user must already exist. Repeating the same user returns a conflict rather than a second membership.","summary":"Add a member to the organization","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UserId"},"role":{"type":"string","enum":["owner","member"]}},"required":["userId","role"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/members/{userId}":{"delete":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsRemoveMember","parameters":[{"name":"userId","in":"path","schema":{"type":"string","description":"The internal database ID of the user whose membership in the active organization ends"},"required":true},{"name":"organizationId","in":"query","schema":{"type":"string","minLength":1,"description":"The organization the caller believes it is removing the member from. When present the platform compares it to the session's active organization and refuses the request on a mismatch, so a session switched elsewhere cannot redirect the removal at another tenant. Omit it to remove from whatever organization the session is active in."},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The membership that was removed. `data.revokedSessionCount` counts the user's sessions in this organization that ended with it. `links.self` is the members collection for a later list.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"memberId":{"type":"string","description":"Identifier of the membership row that was removed.","examples":["mem_northwind_treasury"]},"userId":{"type":"string","description":"User who left the organization.","examples":["user_northwind_treasury"]},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"role":{"type":"string","description":"Role the removed membership held. owner or member.","examples":["member"]},"revokedSessionCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many of the user's sessions in this organization were revoked with the membership.","examples":[2]}},"required":["memberId","userId","organizationId","role","revokedSessionCount"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"memberId":"mem_northwind_treasury","userId":"user_northwind_treasury","organizationId":"org_northwind_coffee","role":"member","revokedSessionCount":2},"links":{"self":"/v2/organizations/members"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the named user from the active organization and revokes that user's sessions in it. Both changes commit in one transaction: either the sessions end and the membership is gone, or nothing changes. The caller must be an organization owner with the identity manager role and cannot remove their own membership. Removing the organization's only owner returns a conflict. The write does not queue a workflow. Repeating the call after the membership is gone returns 404.","summary":"Remove a member from the organization","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsChangeMemberRole","parameters":[{"name":"userId","in":"path","schema":{"type":"string","description":"The internal database ID of the user whose role in the active organization changes"},"required":true},{"name":"organizationId","in":"query","schema":{"type":"string","minLength":1,"description":"The organization the caller believes it is changing the member's role in. When present the platform compares it to the session's active organization and refuses the request on a mismatch, so a session switched elsewhere cannot redirect the change at another tenant. Omit it to change the role in whatever organization the session is active in."},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"memberId":{"type":"string","minLength":1,"description":"Identifier of the membership row whose role was set.","examples":["mem_northwind_treasury"]},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"userId":{"$ref":"#/components/schemas/UserId"},"role":{"type":"string","enum":["owner","member"],"description":"Role the membership holds now. owner or member."},"previousRole":{"type":"string","description":"Role the membership held before the request, owner or member. Equal to role when the member already held it and nothing changed.","examples":["member"]}},"required":["memberId","organizationId","userId","role","previousRole"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"memberId":"mem_northwind_treasury","organizationId":"example","userId":"example","role":"owner","previousRole":"member"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["owner","member"],"description":"The role the member holds after the change. owner or member.","examples":["owner"]},"expiresAt":{"type":"string"}},"required":["role"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/networks":{"post":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsAddNetwork","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyNoFundingPause"}],"responses":{"200":{"description":"The added network as accepted. `data.status` is the lifecycle immediately after the write. Poll the deployment status URL in `links.self` for progress. This route starts an asynchronous system deploy.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"status":{"type":"string","enum":["pending","deploying","active","failed","disabled"]}},"required":["organizationId","chainId","status"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"organizationId":"org_northwind_coffee","chainId":11155111,"status":"pending"},"links":{"self":"/v2/organizations/deployments/org_northwind_coffee"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.network.ADD_REFUSED","platform.network.CUSTODY_PROVIDER_MISSING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14069","DALP-14111","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds a deployment-enabled network to the active organization and queues that chain's system deployment. chainId must not already be added. Optional baseCurrency overrides the organization base currency for this chain. The write returns as soon as the pending row is stored; poll links.self for progress. This is not a live chain write beyond starting the workflow.","summary":"Add a network to the organization","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"baseCurrency":{"$ref":"#/components/schemas/FiatCurrency"}},"required":["chainId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsNetworks","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"chainId":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"networkName":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isDefault":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"chainName":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"systemAddress":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"aaReady":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"state":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"capability":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of networks the active organization can select, across every ledger family. An EVM row is one organization_systems chain with its deploy lifecycle; a Canton row is a configured participant network. Rows are blocked by family, EVM first. `meta.total` counts every matching row in both families.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm","canton"]},"chainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"networkName":{"anyOf":[{"type":"string"},{"type":"null"}]},"chainName":{"anyOf":[{"type":"string"},{"type":"null"}]},"explorerUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"nativeCurrency":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":0,"maximum":18}},"required":["name","symbol","decimals"],"additionalProperties":false},{"type":"null"}]},"status":{"type":"string","enum":["pending","deploying","active","failed","disabled"]},"systemAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"isDefault":{"type":"boolean"},"aaReady":{"type":"boolean"},"accountKind":{"$ref":"#/components/schemas/AccountKind"},"gasPayer":{"$ref":"#/components/schemas/GasPayer"},"chargesGas":{"type":"boolean","description":"False when the network charges no gas. The gas payer still applies there; it only costs nothing."},"fundingMode":{"type":"string","enum":["not-needed","reserves","relayer","signers"],"description":"Who pays gas for the organization's transactions on this network. `not-needed`: the chain charges no gas, so nothing needs funding. `reserves`: the chain charges gas and transactions route through account abstraction, so the submission and sponsorship reserves pay. `relayer`: the chain charges gas and the organization relays its users' transactions as meta transactions, so the relayer wallet pays. `signers`: the chain charges gas and each signer pays from their own wallet."},"lowBalanceMarkWei":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}],"description":"The balance, in the smallest unit of the network's native currency, under which a wallet that pays gas on this network reads as low. Null when the network's native currency is unknown."},"synchronizerId":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureReason":{"type":"string"},"smartWallets":{"$ref":"#/components/schemas/OrgNetworkSmartWallets"},"aaMigrating":{"type":"boolean","description":"True while the organization's switch to smart wallets is still running on this network, so its `gasPayer` and `smartWallets` can still change. False once that run stops running: it finished, failed, or waits for an operator to retry it. Absent for an organization on plain wallets."},"bundlerAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["family","chainId","networkName","chainName","explorerUrl","nativeCurrency","status","systemAddress","isDefault","aaReady","accountKind","gasPayer","chargesGas","fundingMode","lowBalanceMarkWei","synchronizerId"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","chainId":11155111,"networkName":"sepolia","chainName":"sepolia","explorerUrl":"https://sepolia.etherscan.io","nativeCurrency":{"name":"Sepolia Ether","symbol":"ETH","decimals":18},"status":"active","systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isDefault":true,"aaReady":true,"accountKind":"smart-account","gasPayer":"paymaster","chargesGas":true,"fundingMode":"reserves","lowBalanceMarkWei":"100000000000000000","synchronizerId":null},{"family":"canton","chainId":null,"networkName":"canton-local","chainName":null,"explorerUrl":null,"nativeCurrency":null,"status":"active","systemAddress":null,"isDefault":true,"aaReady":false,"accountKind":"plain-wallet","gasPayer":"self","chargesGas":false,"fundingMode":"not-needed","lowBalanceMarkWei":null,"synchronizerId":"sync::1220a1b2c3d4"}],"meta":{"total":2},"links":{"self":"/v2/organizations/networks?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/organizations/networks?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/organizations/networks?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of networks already added to the active organization. Each row is the stored organization system for one chain, including deploy lifecycle, system address, and whether the chain is the default. The page is stored data, not a live chain read. Default sort is chainId. Repeating the read is safe.","summary":"List networks added to the organization","x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/networks/gas-payer":{"put":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsNetworkGasPayer","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The network's stored gas payer after the write.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/NetworkGasPayerInput"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":11155111,"gasPayer":"relayer"},"links":{"self":"/v2/organizations/networks"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets who pays the gas for the active organization's transactions on one network it holds an active system on. With plain wallets the signers pay (self) or the organization relayer pays and is provisioned on first use (relayer). A smart-account organization's gas payer follows its paymaster configuration, so this route refuses it with gas-payer-unavailable. The caller needs the organization administrator role. Repeating the call with the same payer is safe.","summary":"Choose who pays gas on a network","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkGasPayerRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/networks/bundler":{"post":{"tags":["Organisation deployment"],"operationId":"platform.organizations.organizationsProvisionBundler","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The organization bundler wallet on the requested chain. `data.provisioned` is `created` when this call minted it and `reused` when one was already bound, so repeating the call is safe. `data.funding` says whether the wallet can pay: `funded`, or `ask-raised` when the operator now owes it gas. When the chain has no fresh fee quote, or the funding request cannot be recorded, the call answers a retryable 503 instead.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"bundlerAddress":{"$ref":"#/components/schemas/EvmAddress"},"provisioned":{"type":"string","enum":["created","reused"]},"funding":{"type":"string","enum":["funded","ask-raised"]}},"required":["organizationId","chainId","bundlerAddress","provisioned","funding"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"organizationId":"org_01J8ZC0000000000000000000","chainId":11155111,"bundlerAddress":"0x1111111111111111111111111111111111111111","provisioned":"created","funding":"ask-raised"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Binds the organization's bundler wallet on a network the organization already holds an active system on, repairing a system that reached active without one. The caller needs the organization administrator role and the on-chain admin role on that chain. Repeating the call is safe: data.provisioned reports created or reused. This writes no setting and adds no network.","summary":"Provision the organization bundler wallet on a network","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"}},"required":["chainId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/role-invitations":{"post":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsInviteWithRoles","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored invitation. Reuse `id` for resend and deploy. `onChainRoles` are the roles that will be granted on acceptance. `expiresAt` is when the invitation lapses.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"email":{"type":"string"},"role":{"type":"string","enum":["member","owner"]},"status":{"type":"string","enum":["pending","accepted","rejected","canceled"]},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"onChainRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"}}},"required":["id","email","role","status","expiresAt","onChainRoles"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"inv_northwind_treasury_7k2m","email":"treasury@northwind.example","role":"member","status":"pending","onChainRoles":["tokenManager"],"expiresAt":"2026-04-19T09:30:00.000Z"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","INVITATION_CALLER_CREDENTIAL_REJECTED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9093","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","INVITATION_CREATE_NOT_PERMITTED","INVITATION_LIMIT_REACHED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9089","DALP-9096","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","INVITATION_INVITER_NOT_A_MEMBER","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9090","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","INVITATION_RECIPIENT_ALREADY_A_MEMBER","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9095","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["INVITATION_CALLER_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9094"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates an invitation in the active organization that pre-assigns at least one system on-chain role. An organization owner or platform administrator calls it: an interactive session sends walletVerification, while an API key (CLI, automation) may omit it. The write stores the invitation and sends the invite email immediately. The roles are granted later, when the invitee accepts and the acceptance workflow finishes. Reuse the returned id for resend, deploy, or the has-roles read.","summary":"Invite a member with on-chain roles","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"role":{"anyOf":[{"type":"string","enum":["member","owner"]},{"type":"null"}]},"onChainRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"}},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["email","onChainRoles"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/role-invitation-resends":{"post":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsResendWithRoles","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The re-issued invitation. `onChainRoles` are omitted on purpose so the server-sourced role set is not echoed. Reuse `id` for later deploy or status reads.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"email":{"type":"string"},"role":{"type":"string","enum":["member","owner"]},"status":{"type":"string","enum":["pending","accepted","rejected","canceled"]},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","email","role","status","expiresAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"inv_northwind_treasury_7k2m","email":"treasury@northwind.example","role":"member","status":"pending","expiresAt":"2026-04-19T09:30:00.000Z"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","INVITATION_CALLER_CREDENTIAL_REJECTED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9093","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","INVITATION_CREATE_NOT_PERMITTED","INVITATION_LIMIT_REACHED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9089","DALP-9096","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","INVITATION_INVITER_NOT_A_MEMBER","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9090","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","INVITATION_RECIPIENT_ALREADY_A_MEMBER","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9095","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["INVITATION_CALLER_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9094"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Re-issues the stored invitation named by invitationId and keeps the on-chain roles already recorded on that row. The request never accepts a role list. An organization owner or platform administrator calls it: an interactive session sends walletVerification, while an API key (CLI, automation) may omit it. The write sends the invite email immediately. The response omits onChainRoles on purpose. Reuse the returned id for later deploy or status reads.","summary":"Resend a role-bearing invitation","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["invitationId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/invitation-acceptances":{"post":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsAccept","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferFailOnIndexerReindexing"}],"responses":{"200":{"description":"Synchronous deploy result. `deploymentId` is the identifier to poll or stream. `tree` is the redacted deployment tree at completion. `success` is true when every step completed. A terminal failure is an error response, not `success: false`.","content":{"application/json":{"schema":{"type":"object","properties":{"deploymentId":{"type":"string"},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean","enum":[true]},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","tree","success"],"additionalProperties":false},"examples":{"example-1":{"value":{"deploymentId":"org_northwind_coffee","tree":[{"id":"organization","label":"Organization","type":"other","status":"completed","children":[{"id":"system","label":"System","type":"system","status":"completed"},{"id":"identity","label":"Identity","type":"identity","status":"completed"}]}],"success":true}}}}},"headers":{}},"202":{"description":"Asynchronous deployment acceptance. `deploymentId` identifies the queued deployment to poll or stream. `tree` is the current redacted deployment tree and may still be empty.","content":{"application/json":{"schema":{"type":"object","properties":{"deploymentId":{"type":"string"},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean","enum":[true]},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","tree"],"additionalProperties":false},"examples":{"example-1":{"value":{"deploymentId":"org_northwind_coffee","tree":[]}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.REINDEXING","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12331","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Accepts the stored invitation named by invitationId and starts the same onboarding workflow the deploy route uses. The platform decides from on-chain wallet state whether to skip wallet creation. This write runs before the invitee has an active organization. The platform queues the workflow and then waits according to the Prefer header; a long run returns 202. Poll or stream the returned deploymentId until the tree is complete.","summary":"Accept an invitation and start its deployment","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"actingParticipantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["invitationId","custodyAccountId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/invitations":{"post":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsDeploy","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferFailOnIndexerReindexing"}],"responses":{"200":{"description":"Synchronous deploy result. `deploymentId` is the identifier to poll or stream. `tree` is the redacted deployment tree at completion. `success` is true when every step completed. A terminal failure is an error response, not `success: false`.","content":{"application/json":{"schema":{"type":"object","properties":{"deploymentId":{"type":"string"},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean","enum":[true]},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","tree","success"],"additionalProperties":false},"examples":{"example-1":{"value":{"deploymentId":"org_northwind_coffee","tree":[{"id":"organization","label":"Organization","type":"other","status":"completed","children":[{"id":"system","label":"System","type":"system","status":"completed"},{"id":"identity","label":"Identity","type":"identity","status":"completed"}]}],"success":true}}}}},"headers":{}},"202":{"description":"Asynchronous deployment acceptance. `deploymentId` identifies the queued deployment to poll or stream. `tree` is the current redacted deployment tree and may still be empty.","content":{"application/json":{"schema":{"type":"object","properties":{"deploymentId":{"type":"string"},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean","enum":[true]},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","tree"],"additionalProperties":false},"examples":{"example-1":{"value":{"deploymentId":"org_northwind_coffee","tree":[]}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.REINDEXING","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12331","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts the onboarding workflow for the stored invitation named by invitationId. Organization, user, and wallet inputs come from that row, not from the body. This write runs before the invitee has an active organization. The platform queues the workflow and then waits according to the Prefer header; a long run returns 202 and the client should poll or stream the returned deploymentId.","summary":"Start an invitation deployment","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"actingParticipantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["invitationId","custodyAccountId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/invitations/deployments/{deploymentId}":{"get":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsDeployStatus","parameters":[{"name":"deploymentId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Current invitation deployment phase. `data.status` is in-progress, completed, failed, or absent when no run exists. Poll this resource instead of consuming the SSE stream. Repeating the read is safe.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deploymentId":{"type":"string"},"status":{"type":"string","enum":["in-progress","completed","failed","absent"]},"tree":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":false}}},"required":["id","label","type","status"],"additionalProperties":false}},"success":{"type":"boolean"},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":false}},"required":["id","label"],"additionalProperties":false}}},"required":["deploymentId","status"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"deploymentId":"inv_northwind_treasury_7k2m","status":"completed","tree":[{"id":"organization","label":"Organization","type":"other","status":"completed","children":[{"id":"system","label":"System","type":"system","status":"completed"},{"id":"identity","label":"Identity","type":"identity","status":"completed"}]}],"success":true},"links":{"self":"/v2/invitations/deployments/inv_northwind_treasury_7k2m"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the current stored phase of the invitation deployment named by deploymentId. Status is a projection of the workflow, not a live chain probe. data.status is in-progress, completed, failed, or absent when no run exists. Poll this resource after a 202 accept or deploy. Repeating the read is safe.","summary":"Read invitation deployment status","x-dalp-auth":"session-or-api-key"}},"/api/v2/invitations/deployments/{deploymentId}/stream":{"get":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsDeployStream","parameters":[{"name":"deploymentId","in":"path","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Each SSE data event is one live invitation-deployment payload: a tree snapshot, step update, funding requirement, complete, or error. Keep the connection open until complete or error. After a drop, reconnect with the same deploymentId or poll the JSON status read.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["tree"]},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["type","nodes"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-required"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"payload":{"type":"object","properties":{"role":{"type":"string","enum":["org-creator-eoa","member-admission-eoa","token-creator-eoa","org-vault-eoa","org-bundler-eoa","org-relayer-eoa","aa-runway-eoa","queued-write-eoa","smart-account","paymaster-deposit"],"description":"The funding purpose of the requirement. The subject wallet is the payload address, and several requirements can share a role. The set of roles may grow. A client that checks this value against the listed roles, as the SDK does, rejects a frame with a new role. Decode it as a string, show an unknown role as a generic funding requirement, and never drop a requirement because its role is unfamiliar."},"subjectOwner":{"type":"string","enum":["caller","organisation","platform"]},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"chainName":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency.","examples":["Ether"]},"symbol":{"type":"string","description":"Ticker printed beside a native amount.","examples":["ETH"]},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","symbol","decimals"],"additionalProperties":true,"description":"The chain's own currency, carried whole so a reader can render a native amount without looking it up."},"shortfall":{"type":"string","pattern":"^\\d+$"},"recommendedTotal":{"type":"string","pattern":"^\\d+$"},"deployCost":{"type":"string","pattern":"^\\d+$"},"opsAllowance":{"type":"string","pattern":"^\\d+$"},"bufferPct":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"devCommand":{"type":"string","minLength":1},"opName":{"type":"string","minLength":1},"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"alreadySent":{"type":"string","pattern":"^\\d+$"},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entryPointAddress":{"type":"string","minLength":1},"fullBatchBalance":{"type":"string","pattern":"^\\d+$"}},"required":["role","chainId","chainName","address","nativeCurrency","shortfall","recommendedTotal","deployCost","opsAllowance","bufferPct","opName","seq","alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-resolved"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"resolution":{"type":"object","properties":{"alreadySent":{"type":"string","pattern":"^\\d+$"}},"required":["alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","resolution"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["complete"]},"success":{"type":"boolean"},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":true}},"required":["id","label"],"additionalProperties":true}},"failureReason":{"type":"string"}},"required":["type","success"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformDependencyUnavailable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["network","organization","user","member","system","holiday-calendar","invitation","deployment","factory","asset-class","template","compliance-template","template-structure","indexed-system","directory","setting","profile-section","proposal","table-view","account-closure-request"]}},"required":["_tag","message","reason"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformAccessDenied"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"issue":{"type":"object","properties":{"code":{"type":"string","enum":["configuration-limit","invalid-shape","definition-mismatch","unknown-field","required-field","scalar-type","scalar-constraint","duplicate-entry","dangling-reference","reference-cycle","reference-type","entry-bounds","policy-conflict","fixed-field","feature-constraint","duplicate-member","duplicate-feature","duplicate-input","chain-mismatch","missing-reciprocal","construction-cycle"]},"memberId":{"type":"string"},"featureId":{"type":"string"},"instanceId":{"type":"string"},"address":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["field"]},"id":{"type":"string","minLength":1,"maxLength":128}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["entry"]},"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","id"],"additionalProperties":false}]},"maxItems":18},"message":{"type":"string"}},"required":["code","memberId","featureId","address","message"],"additionalProperties":false},"reason":{"type":"string","enum":["multi-network-disable-blocked","network-family-disabled","organization-archive-refused","onboarding-reset-refused","self-session-revocation","holiday-calendar-cycle","holiday-calendar-exists","invitation-conflict","deployment-without-invitation","executor-unavailable","custody-provider-missing","deploy-conflict","membership-conflict","last-owner","settings-refused","bundler-provisioning-refused","organization-not-active","self-membership-removal","member-holds-roles","system-asset-class-readonly","system-template-readonly","last-administrator","addon-instance-wiring","target-currency-removal-forbidden","setting-cannot-be-disabled","identity-mismatch","account-kind-switch-blocked","theme-version-conflict","template-exists","profile-section-storage-locked","template-feature-conflict","template-structure-locked","template-structure-revision-conflict","template-structure-draft-member","template-publication-unchanged","template-issuance-in-progress","template-already-published","template-publication-changed","template-in-structure","template-has-tokens","template-visibility-unsupported","template-visibility-unattributable","table-view-name-exists","table-view-limit-reached","account-closure-request-not-open","account-closure-self-decision","account-closure-sole-owner","owner-expiry-refused","organization-name-taken"]}},"required":["_tag","message","reason"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformUnprocessable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["module-set","invitation-input-invalid","invitation-system-missing","network-definition-invalid","rpc-pool-empty","filter-unsupported","factory-type-unusable","factory-type-unregistered","slug-unusable","role-change-not-atomic","role-change-refused","target-currency-not-supported","template-not-publishable","parameters-mismatch","auth-provider-rejected","theme-logo-not-base64"]},"typeIds":{"type":"array","items":{"type":"string"}}},"required":["_tag","message","reason"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationAlreadyAccepted"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationExpired"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationCanceled"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationOrganizationArchived"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationNationalIdConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationRolesNotAuthorized"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"$ref":"#/components/schemas/PlatformDependencyUnavailableEncoded"},{"$ref":"#/components/schemas/PlatformNotFoundEncoded"},{"$ref":"#/components/schemas/PlatformAccessDeniedEncoded"},{"$ref":"#/components/schemas/PlatformConflictEncoded"},{"$ref":"#/components/schemas/PlatformUnprocessableEncoded"},{"$ref":"#/components/schemas/PlatformInvitationAlreadyAcceptedEncoded"},{"$ref":"#/components/schemas/PlatformInvitationExpiredEncoded"},{"$ref":"#/components/schemas/PlatformInvitationCanceledEncoded"},{"$ref":"#/components/schemas/PlatformInvitationOrganizationArchivedEncoded"},{"$ref":"#/components/schemas/PlatformInvitationNationalIdConflictEncoded"},{"$ref":"#/components/schemas/PlatformInvitationRolesNotAuthorizedEncoded"}],"discriminator":{"propertyName":"_tag","mapping":{"PlatformDependencyUnavailable":"#/components/schemas/PlatformDependencyUnavailableEncoded","PlatformNotFound":"#/components/schemas/PlatformNotFoundEncoded","PlatformAccessDenied":"#/components/schemas/PlatformAccessDeniedEncoded","PlatformConflict":"#/components/schemas/PlatformConflictEncoded","PlatformUnprocessable":"#/components/schemas/PlatformUnprocessableEncoded","PlatformInvitationAlreadyAccepted":"#/components/schemas/PlatformInvitationAlreadyAcceptedEncoded","PlatformInvitationExpired":"#/components/schemas/PlatformInvitationExpiredEncoded","PlatformInvitationCanceled":"#/components/schemas/PlatformInvitationCanceledEncoded","PlatformInvitationOrganizationArchived":"#/components/schemas/PlatformInvitationOrganizationArchivedEncoded","PlatformInvitationNationalIdConflict":"#/components/schemas/PlatformInvitationNationalIdConflictEncoded","PlatformInvitationRolesNotAuthorized":"#/components/schemas/PlatformInvitationRolesNotAuthorizedEncoded"}}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"tree","nodes":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example","children":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a server-sent event stream for the invitation deployment named by deploymentId. Events are live progress from the running workflow, not a stored snapshot. Keep the connection open until a complete or error event. Use the JSON status read when a client cannot keep an SSE connection.","summary":"Stream invitation deployment events","x-dalp-auth":"session-or-api-key"}},"/api/v2/invitation-retries":{"post":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsRetry","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The prior failed invitation workflow is ready to start again. Submit deploy or accept next; this body does not include a new deployment identifier.","content":{"application/json":{"schema":{"type":"object","properties":{"ready":{"type":"boolean","enum":[true]}},"required":["ready"],"additionalProperties":false},"examples":{"example-1":{"value":{"ready":true}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Clears the failed invitation workflow so the next deploy or accept can start from a clean slate. The body names the stored invitation, not a deployment id. This write waits until the prior run is ready to restart and does not start the new run. Call deploy or accept next. This route does not return a new deploymentId.","summary":"Prepare a failed invitation deployment for retry","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"}},"required":["invitationId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/invitations/{invitationId}":{"get":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsInviteeView","parameters":[{"name":"invitationId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"organizationName":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"type":"string"},"role":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["pending","accepted"]},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"inviterName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the person who sent the invitation, `null` when the inviter has no name on record."},"onChainRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"The system roles the invitation asks the platform to grant when the invitee joins."},"onChainRolesAuthorized":{"type":"boolean","description":"Whether a verified wallet of the inviting organisation has authorised the roles. `true` when the invitation carries no roles. Acceptance is refused while it is `false`."},"onChainRolesGrantFailed":{"type":"boolean","description":"Whether the last attempt to grant the roles failed after the invitee joined. The invitee holds membership without the roles until a Permission manager grants them."}},"required":["id","organizationId","organizationName","email","role","status","expiresAt","inviterName","onChainRoles","onChainRolesAuthorized","onChainRolesGrantFailed"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","organizationId":"example","organizationName":"example","email":"example","role":"example","status":"pending","expiresAt":"example","inviterName":"example","onChainRoles":["admin"],"onChainRolesAuthorized":false,"onChainRolesGrantFailed":false},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/role-invitations/{invitationId}/has-roles":{"get":{"tags":["Organisation deployment"],"operationId":"platform.invitations.invitationsHasOnChainRoles","parameters":[{"name":"invitationId","in":"path","schema":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"required":true}],"responses":{"200":{"description":"Whether the named invitation carries at least one on-chain role. The role list itself is not returned. Use this to choose the PIN-gated resend path.","content":{"application/json":{"schema":{"type":"object","properties":{"hasOnChainRoles":{"type":"boolean","description":"Whether the invitation carries system roles, authorized or not. A resend of such an invitation goes through the wallet-verified role route, which is also what authorizes roles that still wait."}},"required":["hasOnChainRoles"],"additionalProperties":false},"examples":{"example-1":{"value":{"hasOnChainRoles":true}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.http.INVITATION_CANCELED","platform.http.INVITATION_EXPIRED","platform.http.INVITATION_ORGANIZATION_ARCHIVED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-12379","DALP-12380","DALP-12381","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.INVITATION_ALREADY_ACCEPTED","platform.http.INVITATION_NATIONAL_ID_CONFLICT"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12377","DALP-12382","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED","platform.http.INVITATION_ROLES_NOT_AUTHORIZED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12383","DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns whether the named invitation stores at least one on-chain role. Only an organization owner or platform administrator with an interactive session can call this tenant-scoped read. API keys and ordinary members receive the same not-found response. The role list is never returned.","summary":"Check whether an invitation carries on-chain roles","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/{key}":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsRead","parameters":[{"name":"key","in":"path","schema":{"type":"string","enum":["BASE_CURRENCY","SYSTEM_ADDRESS","AA_ENABLED","AA_WARN_DAYS","AA_CRITICAL_DAYS","TARGET_CURRENCIES","MULTI_NETWORK_ENABLED","CORPORATE_ACTION_MAKER_CHECKER_ENABLED","HOLDER_REDEMPTION_FUNDING_VISIBLE","ROLE_SEGREGATION","IDLE_TIMEOUT_MINUTES","SIGNING_FACTOR_COOLDOWN_MINUTES","DISPLAY_TIME_ZONE","ENABLED_LANGUAGES","LICENSED_MODULES_OPT_OUTS","ACCOUNT_KIND","LOGIN_PASSWORD_LOCKOUT_ATTEMPTS","LOGIN_PASSWORD_LOCKOUT_WINDOW_SECONDS","LOGIN_PASSWORD_LOCKOUT_DURATION_SECONDS"]},"required":true}],"responses":{"200":{"description":"The requested setting value for the active organization. `data.value` is null when that key has no row.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSettingReadResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"value":"EUR"},"links":{"self":"/v2/settings/BASE_CURRENCY"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the stored value for one predefined key in the active organization, wrapped as data.value. The key must be one of BASE_CURRENCY, SYSTEM_ADDRESS, ACCOUNT_KIND, AA_ENABLED, AA_WARN_DAYS, AA_CRITICAL_DAYS, TARGET_CURRENCIES, MULTI_NETWORK_ENABLED, CORPORATE_ACTION_MAKER_CHECKER_ENABLED, or HOLDER_REDEMPTION_FUNDING_VISIBLE. ACCOUNT_KIND is how the organization's users hold their accounts (plain-wallet or smart-account); AA_ENABLED reads true only for smart-account. Who pays gas is set per network through PUT /api/v2/organizations/networks/gas-payer and read from the organization's network list. A missing key returns data.value null rather than 404. The call is a stored read and is safe to retry. CORPORATE_ACTION_MAKER_CHECKER_ENABLED is answered by the corporate-actions row of the approval policy, which GET /api/v2/operations/approval-policy reads and PUT /api/v2/operations/approval-policy writes; prefer those routes.","summary":"Read one organization setting","x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Platform settings"],"operationId":"platform.settings.settingsDelete","parameters":[{"name":"key","in":"path","schema":{"type":"string","enum":["BASE_CURRENCY","SYSTEM_ADDRESS","AA_ENABLED","AA_WARN_DAYS","AA_CRITICAL_DAYS","TARGET_CURRENCIES","MULTI_NETWORK_ENABLED","CORPORATE_ACTION_MAKER_CHECKER_ENABLED","HOLDER_REDEMPTION_FUNDING_VISIBLE","ROLE_SEGREGATION","IDLE_TIMEOUT_MINUTES","SIGNING_FACTOR_COOLDOWN_MINUTES","DISPLAY_TIME_ZONE","ENABLED_LANGUAGES","LICENSED_MODULES_OPT_OUTS","ACCOUNT_KIND","LOGIN_PASSWORD_LOCKOUT_ATTEMPTS","LOGIN_PASSWORD_LOCKOUT_WINDOW_SECONDS","LOGIN_PASSWORD_LOCKOUT_DURATION_SECONDS"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Successful delete acknowledgement. `data` is `null` because the resource no longer exists. Treat HTTP 200 plus this body as confirmation, not as a leftover item.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","MULTI_NETWORK_ADMIN_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9167","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","MULTI_NETWORK_DISABLE_BLOCKED","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9169","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes one predefined key from the active organization. A missing key returns 404. MULTI_NETWORK_ENABLED cannot be deleted while the organization still has added networks. The delete waits until the row is gone and is not queued. Repeating the call after a successful delete returns 404.","summary":"Delete one organization setting","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-9167","DALP-9169"]}},"/api/v2/settings":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"key":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"value":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lastUpdated":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of settings for the active organization. `meta.total` counts every matching setting rather than the rows on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"},"lastUpdated":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["key","value","lastUpdated"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"key":"BASE_CURRENCY","value":"EUR","lastUpdated":"2026-04-12T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/settings?sort=key&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/settings?sort=key&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/settings?sort=key&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of stored settings for the active organization. Paging uses page[limit] (default 50, maximum 200) and page[offset]. Default sort is key. Filter with filter[key], filter[value], filter[lastUpdated], or filter[q]. The page is stored data. Repeating the read is safe.","summary":"Page through organization settings","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Platform settings"],"operationId":"platform.settings.settingsUpsert","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The stored setting after the write. `data.value` is the value the request sent.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"value":{"type":"string"}},"required":["value"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"value":"EUR"},"links":{"self":"/v2/settings/BASE_CURRENCY"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12033","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12252","DALP-12384","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ACCOUNT_KIND_SWITCH_BLOCKED","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14054","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACCOUNT_KIND_SWITCH_BLOCKED","status":409,"message":"The switch to smart wallets cannot start yet","data":{"id":"DALP-14054","why":"No network can host smart wallets yet, or a write on the organisation relayer has not finished. Starting now would queue writes that cannot land.","fix":"Read data.blocker: add a network that supports smart wallets, or let the writes in data.blockingTransactionIds finish (top up the relayer) or cancel them, then start the switch again.","retryable":false,"category":"client","blocker":"no-ready-network","blockingTransactionIds":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0660","DALP-12038","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores one predefined key for the active organization and returns the stored value as data.value. TARGET_CURRENCIES is a JSON array of ISO 4217 codes and must keep every currency already stored. ACCOUNT_KIND is plain-wallet or smart-account, and smart-account cannot be left once entered; entering it hands every network the relayer paid for back to self-pay. AA_ENABLED true moves the organization to smart-account. Who pays gas on each network is set through PUT /api/v2/organizations/networks/gas-payer, not here. AA_ENABLED, MULTI_NETWORK_ENABLED, CORPORATE_ACTION_MAKER_CHECKER_ENABLED, and HOLDER_REDEMPTION_FUNDING_VISIBLE are the strings true or false. The write waits until the row is stored and is not queued. Entering smart-account, through ACCOUNT_KIND or AA_ENABLED, also waits until every role, identity, and token-role synchronization write it starts is confirmed and indexed; if that wait elapses the request fails with a retryable error instead of returning true early. Repeating an identical body stores the same value again. Writing CORPORATE_ACTION_MAKER_CHECKER_ENABLED sets the corporate-actions row of the approval policy (PUT /api/v2/operations/approval-policy); a switch to false waits for a different owner's approval when the organization has one.","summary":"Create or replace one organization setting","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"key":{"type":"string","enum":["BASE_CURRENCY"]},"value":{"$ref":"#/components/schemas/FiatCurrency"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["SYSTEM_ADDRESS"]},"value":{"anyOf":[{"type":"string","enum":[""]},{"$ref":"#/components/schemas/EvmAddress"}]}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["AA_ENABLED"]},"value":{"type":"string","enum":["true","false"]}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["TARGET_CURRENCIES"]},"value":{"type":"string","contentMediaType":"application/json","contentSchema":{"type":"array","items":{"$ref":"#/components/schemas/FiatCurrency"},"minItems":1}}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["MULTI_NETWORK_ENABLED"]},"value":{"type":"string","enum":["true","false"]}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["CORPORATE_ACTION_MAKER_CHECKER_ENABLED"]},"value":{"type":"string","enum":["true","false"]},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["HOLDER_REDEMPTION_FUNDING_VISIBLE"]},"value":{"type":"string","enum":["true","false"]}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["ROLE_SEGREGATION"]},"value":{"$ref":"#/components/schemas/RoleSegregationPolicyEncoded"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["IDLE_TIMEOUT_MINUTES"]},"value":{"type":"string","pattern":"^(?:off|[5-9]|[1-9]\\d|1\\d\\d|2[0-3]\\d|240)$"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["SIGNING_FACTOR_COOLDOWN_MINUTES"]},"value":{"type":"string","pattern":"^(?:0|[1-9]\\d{0,3}|100[0-7]\\d|1008[0])$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["DISPLAY_TIME_ZONE"]},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["ENABLED_LANGUAGES"]},"value":{"type":"string","contentMediaType":"application/json","contentSchema":{"type":"array","items":{"type":"string","enum":["en-US","de-DE","ar-SA","ja-JP","fr-FR","nl-NL","ms-MY","id-ID","th-TH","ko-KR"]}}}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["LICENSED_MODULES_OPT_OUTS"]},"value":{"type":"string","contentMediaType":"application/json","contentSchema":{"type":"array","items":{"type":"string"}}}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["ACCOUNT_KIND"]},"value":{"$ref":"#/components/schemas/AccountKind"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["LOGIN_PASSWORD_LOCKOUT_ATTEMPTS"]},"value":{"type":"string","pattern":"^[1-9][0-9]*$"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["LOGIN_PASSWORD_LOCKOUT_WINDOW_SECONDS"]},"value":{"type":"string","pattern":"^[1-9][0-9]*$"}},"required":["key","value"],"additionalProperties":false},{"type":"object","properties":{"key":{"type":"string","enum":["LOGIN_PASSWORD_LOCKOUT_DURATION_SECONDS"]},"value":{"anyOf":[{"type":"string","pattern":"^[1-9][0-9]*$"},{"type":"string","enum":["until-unlocked"]}]}},"required":["key","value"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/account-kind/switch-readiness":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsAccountKindSwitchReadiness","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformAccountKindSwitchReadiness"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"networks":[{"chainId":11155111,"ready":false}],"blockingWrites":[{"transactionId":"example","chainId":11155111,"state":"RECEIVED","relayerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","awaitingFunds":false}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/public-config":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsPublicConfig","parameters":[],"responses":{"200":{"description":"Public client configuration. Secrets, client ids, and issuer URLs are omitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"app":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/HTTPURL"},"logLevel":{"type":"string","enum":["debug","info","warn","error"]},"isDevelopment":{"type":"boolean"}},"required":["url","logLevel","isDevelopment"],"additionalProperties":false},"explorer":{"type":"object","properties":{"url":{"$ref":"#/components/schemas/HTTPURL"}},"additionalProperties":false},"auth":{"type":"object","properties":{"enforce2fa":{"type":"boolean"},"restrictOrgCreationToAdmin":{"type":"boolean"},"allowImpersonatedDecisions":{"type":"boolean"},"oidcProviders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"displayName":{"type":"string","minLength":1}},"required":["id","displayName"],"additionalProperties":false}},"passwordPolicy":{"type":"object","properties":{"minimumLength":{"type":"integer","minimum":8,"maximum":128},"requiredCharacterClasses":{"type":"integer","minimum":0,"maximum":4},"historySize":{"type":"integer","minimum":0,"maximum":20},"maxAgeDays":{"type":"integer","minimum":0,"maximum":3650}},"additionalProperties":false}},"required":["enforce2fa","restrictOrgCreationToAdmin","allowImpersonatedDecisions","oidcProviders"],"additionalProperties":false},"features":{"type":"object","properties":{"multiTenancy":{"type":"boolean"},"changeEmail":{"type":"boolean"},"tokenSale":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"legacyComplianceTemplates":{"type":"boolean"},"legacyAssetCreation":{"type":"boolean"},"canton":{"type":"boolean"},"custodyOps":{"type":"boolean"},"marketOperations":{"type":"boolean"},"surveillance":{"type":"boolean"},"clientPortal":{"type":"boolean"},"tradingVenue":{"type":"boolean"},"regulatoryReporting":{"type":"boolean"},"bankRail":{"type":"boolean"},"ens":{"type":"boolean"}},"required":["multiTenancy","changeEmail","tokenSale","accountAbstraction","legacyComplianceTemplates","legacyAssetCreation","canton","custodyOps","marketOperations","surveillance","clientPortal","tradingVenue","regulatoryReporting","bankRail","ens"],"additionalProperties":false},"email":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"support":{"type":"object","properties":{"email":{"type":"string"},"consentTitle":{"type":"string"},"consentDescription":{"type":"string"}},"required":["email","consentTitle","consentDescription"],"additionalProperties":false},"hasOrganizations":{"type":"boolean"},"custodyDefaultProvider":{"type":"string","minLength":1},"custodyDefaultEndpointHost":{"type":"string","minLength":1},"investorPortalUrl":{"$ref":"#/components/schemas/HTTPURL"}},"required":["app","explorer","auth","features","email","support","hasOrganizations","custodyDefaultProvider"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"app":{"url":"https://console.northwind.example","logLevel":"info","isDevelopment":false},"explorer":{"url":"https://sepolia.etherscan.io"},"auth":{"enforce2fa":true,"restrictOrgCreationToAdmin":false,"allowImpersonatedDecisions":false,"oidcProviders":[{"id":"entra","displayName":"Microsoft Entra ID"}],"passwordPolicy":{"minimumLength":8,"requiredCharacterClasses":0,"historySize":0,"maxAgeDays":0}},"features":{"multiTenancy":true,"changeEmail":true,"tokenSale":false,"accountAbstraction":true,"legacyComplianceTemplates":false,"legacyAssetCreation":false,"canton":false,"custodyOps":false,"marketOperations":false,"surveillance":false,"clientPortal":false,"tradingVenue":false,"regulatoryReporting":false,"bankRail":false,"ens":false},"email":{"enabled":true},"support":{"email":"support@northwind.example","consentTitle":"","consentDescription":""},"hasOrganizations":true,"custodyDefaultProvider":"local","custodyDefaultEndpointHost":"example","investorPortalUrl":"example"},"links":{"self":"/v2/settings/public-config"}}}}}},"headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the public application, auth, feature, email, support, and custody values a client needs before sign-in. The v2 body omits the inert sentry block from v1. The call is a stored read and is safe to retry. It does not require an organization or a chain header.","summary":"Read public client configuration","x-dalp-auth":"optional"}},"/api/v2/settings/display-time-zone":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsDisplayTimeZoneGet","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformEffectiveDisplayTimeZone"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"timeZone":"example","source":"organization"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/enabled-languages":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsEnabledLanguagesGet","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformEffectiveEnabledLanguages"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"languages":["en-US"],"source":"organization"},"links":{"self":"example"}}}}}},"headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"optional"}},"/api/v2/settings/licensed-modules":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsLicensedModulesGet","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformEffectiveLicensedModules"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"global":["example"],"optOuts":["example"],"effective":["example"],"held":[{"module":"example","operation":"example","path":"example","approvalId":"example"}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/theme":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsThemeGet","parameters":[],"responses":{"200":{"description":"Effective theme for the request, wrapped as a single resource. Pre-sign-in clients receive the global or default theme.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"logo":{"type":"object","properties":{"lightUrl":{"type":"string","maxLength":2048},"darkUrl":{"type":"string","maxLength":2048},"lightIconUrl":{"type":"string","maxLength":2048},"darkIconUrl":{"type":"string","maxLength":2048},"authLightUrl":{"type":"string","maxLength":2048},"authDarkUrl":{"type":"string","maxLength":2048},"alt":{"type":"string","maxLength":200},"width":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"height":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["alt"],"additionalProperties":false},"images":{"type":"object","properties":{"authOverlayLightUrl":{"type":"string","maxLength":2048},"authOverlayDarkUrl":{"type":"string","maxLength":2048},"backgroundLightUrl":{"type":"string","maxLength":2048},"backgroundDarkUrl":{"type":"string","maxLength":2048},"faviconUrl":{"type":"string","maxLength":2048},"appleTouchIconUrl":{"type":"string","maxLength":2048},"favicon96Url":{"type":"string","maxLength":2048},"faviconSvgUrl":{"type":"string","maxLength":2048},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"additionalProperties":false},"fonts":{"type":"object","properties":{"sans":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/HTTPURL"}},"required":["family","source","preload"],"additionalProperties":false},"mono":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/HTTPURL"}},"required":["family","source","preload"],"additionalProperties":false}},"required":["sans","mono"],"additionalProperties":false},"cssVars":{"type":"object","properties":{"light":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false},"dark":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false}},"required":["light","dark"],"additionalProperties":false},"documents":{"type":"object","properties":{"legalName":{"type":"string","maxLength":200},"details":{"type":"string","maxLength":1000},"disclaimer":{"type":"string","maxLength":4000}},"required":["legalName","details","disclaimer"],"additionalProperties":false},"metadata":{"type":"object","properties":{"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"updatedBy":{"type":"string","minLength":1},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"previewHash":{"type":"string"}},"required":["version","updatedBy","updatedAt"],"additionalProperties":false}},"required":["logo","images","fonts","cssVars","metadata"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"logo":{"lightUrl":"/logos/northwind-logo-h-lm.svg","darkUrl":"/logos/northwind-logo-h-dm.svg","lightIconUrl":"/logos/settlemint-logo-i-lm.svg","darkIconUrl":"/logos/settlemint-logo-i-dm.svg","alt":"Northwind Coffee"},"images":{"backgroundLightUrl":"/backgrounds/background-lm.svg","backgroundDarkUrl":"/backgrounds/background-dm.svg","faviconUrl":"/favicon.ico","appleTouchIconUrl":"/apple-touch-icon.png","favicon96Url":"/favicon-96x96.png","faviconSvgUrl":"/favicon.svg"},"fonts":{"sans":{"family":"Figtree Variable","source":"fontsource","preload":true},"mono":{"family":"Red Hat Mono Variable","source":"fontsource","preload":true}},"cssVars":{"light":{"sm-text":"oklch(0.2264 0 87)","sm-text-strong":"oklch(0.205 0 0)","sm-text-default":"oklch(0.269 0 0)","sm-text-subtle":"oklch(0.442 0 0)","sm-text-disabled":"oklch(0.553 0 0)","sm-text-contrast":"oklch(1 0 87)","sm-accent":"oklch(0.55 0.2028 263.15)","sm-accent-hover":"oklch(0.55 0.2028 263.15 / 0.2)","sm-background-darkest":"oklch(0.9359 0.0275 265.45)","sm-background-lightest":"oklch(0.967 0.014 268.49)","sm-background-gradient-start":"oklch(0.9886 0.0026 286.35)","sm-background-gradient-end":"oklch(0.9691 0.0103 261.79)","sm-state-success":"oklch(0.2264 0 87)","sm-state-success-background":"oklch(0.812 0.1064 153.89)","sm-state-success-fg-deep":"hsl(140, 100%, 27%)","sm-state-warning":"oklch(0.2264 0 87)","sm-state-warning-background":"oklch(0.8354 0.1274 72.2)","sm-state-warning-fg-deep":"hsl(35, 92%, 33%)","sm-state-info":"oklch(0.2264 0 87)","sm-state-info-background":"oklch(0.6396 0.145 248.18)","sm-state-info-fg-deep":"hsl(210, 92%, 33%)","sm-state-error":"oklch(0.2264 0 87)","sm-state-error-background":"oklch(0.7044 0.1872 23.19)","sm-graphics-primary":"oklch(0.7675 0.0982 182.83)","sm-graphics-secondary":"oklch(0.7284 0.1133 210.64)","sm-graphics-tertiary":"oklch(0.6396 0.145 248.18)","sm-graphics-quaternary":"oklch(0.6296 0.2209 300.47)","sm-colored-shadow":"oklch(0.55 0.2028 263.15 / 0.12)","sm-inset-shadow":"rgba(0, 0, 0, 0.21)","sm-muted":"oklch(0.2264 0 87 / 32%)","sm-border":"oklch(0.2264 0 87 / 12%)","sm-border-subtle":"oklch(0.922 0 0)","sm-sidebar-gradient-start":"oklch(0.54 0.12 210.64)","sm-sidebar-gradient-mid":"oklch(0.56 0.15 248.18)","sm-sidebar-gradient-end":"oklch(0.55 0.1 182.83)","radius":"0.625rem"},"dark":{"sm-text":"oklch(1 0 87)","sm-text-strong":"oklch(0.985 0 0)","sm-text-default":"oklch(0.922 0 0)","sm-text-subtle":"oklch(0.72 0 0)","sm-text-disabled":"oklch(0.442 0 0)","sm-text-contrast":"oklch(0.2264 0 87)","sm-accent":"oklch(0.72 0.14 263.65)","sm-accent-hover":"oklch(0.72 0.14 263.65 / 0.2)","sm-background-darkest":"oklch(0.2264 0 0)","sm-background-lightest":"oklch(0.2809 0 0)","sm-background-gradient-start":"oklch(0.3368 0 0)","sm-background-gradient-end":"oklch(0.3092 0 0)","sm-state-success":"oklch(1 0 87)","sm-state-success-background":"oklch(0.812 0.1064 153.89)","sm-state-success-fg-deep":"hsl(140, 80%, 65%)","sm-state-warning":"oklch(1 0 87)","sm-state-warning-background":"oklch(0.8354 0.1274 72.2)","sm-state-warning-fg-deep":"hsl(35, 80%, 65%)","sm-state-info":"oklch(1 0 87)","sm-state-info-background":"oklch(0.6396 0.145 248.18)","sm-state-info-fg-deep":"hsl(210, 80%, 65%)","sm-state-error":"oklch(0.2264 0 87)","sm-state-error-background":"oklch(0.7044 0.1872 23.19)","sm-graphics-primary":"oklch(0.7675 0.0982 182.83)","sm-graphics-secondary":"oklch(0.7284 0.1133 210.64)","sm-graphics-tertiary":"oklch(0.6396 0.145 248.18)","sm-graphics-quaternary":"oklch(0.6296 0.2209 300.47)","sm-colored-shadow":"oklch(0.2264 0 0)","sm-inset-shadow":"rgba(0, 0, 0, 0.21)","sm-muted":"oklch(1 0 87 / 32%)","sm-border":"oklch(1 0 87 / 12%)","sm-border-subtle":"oklch(0.269 0 0)","sm-sidebar-gradient-start":"oklch(0.54 0.12 210.64)","sm-sidebar-gradient-mid":"oklch(0.56 0.15 248.18)","sm-sidebar-gradient-end":"oklch(0.55 0.1 182.83)","radius":"0.625rem"}},"metadata":{"version":4,"updatedBy":"user_northwind_owner","updatedAt":"2026-04-12T09:30:00.000Z"}},"links":{"self":"/v2/settings/theme"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the effective theme for the request, including logos, fonts, and CSS tokens, wrapped as a single resource. An authenticated request receives its organization theme. A pre-sign-in request receives the global or default theme, so clients can render branded authentication pages. The call is safe to retry and does not require a chain header.","summary":"Read the organization theme","x-dalp-auth":"optional"},"patch":{"tags":["Platform settings"],"operationId":"platform.settings.settingsThemeUpdate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored theme after the write. Send `data.theme.metadata.version` on the next theme write.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"logo":{"type":"object","properties":{"lightUrl":{"type":"string","maxLength":2048},"darkUrl":{"type":"string","maxLength":2048},"lightIconUrl":{"type":"string","maxLength":2048},"darkIconUrl":{"type":"string","maxLength":2048},"authLightUrl":{"type":"string","maxLength":2048},"authDarkUrl":{"type":"string","maxLength":2048},"alt":{"type":"string","maxLength":200},"width":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"height":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["alt"],"additionalProperties":false},"images":{"type":"object","properties":{"authOverlayLightUrl":{"type":"string","maxLength":2048},"authOverlayDarkUrl":{"type":"string","maxLength":2048},"backgroundLightUrl":{"type":"string","maxLength":2048},"backgroundDarkUrl":{"type":"string","maxLength":2048},"faviconUrl":{"type":"string","maxLength":2048},"appleTouchIconUrl":{"type":"string","maxLength":2048},"favicon96Url":{"type":"string","maxLength":2048},"faviconSvgUrl":{"type":"string","maxLength":2048},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"additionalProperties":false},"fonts":{"type":"object","properties":{"sans":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/HTTPURL"}},"required":["family","source","preload"],"additionalProperties":false},"mono":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/HTTPURL"}},"required":["family","source","preload"],"additionalProperties":false}},"required":["sans","mono"],"additionalProperties":false},"cssVars":{"type":"object","properties":{"light":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false},"dark":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false}},"required":["light","dark"],"additionalProperties":false},"documents":{"type":"object","properties":{"legalName":{"type":"string","maxLength":200},"details":{"type":"string","maxLength":1000},"disclaimer":{"type":"string","maxLength":4000}},"required":["legalName","details","disclaimer"],"additionalProperties":false},"metadata":{"type":"object","properties":{"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"updatedBy":{"type":"string","minLength":1},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"previewHash":{"type":"string"}},"required":["version","updatedBy","updatedAt"],"additionalProperties":false}},"required":["logo","images","fonts","cssVars","metadata"],"additionalProperties":false},"success":{"type":"boolean"}},"required":["theme","success"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"theme":{"logo":{"lightUrl":"/logos/northwind-logo-h-lm.svg","darkUrl":"/logos/northwind-logo-h-dm.svg","lightIconUrl":"/logos/settlemint-logo-i-lm.svg","darkIconUrl":"/logos/settlemint-logo-i-dm.svg","alt":"Northwind Coffee"},"images":{"backgroundLightUrl":"/backgrounds/background-lm.svg","backgroundDarkUrl":"/backgrounds/background-dm.svg","faviconUrl":"/favicon.ico","appleTouchIconUrl":"/apple-touch-icon.png","favicon96Url":"/favicon-96x96.png","faviconSvgUrl":"/favicon.svg"},"fonts":{"sans":{"family":"Figtree Variable","source":"fontsource","preload":true},"mono":{"family":"Red Hat Mono Variable","source":"fontsource","preload":true}},"cssVars":{"light":{"sm-text":"oklch(0.2264 0 87)","sm-text-strong":"oklch(0.205 0 0)","sm-text-default":"oklch(0.269 0 0)","sm-text-subtle":"oklch(0.442 0 0)","sm-text-disabled":"oklch(0.553 0 0)","sm-text-contrast":"oklch(1 0 87)","sm-accent":"oklch(0.55 0.2028 263.15)","sm-accent-hover":"oklch(0.55 0.2028 263.15 / 0.2)","sm-background-darkest":"oklch(0.9359 0.0275 265.45)","sm-background-lightest":"oklch(0.967 0.014 268.49)","sm-background-gradient-start":"oklch(0.9886 0.0026 286.35)","sm-background-gradient-end":"oklch(0.9691 0.0103 261.79)","sm-state-success":"oklch(0.2264 0 87)","sm-state-success-background":"oklch(0.812 0.1064 153.89)","sm-state-success-fg-deep":"hsl(140, 100%, 27%)","sm-state-warning":"oklch(0.2264 0 87)","sm-state-warning-background":"oklch(0.8354 0.1274 72.2)","sm-state-warning-fg-deep":"hsl(35, 92%, 33%)","sm-state-info":"oklch(0.2264 0 87)","sm-state-info-background":"oklch(0.6396 0.145 248.18)","sm-state-info-fg-deep":"hsl(210, 92%, 33%)","sm-state-error":"oklch(0.2264 0 87)","sm-state-error-background":"oklch(0.7044 0.1872 23.19)","sm-graphics-primary":"oklch(0.7675 0.0982 182.83)","sm-graphics-secondary":"oklch(0.7284 0.1133 210.64)","sm-graphics-tertiary":"oklch(0.6396 0.145 248.18)","sm-graphics-quaternary":"oklch(0.6296 0.2209 300.47)","sm-colored-shadow":"oklch(0.55 0.2028 263.15 / 0.12)","sm-inset-shadow":"rgba(0, 0, 0, 0.21)","sm-muted":"oklch(0.2264 0 87 / 32%)","sm-border":"oklch(0.2264 0 87 / 12%)","sm-border-subtle":"oklch(0.922 0 0)","sm-sidebar-gradient-start":"oklch(0.54 0.12 210.64)","sm-sidebar-gradient-mid":"oklch(0.56 0.15 248.18)","sm-sidebar-gradient-end":"oklch(0.55 0.1 182.83)","radius":"0.625rem"},"dark":{"sm-text":"oklch(1 0 87)","sm-text-strong":"oklch(0.985 0 0)","sm-text-default":"oklch(0.922 0 0)","sm-text-subtle":"oklch(0.72 0 0)","sm-text-disabled":"oklch(0.442 0 0)","sm-text-contrast":"oklch(0.2264 0 87)","sm-accent":"oklch(0.72 0.14 263.65)","sm-accent-hover":"oklch(0.72 0.14 263.65 / 0.2)","sm-background-darkest":"oklch(0.2264 0 0)","sm-background-lightest":"oklch(0.2809 0 0)","sm-background-gradient-start":"oklch(0.3368 0 0)","sm-background-gradient-end":"oklch(0.3092 0 0)","sm-state-success":"oklch(1 0 87)","sm-state-success-background":"oklch(0.812 0.1064 153.89)","sm-state-success-fg-deep":"hsl(140, 80%, 65%)","sm-state-warning":"oklch(1 0 87)","sm-state-warning-background":"oklch(0.8354 0.1274 72.2)","sm-state-warning-fg-deep":"hsl(35, 80%, 65%)","sm-state-info":"oklch(1 0 87)","sm-state-info-background":"oklch(0.6396 0.145 248.18)","sm-state-info-fg-deep":"hsl(210, 80%, 65%)","sm-state-error":"oklch(0.2264 0 87)","sm-state-error-background":"oklch(0.7044 0.1872 23.19)","sm-graphics-primary":"oklch(0.7675 0.0982 182.83)","sm-graphics-secondary":"oklch(0.7284 0.1133 210.64)","sm-graphics-tertiary":"oklch(0.6396 0.145 248.18)","sm-graphics-quaternary":"oklch(0.6296 0.2209 300.47)","sm-colored-shadow":"oklch(0.2264 0 0)","sm-inset-shadow":"rgba(0, 0, 0, 0.21)","sm-muted":"oklch(1 0 87 / 32%)","sm-border":"oklch(1 0 87 / 12%)","sm-border-subtle":"oklch(0.269 0 0)","sm-sidebar-gradient-start":"oklch(0.54 0.12 210.64)","sm-sidebar-gradient-mid":"oklch(0.56 0.15 248.18)","sm-sidebar-gradient-end":"oklch(0.55 0.1 182.83)","radius":"0.625rem"}},"metadata":{"version":4,"updatedBy":"user_northwind_owner","updatedAt":"2026-04-12T09:30:00.000Z"}},"success":true},"links":{"self":"/v2/settings/theme"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the stored theme for the authenticated organization and returns the new configuration. Send the full theme, including metadata.version from the last read; a stale version returns 409. The write waits until the theme is stored and is not queued. Send the new version on the next write.","summary":"Replace the stored organization theme","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"logo":{"type":"object","properties":{"lightUrl":{"type":"string","maxLength":2048},"darkUrl":{"type":"string","maxLength":2048},"lightIconUrl":{"type":"string","maxLength":2048},"darkIconUrl":{"type":"string","maxLength":2048},"authLightUrl":{"type":"string","maxLength":2048},"authDarkUrl":{"type":"string","maxLength":2048},"alt":{"type":"string","maxLength":200},"width":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"height":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["alt"],"additionalProperties":false},"images":{"type":"object","properties":{"authOverlayLightUrl":{"type":"string","maxLength":2048},"authOverlayDarkUrl":{"type":"string","maxLength":2048},"backgroundLightUrl":{"type":"string","maxLength":2048},"backgroundDarkUrl":{"type":"string","maxLength":2048},"faviconUrl":{"type":"string","maxLength":2048},"appleTouchIconUrl":{"type":"string","maxLength":2048},"favicon96Url":{"type":"string","maxLength":2048},"faviconSvgUrl":{"type":"string","maxLength":2048},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"additionalProperties":false},"fonts":{"type":"object","properties":{"sans":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/ThemeStylesheetUrl"}},"required":["family","source","preload"],"additionalProperties":false},"mono":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/ThemeStylesheetUrl"}},"required":["family","source","preload"],"additionalProperties":false}},"required":["sans","mono"],"additionalProperties":false},"cssVars":{"type":"object","properties":{"light":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false},"dark":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false}},"required":["light","dark"],"additionalProperties":false},"documents":{"type":"object","properties":{"legalName":{"type":"string","maxLength":200},"details":{"type":"string","maxLength":1000},"disclaimer":{"type":"string","maxLength":4000}},"required":["legalName","details","disclaimer"],"additionalProperties":false,"description":"Omit to keep the organization's stored document settings."},"metadata":{"type":"object","properties":{"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"updatedBy":{"type":"string","minLength":1},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"previewHash":{"type":"string"}},"required":["version","updatedBy","updatedAt"],"additionalProperties":false},"paletteAction":{"type":"string","enum":["reset-to-platform"]},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["logo","images","fonts","cssVars","metadata"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/theme-previews":{"post":{"tags":["Platform settings"],"operationId":"platform.settings.settingsThemePreview","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Temporary preview of the stored theme plus the requested diff. `data.expiresAt` is a Unix timestamp in seconds.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"theme":{"type":"object","properties":{"logo":{"type":"object","properties":{"lightUrl":{"type":"string","maxLength":2048},"darkUrl":{"type":"string","maxLength":2048},"lightIconUrl":{"type":"string","maxLength":2048},"darkIconUrl":{"type":"string","maxLength":2048},"authLightUrl":{"type":"string","maxLength":2048},"authDarkUrl":{"type":"string","maxLength":2048},"alt":{"type":"string","maxLength":200},"width":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"height":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["alt"],"additionalProperties":false},"images":{"type":"object","properties":{"authOverlayLightUrl":{"type":"string","maxLength":2048},"authOverlayDarkUrl":{"type":"string","maxLength":2048},"backgroundLightUrl":{"type":"string","maxLength":2048},"backgroundDarkUrl":{"type":"string","maxLength":2048},"faviconUrl":{"type":"string","maxLength":2048},"appleTouchIconUrl":{"type":"string","maxLength":2048},"favicon96Url":{"type":"string","maxLength":2048},"faviconSvgUrl":{"type":"string","maxLength":2048},"etag":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"additionalProperties":false},"fonts":{"type":"object","properties":{"sans":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/HTTPURL"}},"required":["family","source","preload"],"additionalProperties":false},"mono":{"type":"object","properties":{"family":{"type":"string","minLength":1,"maxLength":100},"source":{"type":"string","enum":["fontsource","google","custom"]},"weights":{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},"preload":{"type":"boolean"},"url":{"$ref":"#/components/schemas/HTTPURL"}},"required":["family","source","preload"],"additionalProperties":false}},"required":["sans","mono"],"additionalProperties":false},"cssVars":{"type":"object","properties":{"light":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false},"dark":{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"required":["sm-text","sm-text-strong","sm-text-default","sm-text-subtle","sm-text-disabled","sm-text-contrast","sm-accent","sm-accent-hover","sm-background-darkest","sm-background-lightest","sm-background-gradient-start","sm-background-gradient-end","sm-state-success","sm-state-success-background","sm-state-success-fg-deep","sm-state-warning","sm-state-warning-background","sm-state-warning-fg-deep","sm-state-info","sm-state-info-background","sm-state-info-fg-deep","sm-state-error","sm-state-error-background","sm-graphics-primary","sm-graphics-secondary","sm-graphics-tertiary","sm-graphics-quaternary","sm-colored-shadow","sm-inset-shadow","sm-muted","sm-border","sm-border-subtle","sm-sidebar-gradient-start","sm-sidebar-gradient-mid","sm-sidebar-gradient-end","radius"],"additionalProperties":false}},"required":["light","dark"],"additionalProperties":false},"documents":{"type":"object","properties":{"legalName":{"type":"string","maxLength":200},"details":{"type":"string","maxLength":1000},"disclaimer":{"type":"string","maxLength":4000}},"required":["legalName","details","disclaimer"],"additionalProperties":false},"metadata":{"type":"object","properties":{"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"updatedBy":{"type":"string","minLength":1},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"previewHash":{"type":"string"}},"required":["version","updatedBy","updatedAt"],"additionalProperties":false}},"required":["logo","images","fonts","cssVars","metadata"],"additionalProperties":false},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["theme","expiresAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"theme":{"logo":{"lightUrl":"/logos/northwind-logo-h-lm.svg","darkUrl":"/logos/northwind-logo-h-dm.svg","lightIconUrl":"/logos/settlemint-logo-i-lm.svg","darkIconUrl":"/logos/settlemint-logo-i-dm.svg","alt":"Northwind Coffee"},"images":{"backgroundLightUrl":"/backgrounds/background-lm.svg","backgroundDarkUrl":"/backgrounds/background-dm.svg","faviconUrl":"/favicon.ico","appleTouchIconUrl":"/apple-touch-icon.png","favicon96Url":"/favicon-96x96.png","faviconSvgUrl":"/favicon.svg"},"fonts":{"sans":{"family":"Figtree Variable","source":"fontsource","preload":true},"mono":{"family":"Red Hat Mono Variable","source":"fontsource","preload":true}},"cssVars":{"light":{"sm-text":"oklch(0.2264 0 87)","sm-text-strong":"oklch(0.205 0 0)","sm-text-default":"oklch(0.269 0 0)","sm-text-subtle":"oklch(0.442 0 0)","sm-text-disabled":"oklch(0.553 0 0)","sm-text-contrast":"oklch(1 0 87)","sm-accent":"oklch(0.55 0.2028 263.15)","sm-accent-hover":"oklch(0.55 0.2028 263.15 / 0.2)","sm-background-darkest":"oklch(0.9359 0.0275 265.45)","sm-background-lightest":"oklch(0.967 0.014 268.49)","sm-background-gradient-start":"oklch(0.9886 0.0026 286.35)","sm-background-gradient-end":"oklch(0.9691 0.0103 261.79)","sm-state-success":"oklch(0.2264 0 87)","sm-state-success-background":"oklch(0.812 0.1064 153.89)","sm-state-success-fg-deep":"hsl(140, 100%, 27%)","sm-state-warning":"oklch(0.2264 0 87)","sm-state-warning-background":"oklch(0.8354 0.1274 72.2)","sm-state-warning-fg-deep":"hsl(35, 92%, 33%)","sm-state-info":"oklch(0.2264 0 87)","sm-state-info-background":"oklch(0.6396 0.145 248.18)","sm-state-info-fg-deep":"hsl(210, 92%, 33%)","sm-state-error":"oklch(0.2264 0 87)","sm-state-error-background":"oklch(0.7044 0.1872 23.19)","sm-graphics-primary":"oklch(0.7675 0.0982 182.83)","sm-graphics-secondary":"oklch(0.7284 0.1133 210.64)","sm-graphics-tertiary":"oklch(0.6396 0.145 248.18)","sm-graphics-quaternary":"oklch(0.6296 0.2209 300.47)","sm-colored-shadow":"oklch(0.55 0.2028 263.15 / 0.12)","sm-inset-shadow":"rgba(0, 0, 0, 0.21)","sm-muted":"oklch(0.2264 0 87 / 32%)","sm-border":"oklch(0.2264 0 87 / 12%)","sm-border-subtle":"oklch(0.922 0 0)","sm-sidebar-gradient-start":"oklch(0.54 0.12 210.64)","sm-sidebar-gradient-mid":"oklch(0.56 0.15 248.18)","sm-sidebar-gradient-end":"oklch(0.55 0.1 182.83)","radius":"0.625rem"},"dark":{"sm-text":"oklch(1 0 87)","sm-text-strong":"oklch(0.985 0 0)","sm-text-default":"oklch(0.922 0 0)","sm-text-subtle":"oklch(0.72 0 0)","sm-text-disabled":"oklch(0.442 0 0)","sm-text-contrast":"oklch(0.2264 0 87)","sm-accent":"oklch(0.72 0.14 263.65)","sm-accent-hover":"oklch(0.72 0.14 263.65 / 0.2)","sm-background-darkest":"oklch(0.2264 0 0)","sm-background-lightest":"oklch(0.2809 0 0)","sm-background-gradient-start":"oklch(0.3368 0 0)","sm-background-gradient-end":"oklch(0.3092 0 0)","sm-state-success":"oklch(1 0 87)","sm-state-success-background":"oklch(0.812 0.1064 153.89)","sm-state-success-fg-deep":"hsl(140, 80%, 65%)","sm-state-warning":"oklch(1 0 87)","sm-state-warning-background":"oklch(0.8354 0.1274 72.2)","sm-state-warning-fg-deep":"hsl(35, 80%, 65%)","sm-state-info":"oklch(1 0 87)","sm-state-info-background":"oklch(0.6396 0.145 248.18)","sm-state-info-fg-deep":"hsl(210, 80%, 65%)","sm-state-error":"oklch(0.2264 0 87)","sm-state-error-background":"oklch(0.7044 0.1872 23.19)","sm-graphics-primary":"oklch(0.7675 0.0982 182.83)","sm-graphics-secondary":"oklch(0.7284 0.1133 210.64)","sm-graphics-tertiary":"oklch(0.6396 0.145 248.18)","sm-graphics-quaternary":"oklch(0.6296 0.2209 300.47)","sm-colored-shadow":"oklch(0.2264 0 0)","sm-inset-shadow":"rgba(0, 0, 0, 0.21)","sm-muted":"oklch(1 0 87 / 32%)","sm-border":"oklch(1 0 87 / 12%)","sm-border-subtle":"oklch(0.269 0 0)","sm-sidebar-gradient-start":"oklch(0.54 0.12 210.64)","sm-sidebar-gradient-mid":"oklch(0.56 0.15 248.18)","sm-sidebar-gradient-end":"oklch(0.55 0.1 182.83)","radius":"0.625rem"}},"metadata":{"version":4,"updatedBy":"user_northwind_owner","updatedAt":"2026-04-12T09:30:00.000Z"}},"expiresAt":1744447800},"links":{"self":"/v2/settings/theme-previews"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Builds a temporary theme from the stored theme plus an optional diff, without writing it. ttlSeconds defaults to the platform preview lifetime and accepts at most 300. baseVersion must match the stored theme version or the platform returns 409. The preview expires at the returned Unix timestamp. Repeating the call creates a new preview.","summary":"Preview an organization theme change","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"diff":{"anyOf":[{"type":"object","properties":{"logo":{"anyOf":[{"type":"object","properties":{"lightUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"darkUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"lightIconUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"darkIconUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"authLightUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"authDarkUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"alt":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"width":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"height":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"etag":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"images":{"anyOf":[{"type":"object","properties":{"authOverlayLightUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"authOverlayDarkUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"backgroundLightUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"backgroundDarkUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"faviconUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"appleTouchIconUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"favicon96Url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"faviconSvgUrl":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}]},"etag":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"fonts":{"anyOf":[{"type":"object","properties":{"sans":{"anyOf":[{"type":"object","properties":{"family":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"source":{"anyOf":[{"type":"string","enum":["fontsource","google","custom"]},{"type":"null"}]},"weights":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},{"type":"null"}]},"preload":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"url":{"anyOf":[{"$ref":"#/components/schemas/ThemeStylesheetUrl"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"mono":{"anyOf":[{"type":"object","properties":{"family":{"anyOf":[{"type":"string","minLength":1,"maxLength":100},{"type":"null"}]},"source":{"anyOf":[{"type":"string","enum":["fontsource","google","custom"]},{"type":"null"}]},"weights":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":100,"maximum":900}},{"type":"null"}]},"preload":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"url":{"anyOf":[{"$ref":"#/components/schemas/ThemeStylesheetUrl"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"cssVars":{"anyOf":[{"type":"object","properties":{"light":{"anyOf":[{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"additionalProperties":false},{"type":"null"}]},"dark":{"anyOf":[{"type":"object","properties":{"sm-text":{"$ref":"#/components/schemas/CSSColor"},"sm-text-strong":{"$ref":"#/components/schemas/CSSColor"},"sm-text-default":{"$ref":"#/components/schemas/CSSColor"},"sm-text-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-text-disabled":{"$ref":"#/components/schemas/CSSColor"},"sm-text-contrast":{"$ref":"#/components/schemas/CSSColor"},"sm-accent":{"$ref":"#/components/schemas/CSSColor"},"sm-accent-hover":{"$ref":"#/components/schemas/CSSColor"},"sm-background-darkest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-lightest":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-background-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-success-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-warning-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-background":{"$ref":"#/components/schemas/CSSColor"},"sm-state-info-fg-deep":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error":{"$ref":"#/components/schemas/CSSColor"},"sm-state-error-background":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-primary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-secondary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-tertiary":{"$ref":"#/components/schemas/CSSColor"},"sm-graphics-quaternary":{"$ref":"#/components/schemas/CSSColor"},"sm-colored-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-inset-shadow":{"$ref":"#/components/schemas/CSSColor"},"sm-muted":{"$ref":"#/components/schemas/CSSColor"},"sm-border":{"$ref":"#/components/schemas/CSSColor"},"sm-border-subtle":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-start":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-mid":{"$ref":"#/components/schemas/CSSColor"},"sm-sidebar-gradient-end":{"$ref":"#/components/schemas/CSSColor"},"radius":{"$ref":"#/components/schemas/CSSColor"}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"documents":{"anyOf":[{"type":"object","properties":{"legalName":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"details":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"disclaimer":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"metadata":{"anyOf":[{"type":"object","properties":{"version":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}]},"updatedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"previewHash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]},"ttlSeconds":{"anyOf":[{"type":"integer","minimum":1,"maximum":300},{"type":"null"}]},"baseVersion":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["baseVersion"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/theme-logo-uploads":{"post":{"tags":["Platform settings"],"operationId":"platform.settings.settingsThemeUploadLogo","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Upload target for one logo slot. PUT the file bytes to `data.uploadUrl`. `data.publicUrl` is where the object will be readable after the upload.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"mode":{"type":"string","enum":["light","dark","lightIcon","darkIcon","authLight","authDark","authOverlayLight","authOverlayDark","backgroundLight","backgroundDark","favicon","appleTouchIcon","favicon96","faviconSvg"]},"bucket":{"type":"string"},"objectKey":{"type":"string"},"publicUrl":{"type":"string"},"uploadUrl":{"$ref":"#/components/schemas/HTTPURL"},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"}},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["mode","bucket","objectKey","publicUrl","uploadUrl","method"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"mode":"light","bucket":"dalp-public","objectKey":"logos/northwind-coffee/light.png","publicUrl":"https://assets.northwind.example/logos/northwind-coffee/light.png","uploadUrl":"https://assets.northwind.example/upload/logos/northwind-coffee/light.png","method":"PUT"},"links":{"self":"/v2/settings/theme-logo-uploads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a short-lived PUT URL for one logo or image slot on the authenticated organization. fileSize must be between 1 byte and 5 MiB. The platform does not store the file on this call; you PUT the bytes to uploadUrl. Repeating the call issues a new URL.","summary":"Request an organization theme logo upload","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["light","dark","lightIcon","darkIcon","authLight","authDark","authOverlayLight","authOverlayDark","backgroundLight","backgroundDark","favicon","appleTouchIcon","favicon96","faviconSvg"]},"fileName":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","enum":["image/svg+xml","image/png","image/jpeg","image/webp","image/x-icon","image/vnd.microsoft.icon"]},"fileSize":{"type":"integer","minimum":1,"maximum":5242880},"previousUrl":{"type":"string"}},"required":["mode","fileName","contentType","fileSize"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/theme-logo-proxy-uploads":{"post":{"tags":["Platform settings"],"operationId":"platform.settings.settingsThemeProxyUploadLogo","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Stored logo after a proxy upload. `data.publicUrl` is the object the theme can reference.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"mode":{"type":"string","enum":["light","dark","lightIcon","darkIcon","authLight","authDark","authOverlayLight","authOverlayDark","backgroundLight","backgroundDark","favicon","appleTouchIcon","favicon96","faviconSvg"]},"objectKey":{"type":"string"},"publicUrl":{"type":"string"},"etag":{"type":"string"}},"required":["mode","objectKey","publicUrl"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"mode":"light","objectKey":"logos/northwind-coffee/light.png","publicUrl":"https://assets.northwind.example/logos/northwind-coffee/light.png"},"links":{"self":"/v2/settings/theme-logo-proxy-uploads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores one logo or image slot from base64 fileData and returns the public object URL. Use this when the browser cannot PUT directly to object storage. Encoded data must stay within 7 MiB. Repeating the call stores a new object.","summary":"Upload an organization theme logo through the platform","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["light","dark","lightIcon","darkIcon","authLight","authDark","authOverlayLight","authOverlayDark","backgroundLight","backgroundDark","favicon","appleTouchIcon","favicon96","faviconSvg"]},"fileName":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","enum":["image/svg+xml","image/png","image/jpeg","image/webp","image/x-icon","image/vnd.microsoft.icon"]},"fileData":{"type":"string","minLength":1,"maxLength":7340032},"previousUrl":{"type":"string"}},"required":["mode","fileName","contentType","fileData"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/global-theme":{"get":{"tags":["Platform settings"],"operationId":"platform.settings.settingsGlobalThemeGet","parameters":[],"responses":{"200":{"description":"Organization whose theme every tenant inherits. Both fields are null when global theming is off.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"orgId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"orgName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["orgId","orgName"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"orgId":"org_northwind_coffee","orgName":"Northwind Coffee"},"links":{"self":"/v2/settings/global-theme"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the organization whose theme every tenant inherits, or null fields when global theming is off. The call is a stored read and is safe to retry.","summary":"Read the global theme source","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Platform settings"],"operationId":"platform.settings.settingsGlobalThemeSet","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Whether the platform stored the global theme source.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true},"links":{"self":"/v2/settings/global-theme"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Selects the organization whose theme every tenant inherits, or disables global theming when orgId is null. Only a platform administrator can write this. An unknown organization returns 404. The write waits until the stored source is updated. Repeating the same orgId stores the same source again.","summary":"Set the global theme source organization","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"orgId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["orgId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-class-definitions":{"get":{"tags":["Asset design"],"operationId":"platform.settings.assetClassDefinitionsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isHidden":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of asset class definitions visible to the active organization. `meta.total` counts every matching definition rather than the rows on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","slug","description","isSystem","isHidden","organizationId","createdBy","createdAt","updatedAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"acd_northwind_equity","name":"Equity","description":"Shares in Northwind Coffee operating companies","slug":"equity","isSystem":false,"isHidden":false,"organizationId":"org_northwind_coffee","createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/settings/asset-class-definitions?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/settings/asset-class-definitions?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/settings/asset-class-definitions?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of asset class definitions visible to the active organization, including system classes unless filtered out. Default sort is name. Filter with filter[name], filter[isSystem], filter[isHidden], filter[createdAt], filter[updatedAt], or filter[q]. The page is stored settings data. Repeating the read is safe.","summary":"Page through asset class definitions","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Asset design"],"operationId":"platform.settings.assetClassDefinitionsCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored asset class. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","slug","description","isSystem","isHidden","organizationId","createdBy","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"acd_northwind_equity","name":"Equity","description":"Shares in Northwind Coffee operating companies","slug":"equity","isSystem":false,"isHidden":false,"organizationId":"org_northwind_coffee","createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/asset-class-definitions/acd_northwind_equity"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates an asset class in the active organization. name is required. slug is kebab-case and is derived from the name when omitted. The write waits until the row is stored and is not queued. A second call with the same name or slug fails uniqueness.","summary":"Create an asset class definition","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["name"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-class-definitions/{id}":{"get":{"tags":["Asset design"],"operationId":"platform.settings.assetClassDefinitionsRead","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The stored asset class. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","slug","description","isSystem","isHidden","organizationId","createdBy","createdAt","updatedAt"],"additionalProperties":false},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"acd_northwind_equity","name":"Equity","description":"Shares in Northwind Coffee operating companies","slug":"equity","isSystem":false,"isHidden":false,"organizationId":"org_northwind_coffee","createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/asset-class-definitions/acd_northwind_equity"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the asset class named by the id path parameter. The id is the identifier the platform assigned at create time. A missing or other-organization identifier returns an error. The call is a stored read and is safe to retry.","summary":"Read an asset class definition","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Asset design"],"operationId":"platform.settings.assetClassDefinitionsUpdate","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored asset class. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","slug","description","isSystem","isHidden","organizationId","createdBy","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"acd_northwind_equity","name":"Equity","description":"Shares in Northwind Coffee operating companies","slug":"equity","isSystem":false,"isHidden":false,"organizationId":"org_northwind_coffee","createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/asset-class-definitions/acd_northwind_equity"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Updates the named asset class in the active organization. Every body field is optional and omitted fields stay unchanged. isHidden hides or shows the class for this organization. The write waits until the row is stored. Repeating an identical body stores the same fields again.","summary":"Update an asset class definition","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"isHidden":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Asset design"],"operationId":"platform.settings.assetClassDefinitionsDelete","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The named asset class is gone from the active organization. data is null because no replacement row remains. Treat HTTP 200 plus this body as confirmation, then refresh the asset-class list. A later delete of the same id returns an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the asset class named by the id path parameter from the active organization. System classes cannot be deleted. A missing identifier returns an error. The delete waits until the row is gone. Repeating the call after a successful delete returns an error.","summary":"Delete an asset class definition","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-type-templates":{"get":{"tags":["Asset design"],"operationId":"platform.settings.assetTypeTemplatesList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"assetClass":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isDraft":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isHidden":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isPublished":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of asset type templates visible to the active organization. Each row's `isPublished` says whether the active organization offers that template for issuance. `meta.total` counts every matching template rather than the rows on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetClass":{"type":"string","minLength":1},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},{"type":"null"}]},"featureConfig":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},{"type":"null"}]},"hiddenFromSidebar":{"type":"boolean"},"feedMaxStalenessSeconds":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":78},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"complianceTemplateId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"structure":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false},{"type":"null"}]},"structures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isPublished":{"type":"boolean"},"publishedStructures":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the structure is a DALP library structure. Only a library structure's name is translated from the catalog."}},"required":["id","name","slug","isSystem"],"additionalProperties":false},"description":"The instrument structures published for the organisation that use this template. While any is listed, the template cannot be unpublished."}},"required":["id","name","slug","description","assetClass","typeId","baseAssetType","isSystem","isDraft","isHidden","organizationId","version","requiredFeatures","metadataSchema","featureConfig","createdBy","createdAt","updatedAt","isPublished","publishedStructures"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"att_northwind_registered_bond","name":"Registered bond","slug":"registered-bond","description":"EUR registered bond issued by Northwind Coffee","assetClass":"fixed-income","typeId":"bond","baseAssetType":"bond","instrumentType":"equity","isSystem":false,"isDraft":false,"isHidden":false,"organizationId":"org_northwind_coffee","version":1,"requiredFeatures":["historical-balances"],"capabilities":["share-capital"],"metadataSchema":null,"featureConfig":null,"hiddenFromSidebar":false,"feedMaxStalenessSeconds":"0","assetClassId":"example","complianceTemplateId":"example","structure":{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]},"structures":[{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]}],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","isPublished":true,"publishedStructures":[{"id":"example","name":"example","slug":"example","isSystem":false}]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/settings/asset-type-templates?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/settings/asset-type-templates?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/settings/asset-type-templates?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of asset type templates visible to the active organization, including system templates unless filtered out. Default sort is name. Filter with filter[name], filter[slug], filter[assetClass], filter[typeId], filter[isDraft], filter[isSystem], filter[isHidden], filter[isPublished], filter[containsFeature], or filter[q]. The page is stored settings data. Repeating the read is safe.","summary":"Page through asset type templates","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Asset design"],"operationId":"platform.settings.assetTypeTemplatesCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored asset type template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetClass":{"type":"string","minLength":1},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},{"type":"null"}]},"featureConfig":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},{"type":"null"}]},"hiddenFromSidebar":{"type":"boolean"},"feedMaxStalenessSeconds":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":78},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"complianceTemplateId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"structure":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false},{"type":"null"}]},"structures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isPublished":{"type":"boolean"},"publishedStructures":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the structure is a DALP library structure. Only a library structure's name is translated from the catalog."}},"required":["id","name","slug","isSystem"],"additionalProperties":false},"description":"The instrument structures published for the organisation that use this template. While any is listed, the template cannot be unpublished."}},"required":["id","name","slug","description","assetClass","typeId","baseAssetType","isSystem","isDraft","isHidden","organizationId","version","requiredFeatures","metadataSchema","featureConfig","createdBy","createdAt","updatedAt","isPublished","publishedStructures"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"att_northwind_registered_bond","name":"Registered bond","slug":"registered-bond","description":"EUR registered bond issued by Northwind Coffee","assetClass":"fixed-income","typeId":"bond","baseAssetType":"bond","instrumentType":"equity","isSystem":false,"isDraft":false,"isHidden":false,"organizationId":"org_northwind_coffee","version":1,"requiredFeatures":["historical-balances"],"capabilities":["share-capital"],"metadataSchema":null,"featureConfig":null,"hiddenFromSidebar":false,"feedMaxStalenessSeconds":"0","assetClassId":"example","complianceTemplateId":"example","structure":{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]},"structures":[{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]}],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","isPublished":true,"publishedStructures":[{"id":"example","name":"example","slug":"example","isSystem":false}]},"links":{"self":"/v2/settings/asset-type-templates/att_northwind_registered_bond"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_FEATURES_UNRESOLVABLE","CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14094","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_FEATURES_UNRESOLVABLE","status":422,"message":"The template's required features are incomplete or conflict: 0xabababababababababababababababababababab","data":{"id":"DALP-14094","why":"A feature in `requiredFeatures` depends on a feature the template does not carry, or two carried features cannot run on the same token. `data.reason` names each feature involved.","fix":"Add every named dependency to `requiredFeatures`, or remove one feature from each conflicting pair, then save or publish the template again.","retryable":false,"category":"domain","reason":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a draft asset type template in the active organization. baseAssetType is the deployable type that sets pricing fields. Optional assetClassId and complianceTemplateId link the template to those settings. The write waits until the row is stored and is not queued. Name must be unique in the organization.","summary":"Create an asset type template","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"type":"string"},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"assetClassId":{"type":"string","minLength":1},"complianceTemplateId":{"type":"string","minLength":1},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"featureConfig":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128}},"required":["name","typeId","baseAssetType"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-type-templates/{id}":{"get":{"tags":["Asset design"],"operationId":"platform.settings.assetTypeTemplatesRead","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The stored asset type template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetClass":{"type":"string","minLength":1},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},{"type":"null"}]},"featureConfig":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},{"type":"null"}]},"hiddenFromSidebar":{"type":"boolean"},"feedMaxStalenessSeconds":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":78},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"complianceTemplateId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"structure":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false},{"type":"null"}]},"structures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isPublished":{"type":"boolean"},"publishedStructures":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the structure is a DALP library structure. Only a library structure's name is translated from the catalog."}},"required":["id","name","slug","isSystem"],"additionalProperties":false},"description":"The instrument structures published for the organisation that use this template. While any is listed, the template cannot be unpublished."}},"required":["id","name","slug","description","assetClass","typeId","baseAssetType","isSystem","isDraft","isHidden","organizationId","version","requiredFeatures","metadataSchema","featureConfig","createdBy","createdAt","updatedAt","isPublished","publishedStructures"],"additionalProperties":false},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"att_northwind_registered_bond","name":"Registered bond","slug":"registered-bond","description":"EUR registered bond issued by Northwind Coffee","assetClass":"fixed-income","typeId":"bond","baseAssetType":"bond","instrumentType":"equity","isSystem":false,"isDraft":false,"isHidden":false,"organizationId":"org_northwind_coffee","version":1,"requiredFeatures":["historical-balances"],"capabilities":["share-capital"],"metadataSchema":null,"featureConfig":null,"hiddenFromSidebar":false,"feedMaxStalenessSeconds":"0","assetClassId":"example","complianceTemplateId":"example","structure":{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]},"structures":[{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]}],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","isPublished":true,"publishedStructures":[{"id":"example","name":"example","slug":"example","isSystem":false}]},"links":{"self":"/v2/settings/asset-type-templates/att_northwind_registered_bond"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the asset type template named by the id path parameter. The id is the identifier the platform assigned at create time. A missing or other-organization identifier returns an error. The call is a stored read and is safe to retry.","summary":"Read an asset type template","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Asset design"],"operationId":"platform.settings.assetTypeTemplatesUpdate","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored asset type template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetClass":{"type":"string","minLength":1},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},{"type":"null"}]},"featureConfig":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},{"type":"null"}]},"hiddenFromSidebar":{"type":"boolean"},"feedMaxStalenessSeconds":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":78},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"complianceTemplateId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"structure":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false},{"type":"null"}]},"structures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isPublished":{"type":"boolean"},"publishedStructures":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the structure is a DALP library structure. Only a library structure's name is translated from the catalog."}},"required":["id","name","slug","isSystem"],"additionalProperties":false},"description":"The instrument structures published for the organisation that use this template. While any is listed, the template cannot be unpublished."}},"required":["id","name","slug","description","assetClass","typeId","baseAssetType","isSystem","isDraft","isHidden","organizationId","version","requiredFeatures","metadataSchema","featureConfig","createdBy","createdAt","updatedAt","isPublished","publishedStructures"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"att_northwind_registered_bond","name":"Registered bond","slug":"registered-bond","description":"EUR registered bond issued by Northwind Coffee","assetClass":"fixed-income","typeId":"bond","baseAssetType":"bond","instrumentType":"equity","isSystem":false,"isDraft":false,"isHidden":false,"organizationId":"org_northwind_coffee","version":1,"requiredFeatures":["historical-balances"],"capabilities":["share-capital"],"metadataSchema":null,"featureConfig":null,"hiddenFromSidebar":false,"feedMaxStalenessSeconds":"0","assetClassId":"example","complianceTemplateId":"example","structure":{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]},"structures":[{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]}],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","isPublished":true,"publishedStructures":[{"id":"example","name":"example","slug":"example","isSystem":false}]},"links":{"self":"/v2/settings/asset-type-templates/att_northwind_registered_bond"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_STORAGE_LOCKED","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12114","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_STORAGE_LOCKED","status":409,"message":"The storage or mutability of a metadata field cannot change while deployed tokens use the template","data":{"id":"DALP-12114","why":"Tokens deployed from the template already carry metadata under its keys; moving a field between on-chain and off-chain storage would leave one key in both stores, removing an immutable field would orphan a value that cannot change, and loosening an immutable field would let a later write replace a value that was immutable when it was written. `data.keys` lists the locked fields.","fix":"Keep the storage and mutability of those fields as they are, or add a new field under a key no deployed token holds.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_FEATURES_UNRESOLVABLE","CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14094","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_FEATURES_UNRESOLVABLE","status":422,"message":"The template's required features are incomplete or conflict: 0xabababababababababababababababababababab","data":{"id":"DALP-14094","why":"A feature in `requiredFeatures` depends on a feature the template does not carry, or two carried features cannot run on the same token. `data.reason` names each feature involved.","fix":"Add every named dependency to `requiredFeatures`, or remove one feature from each conflicting pair, then save or publish the template again.","retryable":false,"category":"domain","reason":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Updates the named draft or published template in the active organization. Every body field is optional and omitted fields stay unchanged. baseAssetType cannot change after publish. isHidden hides or shows the template for this organization. The write waits until the row is stored. Repeating an identical body stores the same fields again.","summary":"Update an asset type template","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"complianceTemplateId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},{"type":"null"}]},"featureConfig":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},{"type":"null"}]},"hiddenFromSidebar":{"type":"boolean"},"isHidden":{"type":"boolean"}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Asset design"],"operationId":"platform.settings.assetTypeTemplatesDelete","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The named asset type template is gone from the active organization. data is null because no replacement row remains. Treat HTTP 200 plus this body as confirmation, then refresh the template list. A later delete of the same id returns an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the asset type template named by the id path parameter from the active organization. System templates cannot be deleted. A missing identifier returns an error. The delete waits until the row is gone. Repeating the call after a successful delete returns an error.","summary":"Delete an asset type template","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-type-templates/{assetTypeTemplateId}/publication":{"put":{"tags":["Asset design"],"operationId":"platform.settings.assetTypeTemplatesPublication","parameters":[{"name":"assetTypeTemplateId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored asset type template with `isPublished` matching the requested state. Reuse `data.id` for later reads or changes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetClass":{"type":"string","minLength":1},"typeId":{"type":"string","minLength":1},"baseAssetType":{"$ref":"#/components/schemas/AssetType"},"instrumentType":{"$ref":"#/components/schemas/InstrumentType"},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"isHidden":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"requiredFeatures":{"type":"array","items":{"$ref":"#/components/schemas/TokenFeatureId"}},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"}},"metadataSchema":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},{"type":"null"}]},"featureConfig":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},{"type":"null"}]},"hiddenFromSidebar":{"type":"boolean"},"feedMaxStalenessSeconds":{"anyOf":[{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":78},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"complianceTemplateId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"structure":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false},{"type":"null"}]},"structures":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"isSystem":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem"],"additionalProperties":false}}},"required":["id","slug","name","description","isSystem","revision","role","members"],"additionalProperties":false}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isPublished":{"type":"boolean"},"publishedStructures":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"name":{"type":"string","minLength":1,"maxLength":255},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the structure is a DALP library structure. Only a library structure's name is translated from the catalog."}},"required":["id","name","slug","isSystem"],"additionalProperties":false},"description":"The instrument structures published for the organisation that use this template. While any is listed, the template cannot be unpublished."}},"required":["id","name","slug","description","assetClass","typeId","baseAssetType","isSystem","isDraft","isHidden","organizationId","version","requiredFeatures","metadataSchema","featureConfig","createdBy","createdAt","updatedAt","isPublished","publishedStructures"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"att_northwind_registered_bond","name":"Registered bond","slug":"registered-bond","description":"EUR registered bond issued by Northwind Coffee","assetClass":"fixed-income","typeId":"bond","baseAssetType":"bond","instrumentType":"equity","isSystem":false,"isDraft":false,"isHidden":false,"organizationId":"org_northwind_coffee","version":1,"requiredFeatures":["historical-balances"],"capabilities":["share-capital"],"metadataSchema":null,"featureConfig":null,"hiddenFromSidebar":false,"feedMaxStalenessSeconds":"0","assetClassId":"example","complianceTemplateId":"example","structure":{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]},"structures":[{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"revision":1,"role":"example","members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false}]}],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","isPublished":true,"publishedStructures":[{"id":"example","name":"example","slug":"example","isSystem":false}]},"links":{"self":"/v2/settings/asset-type-templates/att_northwind_registered_bond"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_UNPUBLISHABLE","ASSET_TYPE_TEMPLATE_USED_BY_PUBLISHED_STRUCTURE","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14018","DALP-14023","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_UNPUBLISHABLE","status":409,"message":"The asset type template is not published, so it cannot be unpublished","data":{"id":"DALP-14018","why":"The template is still a draft, or your organization already has it unpublished. Unpublishing applies only to a template your organization currently offers for issuance.","fix":"Read the template and check `isDraft` and `isPublished`. Publish a draft once it is ready; leave an unpublished template as it is.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_FEATURES_UNRESOLVABLE","CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14094","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_FEATURES_UNRESOLVABLE","status":422,"message":"The template's required features are incomplete or conflict: 0xabababababababababababababababababababab","data":{"id":"DALP-14094","why":"A feature in `requiredFeatures` depends on a feature the template does not carry, or two carried features cannot run on the same token. `data.reason` names each feature involved.","fix":"Add every named dependency to `requiredFeatures`, or remove one feature from each conflicting pair, then save or publish the template again.","retryable":false,"category":"domain","reason":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets `published` for the named asset type template in the active organization and returns the stored record. A draft the organization owns must pass its readiness check when published. A DALP Library template and an organization's publication choice change only for the active organization. A missing identifier or unchanged state returns an error. The write waits until the publication is stored.","summary":"Set an asset type template's publication state","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"published":{"type":"boolean"}},"required":["published"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/profile-sections":{"get":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"retired":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"position":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of profile sections visible to the active organization: its own templates plus every system template. `meta.total` counts every matching template rather than the rows on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"isSystem":{"type":"boolean"},"retired":{"type":"boolean"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","systemAddress","name","slug","description","metadataSchema","isSystem","retired","position","createdAt","updatedAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"019c0000-0000-7000-8000-00000000aa01","organizationId":"org_northwind_coffee","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Investor groups","slug":"investor-groups","description":"Groups investors for reporting and records the KYC tier as an on-chain claim.","metadataSchema":{"investorGroup":{"type":"enum","mutability":"restricted-mutable","storage":"offchain","label":"Investor group","options":["retail","professional","institutional"]},"kycTier":{"type":"enum","mutability":"restricted-mutable","storage":"onchain","label":"KYC tier","options":["basic","enhanced"]}},"isSystem":false,"retired":false,"position":1,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/settings/profile-sections?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/settings/profile-sections?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/settings/profile-sections?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the active organization's profile sections plus the read-only system templates, in position order, then by name, unless the query says otherwise. Filter on name, isSystem, createdAt, or updatedAt, or search across names.","summary":"Page through profile sections","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored profile section. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"isSystem":{"type":"boolean"},"retired":{"type":"boolean"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","systemAddress","name","slug","description","metadataSchema","isSystem","retired","position","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-00000000aa01","organizationId":"org_northwind_coffee","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Investor groups","slug":"investor-groups","description":"Groups investors for reporting and records the KYC tier as an on-chain claim.","metadataSchema":{"investorGroup":{"type":"enum","mutability":"restricted-mutable","storage":"offchain","label":"Investor group","options":["retail","professional","institutional"]},"kycTier":{"type":"enum","mutability":"restricted-mutable","storage":"onchain","label":"KYC tier","options":["basic","enhanced"]}},"isSystem":false,"retired":false,"position":1,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/profile-sections/019c0000-0000-7000-8000-00000000aa01"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PROFILE_SECTION_SYSTEM_SLUG_TAKEN","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12140","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores a template owned by the active organization. Every field is stored off-chain and names its audience; an on-chain field returns 400. A duplicate name within the organization returns 409.","summary":"Create a profile section","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"description":{"type":"string"},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"position":{"type":"integer","minimum":0,"maximum":2147483647},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["name","metadataSchema"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/profile-sections/{id}":{"get":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsRead","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true}],"responses":{"200":{"description":"The stored profile section. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"isSystem":{"type":"boolean"},"retired":{"type":"boolean"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","systemAddress","name","slug","description","metadataSchema","isSystem","retired","position","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-00000000aa01","organizationId":"org_northwind_coffee","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Investor groups","slug":"investor-groups","description":"Groups investors for reporting and records the KYC tier as an on-chain claim.","metadataSchema":{"investorGroup":{"type":"enum","mutability":"restricted-mutable","storage":"offchain","label":"Investor group","options":["retail","professional","institutional"]},"kycTier":{"type":"enum","mutability":"restricted-mutable","storage":"onchain","label":"KYC tier","options":["basic","enhanced"]}},"isSystem":false,"retired":false,"position":1,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/profile-sections/019c0000-0000-7000-8000-00000000aa01"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","PROFILE_SECTION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12110","DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one template the active organization can see: its own or a system template. Another organization's template answers 404.","summary":"Read a profile section","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsUpdate","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored profile section. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"isSystem":{"type":"boolean"},"retired":{"type":"boolean"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","systemAddress","name","slug","description","metadataSchema","isSystem","retired","position","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-00000000aa01","organizationId":"org_northwind_coffee","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Investor groups","slug":"investor-groups","description":"Groups investors for reporting and records the KYC tier as an on-chain claim.","metadataSchema":{"investorGroup":{"type":"enum","mutability":"restricted-mutable","storage":"offchain","label":"Investor group","options":["retail","professional","institutional"]},"kycTier":{"type":"enum","mutability":"restricted-mutable","storage":"onchain","label":"KYC tier","options":["basic","enhanced"]}},"isSystem":false,"retired":false,"position":1,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/profile-sections/019c0000-0000-7000-8000-00000000aa01"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PROFILE_SECTION_SYSTEM_READONLY","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12113","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","PROFILE_SECTION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12110","DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","PROFILE_SECTION_STORAGE_LOCKED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12112","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes the name, description, or metadata schema of one organization template; the slug stays the one derived at creation. Omitted fields stay unchanged. Removing a field, or changing its storage, audience, type, choices, or loosening its mutability, returns 409 naming the keys once any profile revision of the organization filled the field. A system template returns 403.","summary":"Update a profile section","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"retired":{"type":"boolean","enum":[false]},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsDelete","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Successful delete acknowledgement. `data` is `null` because the resource no longer exists. Treat HTTP 200 plus this body as confirmation, not as a leftover item.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","PROFILE_SECTION_SYSTEM_READONLY","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12113","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","PROFILE_SECTION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12110","DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","PROFILE_SECTION_HOLDS_VALUES","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12151","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deletes one section of the active organization that no profile version filled. When a version filled one of its fields, the section returns 409 and stays; retire it instead. A system section returns 403, and another organization's section returns 404.","summary":"Delete a profile section","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/profile-sections/{id}/retire":{"post":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsRetire","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored profile section. Reuse `data.id` for later read, update, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"isSystem":{"type":"boolean"},"retired":{"type":"boolean"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","systemAddress","name","slug","description","metadataSchema","isSystem","retired","position","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-00000000aa01","organizationId":"org_northwind_coffee","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Investor groups","slug":"investor-groups","description":"Groups investors for reporting and records the KYC tier as an on-chain claim.","metadataSchema":{"investorGroup":{"type":"enum","mutability":"restricted-mutable","storage":"offchain","label":"Investor group","options":["retail","professional","institutional"]},"kycTier":{"type":"enum","mutability":"restricted-mutable","storage":"onchain","label":"KYC tier","options":["basic","enhanced"]}},"isSystem":false,"retired":false,"position":1,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/profile-sections/019c0000-0000-7000-8000-00000000aa01"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","PROFILE_SECTION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12110","DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires one section for the active organization: its own section is marked retired, and a system section is retired for this organization only. A retired section is no longer asked, shown, or required; earlier versions keep its values. Retiring twice succeeds. Another organization's section returns 404.","summary":"Retire a profile section","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/profile-sections/reorder":{"post":{"tags":["Participants"],"operationId":"platform.settings.profileSectionsReorder","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The sections the active organization still asks for, in their new order.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,253}\\S)?\\s*$"},"slug":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataSchema":{"type":"object","additionalProperties":{"anyOf":[{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["string"]},"minLength":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxLength":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["number"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["date"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["enum"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["isin"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["address"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["bps"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["percentage"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["currency-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["country-code"]},"options":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["lei"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["cusip"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["figi"]}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["decimal-money"]},"lowerBound":{"type":"string"},"upperBound":{"type":"string"}},"required":["mutability","label","type"],"additionalProperties":false},{"type":"object","properties":{"mutability":{"type":"string","enum":["immutable","restricted-mutable"]},"storage":{"type":"string","enum":["onchain","offchain"]},"audience":{"type":"string","enum":["user","manager"]},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"label":{"type":"string","minLength":1},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"type":{"type":"string","enum":["url"]}},"required":["mutability","label","type"],"additionalProperties":false}]}},"isSystem":{"type":"boolean"},"retired":{"type":"boolean"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","systemAddress","name","slug","description","metadataSchema","isSystem","retired","position","createdAt","updatedAt"],"additionalProperties":false}},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"019c0000-0000-7000-8000-00000000aa01","organizationId":"org_northwind_coffee","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Investor groups","slug":"investor-groups","description":"Groups investors for reporting and records the KYC tier as an on-chain claim.","metadataSchema":{"investorGroup":{"type":"enum","mutability":"restricted-mutable","storage":"offchain","label":"Investor group","options":["retail","professional","institutional"]},"kycTier":{"type":"enum","mutability":"restricted-mutable","storage":"onchain","label":"KYC tier","options":["basic","enhanced"]}},"isSystem":false,"retired":false,"position":1,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}],"links":{"self":"/v2/settings/profile-sections/reorder"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","PROFILE_SECTION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12110","DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Shows the named sections of the active organization in the given order, after the system sections. An id that is not one of the organization's own sections returns 404 and changes no position. Reorder the fields of one section by saving it with new field positions.","summary":"Order the profile sections","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"sectionIds":{"type":"array","items":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"minItems":1}},"required":["sectionIds"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/compliance-templates":{"get":{"tags":["Compliance rules"],"operationId":"platform.settings.complianceTemplatesList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"moduleSetVersion":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isDraft":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"jurisdiction":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"containsModule":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of compliance templates visible to the active organization. `meta.total` counts every matching template rather than the rows on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1}},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"moduleSetVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},"requiredControls":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","description","jurisdictions","isSystem","isDraft","moduleSetVersion","organizationId","version","modules","requiredControls","createdBy","createdAt","updatedAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"ct_northwind_eu_transfer","name":"EU transfer restrictions","description":"Transfer restrictions for Northwind Coffee securities issued in the EU","jurisdictions":["EU"],"isSystem":false,"isDraft":false,"moduleSetVersion":2,"organizationId":"org_northwind_coffee","version":1,"modules":[],"requiredControls":[],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/settings/compliance-templates?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/settings/compliance-templates?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/settings/compliance-templates?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of compliance templates visible to the active organization, including system templates unless filtered out. Default sort is name. Filter with filter[name], filter[jurisdiction], filter[isDraft], filter[moduleSetVersion], filter[isSystem], filter[containsModule], or filter[q]. The page is stored settings data. Repeating the read is safe.","summary":"Page through compliance templates","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Compliance rules"],"operationId":"platform.settings.complianceTemplatesCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored compliance template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1}},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"moduleSetVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},"requiredControls":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","description","jurisdictions","isSystem","isDraft","moduleSetVersion","organizationId","version","modules","requiredControls","createdBy","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"ct_northwind_eu_transfer","name":"EU transfer restrictions","description":"Transfer restrictions for Northwind Coffee securities issued in the EU","jurisdictions":["EU"],"isSystem":false,"isDraft":false,"moduleSetVersion":2,"organizationId":"org_northwind_coffee","version":1,"modules":[],"requiredControls":[],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/compliance-templates/ct_northwind_eu_transfer"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a draft compliance template in the active organization and returns the stored record. Name is trimmed and must be unique in the organization. Omitted jurisdictions, modules, and requiredControls become empty arrays. The write waits until the row is stored. A second call with the same name creates another draft or fails uniqueness.","summary":"Create a draft compliance template","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jurisdictions":{"anyOf":[{"$ref":"#/components/schemas/ComplianceTemplateJurisdictionsEncoded"},{"type":"null"}]},"moduleSetVersion":{"anyOf":[{"type":"number","enum":[1,2]},{"type":"null"}]},"legacy":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"modules":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},{"type":"null"}]},"requiredControls":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},{"type":"null"}]}},"required":["name"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/compliance-templates/{id}":{"get":{"tags":["Compliance rules"],"operationId":"platform.settings.complianceTemplatesRead","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The stored compliance template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1}},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"moduleSetVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},"requiredControls":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"usedBy":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTemplateInstrumentLink"},"description":"The instrument templates of the organisation that link this policy template. Deleting the policy template clears the link on each of them, published ones included."}},"required":["id","name","description","jurisdictions","isSystem","isDraft","moduleSetVersion","organizationId","version","modules","requiredControls","createdBy","createdAt","updatedAt","usedBy"],"additionalProperties":false},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"ct_northwind_eu_transfer","name":"EU transfer restrictions","description":"Transfer restrictions for Northwind Coffee securities issued in the EU","jurisdictions":["EU"],"isSystem":false,"isDraft":false,"moduleSetVersion":2,"organizationId":"org_northwind_coffee","version":1,"modules":[],"requiredControls":["address-block-list"],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z","usedBy":[{"id":"example","name":"example","isDraft":false,"isPublished":false}]},"links":{"self":"/v2/settings/compliance-templates/ct_northwind_eu_transfer"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the compliance template named by the id path parameter. The id is the identifier the platform assigned at create time. A missing or other-organization identifier returns an error. The call is a stored read and is safe to retry.","summary":"Read one compliance template","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Compliance rules"],"operationId":"platform.settings.complianceTemplatesUpdate","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored compliance template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1}},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"moduleSetVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},"requiredControls":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","description","jurisdictions","isSystem","isDraft","moduleSetVersion","organizationId","version","modules","requiredControls","createdBy","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"ct_northwind_eu_transfer","name":"EU transfer restrictions","description":"Transfer restrictions for Northwind Coffee securities issued in the EU","jurisdictions":["EU"],"isSystem":false,"isDraft":false,"moduleSetVersion":2,"organizationId":"org_northwind_coffee","version":1,"modules":[],"requiredControls":[],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/compliance-templates/ct_northwind_eu_transfer"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["COMPLIANCE_TEMPLATE_NOT_READY","CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-0687","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"COMPLIANCE_TEMPLATE_NOT_READY","status":422,"message":"Template is not ready to publish.","data":{"id":"DALP-0687","why":"The publish readiness check found at least one required control with no configured module of that type on the template; `data.gaps` names the specific controls.","fix":"Open the Controls and rules step for each control listed in `data.gaps`, configure a compatible module for it (or remove it from required controls), save the template, and retry publish.","retryable":false,"category":"domain","gaps":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the draft fields of the compliance template named by the id path parameter and returns the stored record. Published system templates reject metadata changes. A missing identifier returns an error. The write waits until the row is stored. Repeating an identical body stores the same fields again.","summary":"Update a draft compliance template","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"jurisdictions":{"anyOf":[{"$ref":"#/components/schemas/ComplianceTemplateJurisdictionsEncoded"},{"type":"null"}]},"modules":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},{"type":"null"}]},"requiredControls":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Compliance rules"],"operationId":"platform.settings.complianceTemplatesDelete","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The named compliance template is gone from the active organization. data is null because no replacement row remains. Treat HTTP 200 plus this body as confirmation, then refresh the compliance-template list. A later delete of the same id returns an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the compliance template named by the id path parameter from the active organization. System templates cannot be deleted. A missing identifier returns an error. The delete waits until the row is gone. Repeating the call after a successful delete returns an error.","summary":"Delete one compliance template","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/compliance-templates/{id}/publish":{"put":{"tags":["Compliance rules"],"operationId":"platform.settings.complianceTemplatesPublish","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored compliance template. Reuse `data.id` for later read, update, publish, or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1}},"isSystem":{"type":"boolean"},"isDraft":{"type":"boolean"},"moduleSetVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"modules":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"configurableInDesigner":{"type":"boolean","description":"Whether the designer may still change this entry."},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values"],"additionalProperties":false}},"requiredControls":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","description","jurisdictions","isSystem","isDraft","moduleSetVersion","organizationId","version","modules","requiredControls","createdBy","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"ct_northwind_eu_transfer","name":"EU transfer restrictions","description":"Transfer restrictions for Northwind Coffee securities issued in the EU","jurisdictions":["EU"],"isSystem":false,"isDraft":false,"moduleSetVersion":2,"organizationId":"org_northwind_coffee","version":1,"modules":[],"requiredControls":[],"createdBy":"user_northwind_owner","createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/compliance-templates/ct_northwind_eu_transfer"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Marks the named draft as published so new assets can start from it, and returns the stored record. An already published template returns 409. A template that is not ready to publish returns an error naming the gaps. A missing identifier returns an error. The write waits until the stored flag is published.","summary":"Publish one compliance template","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-setup/status":{"get":{"tags":["Organisation deployment"],"operationId":"platform.setup.platformSetupStatus","parameters":[],"responses":{"200":{"description":"Whether platform setup has been marked complete. `completed` is true only after a successful complete write. The call is a read and is safe to retry.","content":{"application/json":{"schema":{"type":"object","properties":{"completed":{"type":"boolean"}},"required":["completed"],"additionalProperties":false},"examples":{"example-1":{"value":{"completed":true}},"example-2":{"value":{"completed":false}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns whether a platform administrator has marked initial setup complete. The read is stored platform data, not a live probe of RPC or networks. completed is true only after a successful complete write. Repeating the read is safe.","summary":"Read platform setup status","x-dalp-auth":"session-or-api-key"}},"/api/v2/platform-setup/complete":{"post":{"tags":["Organisation deployment"],"operationId":"platform.setup.platformSetupComplete","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Platform setup is complete. `completed` is always true on this success path. At least one RPC upstream pool for an enabled network must exist before this write succeeds.","content":{"application/json":{"schema":{"type":"object","properties":{"completed":{"type":"boolean","enum":[true]}},"required":["completed"],"additionalProperties":false},"examples":{"example-1":{"value":{"completed":true}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records that initial platform setup is finished. Only a platform administrator can call this. At least one RPC upstream pool for an enabled network must exist or the write fails. The write waits until the stored flag is true. Completing setup a second time still requires an RPC pool and still returns completed true.","summary":"Mark platform setup complete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSetupCompleteInputEncoded"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/networks":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminNetworksList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of every network in the merged catalog, including disabled networks. `source` is database when a registry override is served. `hasBaseline` is true when deleting the row reverts to the values definition rather than removing the network.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"family":{"type":"string","enum":["evm","canton"]},"networkName":{"type":"string"},"chainName":{"anyOf":[{"type":"string"},{"type":"null"}]},"chain":{"anyOf":[{"type":"string"},{"type":"null"}]},"isDefault":{"type":"boolean"},"source":{"type":"string","enum":["config","database"]},"hasOverride":{"type":"boolean"},"rejection":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-definition","authentication-bearing-content","enabled-mismatch","chain-id-mismatch","reserved-network-name","second-default","default-not-enabled","duplicate-chain-id"]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"conflictingNetworkName":{"type":"string"}},"required":["code"],"additionalProperties":false},"hasBaseline":{"type":"boolean"},"enabled":{"type":"boolean"},"sync":{"type":"object","properties":{"status":{"type":"string","enum":["paused","catching_up","live"]},"lifecycleVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"historyComplete":{"type":"boolean"},"indexingContracts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trackedContracts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"committedHeight":{"anyOf":[{"type":"string"},{"type":"null"}]},"committedAgeMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"chainHeadBlock":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The chain head block read for this response. Null when the network is disabled or no RPC endpoint answered."},"stalled":{"type":"boolean","description":"True when indexing is not paused, the indexed data is behind the chain head, and it has committed no new block for at least 15 minutes."},"rebuild":{"anyOf":[{"$ref":"#/components/schemas/AdminNetworkRebuild"},{"type":"null"}]}},"required":["status","lifecycleVersion","historyComplete","indexingContracts","trackedContracts","committedHeight","committedAgeMs","chainHeadBlock","stalled","rebuild"],"additionalProperties":false},"newTokenDetection":{"$ref":"#/components/schemas/AdminNewTokenDetection"},"baseFee":{"$ref":"#/components/schemas/AdminNetworkBaseFee"},"gasEffective":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"organisation":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deployer","organisation"],"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxReasonableGas":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number"},"pauseWindowSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pauseSettleDelaySeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"},"sources":{"type":"object","properties":{"zeroGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"string","enum":["row","values","chain-default","default","detected"]},"organisation":{"type":"string","enum":["row","values","chain-default","default","detected"]}},"required":["deployer","organisation"],"additionalProperties":false},"deployFallbackGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"maxReasonableGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"feeCapBaseFeeMultiplier":{"type":"string","enum":["row","values","chain-default","default","detected"]},"pauseWindowSeconds":{"type":"string","enum":["row","values","chain-default","default","detected"]},"pauseSettleDelaySeconds":{"type":"string","enum":["row","values","chain-default","default","detected"]},"sponsorshipMaxGasCostCeiling":{"type":"string","enum":["row","values","chain-default","default","detected"]},"sponsorshipAutoMaxGasCost":{"type":"string","enum":["row","values","chain-default","default","detected"]}},"required":["zeroGas","opsAllowanceGas","deployFallbackGas","maxReasonableGas","feeCapBaseFeeMultiplier","pauseWindowSeconds","pauseSettleDelaySeconds","sponsorshipMaxGasCostCeiling","sponsorshipAutoMaxGasCost"],"additionalProperties":false}},"required":["zeroGas","opsAllowanceGas","deployFallbackGas","maxReasonableGas","feeCapBaseFeeMultiplier","pauseWindowSeconds","pauseSettleDelaySeconds","sponsorshipMaxGasCostCeiling","sponsorshipAutoMaxGasCost","sources"],"additionalProperties":false}},"required":["chainId","networkName","chainName","isDefault","source","hasBaseline","enabled"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"onboardingNetworkChoice":{"type":"boolean","description":"Whether organization onboarding offers every enabled EVM catalog network. When false, a new organization starts on the platform default network."}},"required":["total","onboardingNetworkChoice"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"chainId":11155111,"family":"evm","networkName":"sepolia","chainName":"sepolia","chain":"sepolia","isDefault":true,"source":"database","hasOverride":false,"rejection":{"code":"invalid-definition","chainId":0,"conflictingNetworkName":"example"},"hasBaseline":true,"enabled":true,"sync":{"status":"paused","lifecycleVersion":0,"historyComplete":false,"indexingContracts":0,"trackedContracts":0,"committedHeight":"example","committedAgeMs":0,"chainHeadBlock":"example","stalled":false,"rebuild":{"progressPct":0,"currentBlock":"example","targetBlock":"example","startedAt":"example"}},"newTokenDetection":{"status":"on","checkedAt":"example"},"baseFee":{"weiPerGas":"example","changedAt":"example"},"gasEffective":{"zeroGas":false,"opsAllowanceGas":{"deployer":5000000,"organisation":2000000},"deployFallbackGas":8000000,"maxReasonableGas":200000000,"feeCapBaseFeeMultiplier":2,"pauseWindowSeconds":86400,"pauseSettleDelaySeconds":2,"sponsorshipMaxGasCostCeiling":"1000000000000000000","sponsorshipAutoMaxGasCost":"100000000000000000","sources":{"zeroGas":"detected","opsAllowanceGas":{"deployer":"default","organisation":"default"},"deployFallbackGas":"default","maxReasonableGas":"default","feeCapBaseFeeMultiplier":"default","pauseWindowSeconds":"row","pauseSettleDelaySeconds":"chain-default","sponsorshipMaxGasCostCeiling":"default","sponsorshipAutoMaxGasCost":"default"}}}],"meta":{"total":1,"facets":{},"onboardingNetworkChoice":false},"links":{"self":"/v2/admin/networks?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/admin/networks?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/admin/networks?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of every network in the merged catalog, including disabled networks and the deployment default. Only a platform administrator can call this. source and hasBaseline tell whether a delete reverts to the values definition or removes the network. The default sort is chainId. The call is a read and is safe to retry.","summary":"List deployment networks","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/onboarding-network-choice":{"put":{"tags":["Platform administration"],"operationId":"platform.admin.onboardingNetworkChoiceUpdate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored onboarding network choice after the write.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OnboardingNetworkChoice"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"enabled":false},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets whether onboarding offers every enabled network or starts new organizations on the default network. Only a platform administrator may call it. The change takes effect at once. Repeating the call with the same value changes nothing. The response carries the stored value.","summary":"Set network choice at onboarding","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingNetworkChoice"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/networks/rejected":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminNetworksRejected","parameters":[{"name":"filter","in":"query","schema":{"type":"object","additionalProperties":true},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of stored network overrides rejected by the current deployment catalog. Reasons are stable codes with safe scalar context; stored definitions and parser details are never returned.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"networkName":{"type":"string"},"chainId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"family":{"type":"string","enum":["evm","canton"]},"enabled":{"type":"boolean"},"hasBaseline":{"type":"boolean"},"rejection":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-definition","authentication-bearing-content","enabled-mismatch","chain-id-mismatch","reserved-network-name","second-default","default-not-enabled","duplicate-chain-id"]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"conflictingNetworkName":{"type":"string"}},"required":["code"],"additionalProperties":false}},"required":["networkName","chainId","enabled","hasBaseline","rejection"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"snapshot":{"type":"string","description":"Opaque hash of the complete rejected-override collection. Every page from one stable collection has the same value."}},"required":["total","snapshot"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"networkName":"mainnet-shadow","chainId":1,"enabled":true,"hasBaseline":false,"rejection":{"code":"duplicate-chain-id","chainId":1,"conflictingNetworkName":"mainnet"}}],"meta":{"total":1,"snapshot":"0x1212121212121212121212121212121212121212121212121212121212121212"},"links":{"self":"/v2/admin/networks/rejected?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/admin/networks/rejected?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/admin/networks/rejected?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns stored network overrides that the current deployment catalog rejected. Each row contains safe lookup facts and a stable rejection code, never the stored definition or parser output. Only a platform administrator can call this. The default sort is chainId.","summary":"List rejected network overrides","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/networks/{networkName}/indexing":{"put":{"tags":["Platform administration"],"operationId":"platform.admin.adminNetworksIndexing","parameters":[{"name":"networkName","in":"path","schema":{"type":"string","minLength":1,"maxLength":128},"required":true},{"name":"if-match","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The named network's indexing lifecycle after the write, with the version the response also carries in its ETag. `pauseReason` names why the chain holds no new batch while `paused` is true, and is null while it is false.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AdminNetworkLifecycle"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"networkName":"sepolia","chainId":11155111,"paused":true,"pauseReason":"admin","version":4},"links":{"self":"/v2/admin/networks/sepolia/indexing"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Pauses or resumes indexing for the named EVM network. Send If-Match with the lifecycle version last read; a stale version returns 412 and stores nothing. The response carries the new lifecycle version in both its data and ETag.","summary":"Pause or resume network indexing","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminNetworkLifecycleInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/networks/{networkName}":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminNetworksRead","parameters":[{"name":"networkName","in":"path","schema":{"type":"string","minLength":1,"maxLength":128},"required":true}],"responses":{"200":{"description":"The stored registry row for this network. A 404 means the network has no stored override yet, which is the normal state for a network that comes from deployment configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"networkName":{"type":"string","minLength":1},"definition":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"test":{"anyOf":[{"type":"string","enum":["anvil","hardhat","ganache"]},{"type":"boolean","enum":[false]}]},"onDemandMining":{"type":"boolean"},"autoFundTestWallets":{"type":"boolean"},"contracts":{"type":"object","properties":{"directory":{"$ref":"#/components/schemas/EvmAddress"},"multicall3":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"blockCreated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address"],"additionalProperties":false}},"additionalProperties":false},"rpc":{"type":"object","properties":{"timeout":{"type":"integer","minimum":1000,"maximum":300000},"requestDeadlineMs":{"type":"integer","minimum":1000,"maximum":600000},"requestRpcDeadlineMs":{"type":"integer","minimum":1000,"maximum":300000},"retryCount":{"type":"integer","minimum":0,"maximum":10},"retryDelay":{"type":"integer","minimum":0,"maximum":60000},"retryBackoffFactor":{"type":"number","minimum":1,"maximum":10},"retryJitter":{"type":"number","minimum":0,"maximum":1},"retryMaxDelay":{"type":"integer","minimum":0,"maximum":300000},"maxUpstreamAttempts":{"type":"integer","minimum":1,"maximum":100},"methodTimeouts":{"type":"object","additionalProperties":{"type":"integer","minimum":1000,"maximum":300000}},"retryOverrides":{"type":"object","additionalProperties":{"type":"object","properties":{"retryCount":{"type":"integer","minimum":0,"maximum":10}},"additionalProperties":false}},"limits":{"type":"object","properties":{"maxAddressesPerCall":{"type":"integer","minimum":1,"maximum":500},"maxIndexerAddressesPerCall":{"type":"integer","minimum":1,"maximum":2000},"minAddressesForBloomPreflight":{"type":"integer","minimum":1,"maximum":2000},"maxBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"minBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"adaptiveBlockRange":{"type":"boolean"},"maxConcurrentCalls":{"type":"integer","minimum":1,"maximum":50},"adaptiveConcurrency":{"type":"boolean"}},"additionalProperties":false},"cache":{"type":"object","properties":{"enabled":{"type":"boolean"},"ttl":{"$ref":"#/components/schemas/TtlInput"},"unknownTtl":{"$ref":"#/components/schemas/TtlInput"},"staticTtl":{"$ref":"#/components/schemas/TtlInput"},"safetyBlocks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"health":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxBlockHeadLag":{"type":"integer","minimum":0,"maximum":9007199254740991},"minScore":{"type":"number","minimum":0,"maximum":1},"staleScoreMs":{"type":"integer","minimum":1,"maximum":9007199254740991},"pollIntervalMs":{"type":"integer","minimum":1000,"maximum":300000},"hysteresis":{"type":"number","minimum":0,"maximum":1},"minSwitchIntervalMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"penaltyHalfLifeMs":{"type":"integer","minimum":1,"maximum":9007199254740991}},"additionalProperties":false},"batch":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"batch":{"type":"object","properties":{"multicall":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"indexing":{"type":"object","properties":{"chunkSize":{"type":"integer","minimum":1,"maximum":50000},"minChunkSize":{"type":"integer","minimum":1,"maximum":50000},"maxChunkSize":{"type":"integer","minimum":1,"maximum":50000},"verifyBlockReceipts":{"type":"boolean"}},"additionalProperties":false},"gas":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":1,"maximum":2000000000},"organisation":{"type":"integer","minimum":1,"maximum":2000000000}},"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":1,"maximum":2000000000},"maxReasonableGas":{"type":"integer","minimum":0,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number","minimum":1,"maximum":50},"pauseWindowSeconds":{"type":"integer","minimum":60,"maximum":604800},"pauseSettleDelaySeconds":{"type":"integer","minimum":0,"maximum":3600},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"}},"additionalProperties":false},"supportsFinalizedTag":{"type":"boolean"},"finalityConfirmations":{"type":"integer","minimum":0,"maximum":9007199254740991},"reorgDepth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["chain"],"additionalProperties":false},{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"name":{"type":"string","minLength":1},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","minLength":1},"symbol":{"type":"string","maxLength":10},"decimals":{"type":"integer","minimum":0,"maximum":18}},"required":["name","symbol"],"additionalProperties":false},"blockExplorers":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string","minLength":1},"url":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048}},"required":["name","url"],"additionalProperties":false}},"enabled":{"type":"boolean"},"test":{"anyOf":[{"type":"string","enum":["anvil","hardhat","ganache"]},{"type":"boolean","enum":[false]}]},"onDemandMining":{"type":"boolean"},"autoFundTestWallets":{"type":"boolean"},"contracts":{"type":"object","properties":{"directory":{"$ref":"#/components/schemas/EvmAddress"},"multicall3":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"blockCreated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address"],"additionalProperties":false}},"additionalProperties":false},"rpc":{"type":"object","properties":{"timeout":{"type":"integer","minimum":1000,"maximum":300000},"requestDeadlineMs":{"type":"integer","minimum":1000,"maximum":600000},"requestRpcDeadlineMs":{"type":"integer","minimum":1000,"maximum":300000},"retryCount":{"type":"integer","minimum":0,"maximum":10},"retryDelay":{"type":"integer","minimum":0,"maximum":60000},"retryBackoffFactor":{"type":"number","minimum":1,"maximum":10},"retryJitter":{"type":"number","minimum":0,"maximum":1},"retryMaxDelay":{"type":"integer","minimum":0,"maximum":300000},"maxUpstreamAttempts":{"type":"integer","minimum":1,"maximum":100},"methodTimeouts":{"type":"object","additionalProperties":{"type":"integer","minimum":1000,"maximum":300000}},"retryOverrides":{"type":"object","additionalProperties":{"type":"object","properties":{"retryCount":{"type":"integer","minimum":0,"maximum":10}},"additionalProperties":false}},"limits":{"type":"object","properties":{"maxAddressesPerCall":{"type":"integer","minimum":1,"maximum":500},"maxIndexerAddressesPerCall":{"type":"integer","minimum":1,"maximum":2000},"minAddressesForBloomPreflight":{"type":"integer","minimum":1,"maximum":2000},"maxBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"minBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"adaptiveBlockRange":{"type":"boolean"},"maxConcurrentCalls":{"type":"integer","minimum":1,"maximum":50},"adaptiveConcurrency":{"type":"boolean"}},"additionalProperties":false},"cache":{"type":"object","properties":{"enabled":{"type":"boolean"},"ttl":{"$ref":"#/components/schemas/TtlInput"},"unknownTtl":{"$ref":"#/components/schemas/TtlInput"},"staticTtl":{"$ref":"#/components/schemas/TtlInput"},"safetyBlocks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"health":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxBlockHeadLag":{"type":"integer","minimum":0,"maximum":9007199254740991},"minScore":{"type":"number","minimum":0,"maximum":1},"staleScoreMs":{"type":"integer","minimum":1,"maximum":9007199254740991},"pollIntervalMs":{"type":"integer","minimum":1000,"maximum":300000},"hysteresis":{"type":"number","minimum":0,"maximum":1},"minSwitchIntervalMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"penaltyHalfLifeMs":{"type":"integer","minimum":1,"maximum":9007199254740991}},"additionalProperties":false},"batch":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"batch":{"type":"object","properties":{"multicall":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"indexing":{"type":"object","properties":{"chunkSize":{"type":"integer","minimum":1,"maximum":50000},"minChunkSize":{"type":"integer","minimum":1,"maximum":50000},"maxChunkSize":{"type":"integer","minimum":1,"maximum":50000},"verifyBlockReceipts":{"type":"boolean"}},"additionalProperties":false},"gas":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":1,"maximum":2000000000},"organisation":{"type":"integer","minimum":1,"maximum":2000000000}},"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":1,"maximum":2000000000},"maxReasonableGas":{"type":"integer","minimum":0,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number","minimum":1,"maximum":50},"pauseWindowSeconds":{"type":"integer","minimum":60,"maximum":604800},"pauseSettleDelaySeconds":{"type":"integer","minimum":0,"maximum":3600},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"}},"additionalProperties":false},"supportsFinalizedTag":{"type":"boolean"},"finalityConfirmations":{"type":"integer","minimum":0,"maximum":9007199254740991},"reorgDepth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["chainId","name"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"ledgerApiUrl":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048},"synchronizerId":{"type":"string","minLength":1},"participantUser":{"type":"string","minLength":1},"enabled":{"type":"boolean"}},"required":["family","ledgerApiUrl","synchronizerId","participantUser"],"additionalProperties":false}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991},"gasEffective":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"organisation":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deployer","organisation"],"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxReasonableGas":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number"},"pauseWindowSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pauseSettleDelaySeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"},"sources":{"type":"object","properties":{"zeroGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"string","enum":["row","values","chain-default","default","detected"]},"organisation":{"type":"string","enum":["row","values","chain-default","default","detected"]}},"required":["deployer","organisation"],"additionalProperties":false},"deployFallbackGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"maxReasonableGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"feeCapBaseFeeMultiplier":{"type":"string","enum":["row","values","chain-default","default","detected"]},"pauseWindowSeconds":{"type":"string","enum":["row","values","chain-default","default","detected"]},"pauseSettleDelaySeconds":{"type":"string","enum":["row","values","chain-default","default","detected"]},"sponsorshipMaxGasCostCeiling":{"type":"string","enum":["row","values","chain-default","default","detected"]},"sponsorshipAutoMaxGasCost":{"type":"string","enum":["row","values","chain-default","default","detected"]}},"required":["zeroGas","opsAllowanceGas","deployFallbackGas","maxReasonableGas","feeCapBaseFeeMultiplier","pauseWindowSeconds","pauseSettleDelaySeconds","sponsorshipMaxGasCostCeiling","sponsorshipAutoMaxGasCost"],"additionalProperties":false}},"required":["zeroGas","opsAllowanceGas","deployFallbackGas","maxReasonableGas","feeCapBaseFeeMultiplier","pauseWindowSeconds","pauseSettleDelaySeconds","sponsorshipMaxGasCostCeiling","sponsorshipAutoMaxGasCost","sources"],"additionalProperties":false}},"required":["networkName","definition","version"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"networkName":"sepolia","version":3,"definition":{"chain":"sepolia","enabled":true,"gas":{"pauseWindowSeconds":86400}},"gasEffective":{"zeroGas":false,"opsAllowanceGas":{"deployer":5000000,"organisation":2000000},"deployFallbackGas":8000000,"maxReasonableGas":200000000,"feeCapBaseFeeMultiplier":2,"pauseWindowSeconds":86400,"pauseSettleDelaySeconds":2,"sponsorshipMaxGasCostCeiling":"1000000000000000000","sponsorshipAutoMaxGasCost":"100000000000000000","sources":{"zeroGas":"detected","opsAllowanceGas":{"deployer":"default","organisation":"default"},"deployFallbackGas":"default","maxReasonableGas":"default","feeCapBaseFeeMultiplier":"default","pauseWindowSeconds":"row","pauseSettleDelaySeconds":"chain-default","sponsorshipMaxGasCostCeiling":"default","sponsorshipAutoMaxGasCost":"default"}}},"links":{"self":"/v2/admin/networks/sepolia"}}}}}},"headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the registry row stored for the named network, in the exact shape the write route accepts, plus the version to send back as If-Match. A 404 means the network has no stored row yet, which is normal for a network that comes from deployment configuration. Only a platform administrator can call this. The call is a read and is safe to retry.","summary":"Read a stored network definition","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Platform administration"],"operationId":"platform.admin.adminNetworksUpsert","parameters":[{"name":"networkName","in":"path","schema":{"type":"string","minLength":1,"maxLength":128},"required":true},{"name":"if-match","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The network as the merged catalog now serves it. Read `source` and `hasBaseline` to know whether a later delete reverts or removes the network.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"family":{"type":"string","enum":["evm","canton"]},"networkName":{"type":"string"},"chainName":{"anyOf":[{"type":"string"},{"type":"null"}]},"chain":{"anyOf":[{"type":"string"},{"type":"null"}]},"isDefault":{"type":"boolean"},"source":{"type":"string","enum":["config","database"]},"hasOverride":{"type":"boolean"},"rejection":{"type":"object","properties":{"code":{"type":"string","enum":["invalid-definition","authentication-bearing-content","enabled-mismatch","chain-id-mismatch","reserved-network-name","second-default","default-not-enabled","duplicate-chain-id"]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"conflictingNetworkName":{"type":"string"}},"required":["code"],"additionalProperties":false},"hasBaseline":{"type":"boolean"},"enabled":{"type":"boolean"},"sync":{"type":"object","properties":{"status":{"type":"string","enum":["paused","catching_up","live"]},"lifecycleVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"historyComplete":{"type":"boolean"},"indexingContracts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trackedContracts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"committedHeight":{"anyOf":[{"type":"string"},{"type":"null"}]},"committedAgeMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"chainHeadBlock":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The chain head block read for this response. Null when the network is disabled or no RPC endpoint answered."},"stalled":{"type":"boolean","description":"True when indexing is not paused, the indexed data is behind the chain head, and it has committed no new block for at least 15 minutes."},"rebuild":{"anyOf":[{"$ref":"#/components/schemas/AdminNetworkRebuild"},{"type":"null"}]}},"required":["status","lifecycleVersion","historyComplete","indexingContracts","trackedContracts","committedHeight","committedAgeMs","chainHeadBlock","stalled","rebuild"],"additionalProperties":false},"newTokenDetection":{"$ref":"#/components/schemas/AdminNewTokenDetection"},"baseFee":{"$ref":"#/components/schemas/AdminNetworkBaseFee"},"gasEffective":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"organisation":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["deployer","organisation"],"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxReasonableGas":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number"},"pauseWindowSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"pauseSettleDelaySeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"},"sources":{"type":"object","properties":{"zeroGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"string","enum":["row","values","chain-default","default","detected"]},"organisation":{"type":"string","enum":["row","values","chain-default","default","detected"]}},"required":["deployer","organisation"],"additionalProperties":false},"deployFallbackGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"maxReasonableGas":{"type":"string","enum":["row","values","chain-default","default","detected"]},"feeCapBaseFeeMultiplier":{"type":"string","enum":["row","values","chain-default","default","detected"]},"pauseWindowSeconds":{"type":"string","enum":["row","values","chain-default","default","detected"]},"pauseSettleDelaySeconds":{"type":"string","enum":["row","values","chain-default","default","detected"]},"sponsorshipMaxGasCostCeiling":{"type":"string","enum":["row","values","chain-default","default","detected"]},"sponsorshipAutoMaxGasCost":{"type":"string","enum":["row","values","chain-default","default","detected"]}},"required":["zeroGas","opsAllowanceGas","deployFallbackGas","maxReasonableGas","feeCapBaseFeeMultiplier","pauseWindowSeconds","pauseSettleDelaySeconds","sponsorshipMaxGasCostCeiling","sponsorshipAutoMaxGasCost"],"additionalProperties":false}},"required":["zeroGas","opsAllowanceGas","deployFallbackGas","maxReasonableGas","feeCapBaseFeeMultiplier","pauseWindowSeconds","pauseSettleDelaySeconds","sponsorshipMaxGasCostCeiling","sponsorshipAutoMaxGasCost","sources"],"additionalProperties":false}},"required":["chainId","networkName","chainName","isDefault","source","hasBaseline","enabled"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":11155111,"networkName":"sepolia","chainName":"sepolia","chain":"sepolia","isDefault":true,"source":"database","hasBaseline":true,"enabled":true,"gasEffective":{"zeroGas":false,"opsAllowanceGas":{"deployer":5000000,"organisation":2000000},"deployFallbackGas":8000000,"maxReasonableGas":200000000,"feeCapBaseFeeMultiplier":2,"pauseWindowSeconds":86400,"pauseSettleDelaySeconds":2,"sponsorshipMaxGasCostCeiling":"1000000000000000000","sponsorshipAutoMaxGasCost":"100000000000000000","sources":{"zeroGas":"detected","opsAllowanceGas":{"deployer":"default","organisation":"default"},"deployFallbackGas":"default","maxReasonableGas":"default","feeCapBaseFeeMultiplier":"default","pauseWindowSeconds":"row","pauseSettleDelaySeconds":"chain-default","sponsorshipMaxGasCostCeiling":"default","sponsorshipAutoMaxGasCost":"default"}}},"links":{"self":"/v2/admin/networks/sepolia"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.NETWORK_DEFINITION_INVALID","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-12369","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.NETWORK_CATALOG_INVALID","platform.http.NETWORK_HAS_UPSTREAM_POOL","platform.http.NETWORK_IN_USE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12368","DALP-12371","DALP-12372","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores a network definition under the path name. Send either a built-in viem alias (chain) or a custom definition (chainId and name). RPC endpoints and credentials belong on the upstream-pool route, not here. Extra properties such as default are rejected. Only a platform administrator can call this. Send If-Match with the version the read route returned to refuse a save that would overwrite someone else's change, or If-None-Match with * to store only when the network has no row yet; without either header the last write wins. Repeating an identical body stores the same definition again.","summary":"Create or replace a network definition","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"chain":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"test":{"anyOf":[{"type":"string","enum":["anvil","hardhat","ganache"]},{"type":"boolean","enum":[false]}]},"onDemandMining":{"type":"boolean"},"autoFundTestWallets":{"type":"boolean"},"contracts":{"type":"object","properties":{"directory":{"$ref":"#/components/schemas/EvmAddress"},"multicall3":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"blockCreated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address"],"additionalProperties":false}},"additionalProperties":false},"rpc":{"type":"object","properties":{"timeout":{"type":"integer","minimum":1000,"maximum":300000},"requestDeadlineMs":{"type":"integer","minimum":1000,"maximum":600000},"requestRpcDeadlineMs":{"type":"integer","minimum":1000,"maximum":300000},"retryCount":{"type":"integer","minimum":0,"maximum":10},"retryDelay":{"type":"integer","minimum":0,"maximum":60000},"retryBackoffFactor":{"type":"number","minimum":1,"maximum":10},"retryJitter":{"type":"number","minimum":0,"maximum":1},"retryMaxDelay":{"type":"integer","minimum":0,"maximum":300000},"maxUpstreamAttempts":{"type":"integer","minimum":1,"maximum":100},"methodTimeouts":{"type":"object","additionalProperties":{"type":"integer","minimum":1000,"maximum":300000}},"retryOverrides":{"type":"object","additionalProperties":{"type":"object","properties":{"retryCount":{"type":"integer","minimum":0,"maximum":10}},"additionalProperties":false}},"limits":{"type":"object","properties":{"maxAddressesPerCall":{"type":"integer","minimum":1,"maximum":500},"maxIndexerAddressesPerCall":{"type":"integer","minimum":1,"maximum":2000},"minAddressesForBloomPreflight":{"type":"integer","minimum":1,"maximum":2000},"maxBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"minBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"adaptiveBlockRange":{"type":"boolean"},"maxConcurrentCalls":{"type":"integer","minimum":1,"maximum":50},"adaptiveConcurrency":{"type":"boolean"}},"additionalProperties":false},"cache":{"type":"object","properties":{"enabled":{"type":"boolean"},"ttl":{"$ref":"#/components/schemas/TtlInput"},"unknownTtl":{"$ref":"#/components/schemas/TtlInput"},"staticTtl":{"$ref":"#/components/schemas/TtlInput"},"safetyBlocks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"health":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxBlockHeadLag":{"type":"integer","minimum":0,"maximum":9007199254740991},"minScore":{"type":"number","minimum":0,"maximum":1},"staleScoreMs":{"type":"integer","minimum":1,"maximum":9007199254740991},"pollIntervalMs":{"type":"integer","minimum":1000,"maximum":300000},"hysteresis":{"type":"number","minimum":0,"maximum":1},"minSwitchIntervalMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"penaltyHalfLifeMs":{"type":"integer","minimum":1,"maximum":9007199254740991}},"additionalProperties":false},"batch":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"batch":{"type":"object","properties":{"multicall":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"indexing":{"type":"object","properties":{"chunkSize":{"type":"integer","minimum":1,"maximum":50000},"minChunkSize":{"type":"integer","minimum":1,"maximum":50000},"maxChunkSize":{"type":"integer","minimum":1,"maximum":50000},"verifyBlockReceipts":{"type":"boolean"}},"additionalProperties":false},"gas":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":1,"maximum":2000000000},"organisation":{"type":"integer","minimum":1,"maximum":2000000000}},"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":1,"maximum":2000000000},"maxReasonableGas":{"type":"integer","minimum":0,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number","minimum":1,"maximum":50},"pauseWindowSeconds":{"type":"integer","minimum":60,"maximum":604800},"pauseSettleDelaySeconds":{"type":"integer","minimum":0,"maximum":3600},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"}},"additionalProperties":false},"supportsFinalizedTag":{"type":"boolean"},"finalityConfirmations":{"type":"integer","minimum":0,"maximum":9007199254740991},"reorgDepth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["chain"],"additionalProperties":false},{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"name":{"type":"string","minLength":1},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","minLength":1},"symbol":{"type":"string","maxLength":10},"decimals":{"type":"integer","minimum":0,"maximum":18}},"required":["name","symbol"],"additionalProperties":false},"blockExplorers":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string","minLength":1},"url":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048}},"required":["name","url"],"additionalProperties":false}},"enabled":{"type":"boolean"},"test":{"anyOf":[{"type":"string","enum":["anvil","hardhat","ganache"]},{"type":"boolean","enum":[false]}]},"onDemandMining":{"type":"boolean"},"autoFundTestWallets":{"type":"boolean"},"contracts":{"type":"object","properties":{"directory":{"$ref":"#/components/schemas/EvmAddress"},"multicall3":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"blockCreated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["address"],"additionalProperties":false}},"additionalProperties":false},"rpc":{"type":"object","properties":{"timeout":{"type":"integer","minimum":1000,"maximum":300000},"requestDeadlineMs":{"type":"integer","minimum":1000,"maximum":600000},"requestRpcDeadlineMs":{"type":"integer","minimum":1000,"maximum":300000},"retryCount":{"type":"integer","minimum":0,"maximum":10},"retryDelay":{"type":"integer","minimum":0,"maximum":60000},"retryBackoffFactor":{"type":"number","minimum":1,"maximum":10},"retryJitter":{"type":"number","minimum":0,"maximum":1},"retryMaxDelay":{"type":"integer","minimum":0,"maximum":300000},"maxUpstreamAttempts":{"type":"integer","minimum":1,"maximum":100},"methodTimeouts":{"type":"object","additionalProperties":{"type":"integer","minimum":1000,"maximum":300000}},"retryOverrides":{"type":"object","additionalProperties":{"type":"object","properties":{"retryCount":{"type":"integer","minimum":0,"maximum":10}},"additionalProperties":false}},"limits":{"type":"object","properties":{"maxAddressesPerCall":{"type":"integer","minimum":1,"maximum":500},"maxIndexerAddressesPerCall":{"type":"integer","minimum":1,"maximum":2000},"minAddressesForBloomPreflight":{"type":"integer","minimum":1,"maximum":2000},"maxBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"minBlockRangePerCall":{"type":"integer","minimum":1,"maximum":50000},"adaptiveBlockRange":{"type":"boolean"},"maxConcurrentCalls":{"type":"integer","minimum":1,"maximum":50},"adaptiveConcurrency":{"type":"boolean"}},"additionalProperties":false},"cache":{"type":"object","properties":{"enabled":{"type":"boolean"},"ttl":{"$ref":"#/components/schemas/TtlInput"},"unknownTtl":{"$ref":"#/components/schemas/TtlInput"},"staticTtl":{"$ref":"#/components/schemas/TtlInput"},"safetyBlocks":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"health":{"type":"object","properties":{"enabled":{"type":"boolean"},"maxBlockHeadLag":{"type":"integer","minimum":0,"maximum":9007199254740991},"minScore":{"type":"number","minimum":0,"maximum":1},"staleScoreMs":{"type":"integer","minimum":1,"maximum":9007199254740991},"pollIntervalMs":{"type":"integer","minimum":1000,"maximum":300000},"hysteresis":{"type":"number","minimum":0,"maximum":1},"minSwitchIntervalMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"penaltyHalfLifeMs":{"type":"integer","minimum":1,"maximum":9007199254740991}},"additionalProperties":false},"batch":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"batch":{"type":"object","properties":{"multicall":{"type":"object","properties":{"enabled":{"type":"boolean"},"batchSize":{"type":"integer","minimum":1,"maximum":10000},"wait":{"type":"integer","minimum":0,"maximum":1000}},"additionalProperties":false}},"additionalProperties":false},"indexing":{"type":"object","properties":{"chunkSize":{"type":"integer","minimum":1,"maximum":50000},"minChunkSize":{"type":"integer","minimum":1,"maximum":50000},"maxChunkSize":{"type":"integer","minimum":1,"maximum":50000},"verifyBlockReceipts":{"type":"boolean"}},"additionalProperties":false},"gas":{"type":"object","properties":{"zeroGas":{"type":"boolean"},"opsAllowanceGas":{"type":"object","properties":{"deployer":{"type":"integer","minimum":1,"maximum":2000000000},"organisation":{"type":"integer","minimum":1,"maximum":2000000000}},"additionalProperties":false},"deployFallbackGas":{"type":"integer","minimum":1,"maximum":2000000000},"maxReasonableGas":{"type":"integer","minimum":0,"maximum":9007199254740991},"feeCapBaseFeeMultiplier":{"type":"number","minimum":1,"maximum":50},"pauseWindowSeconds":{"type":"integer","minimum":60,"maximum":604800},"pauseSettleDelaySeconds":{"type":"integer","minimum":0,"maximum":3600},"sponsorshipMaxGasCostCeiling":{"type":"string"},"sponsorshipAutoMaxGasCost":{"type":"string"}},"additionalProperties":false},"supportsFinalizedTag":{"type":"boolean"},"finalityConfirmations":{"type":"integer","minimum":0,"maximum":9007199254740991},"reorgDepth":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["chainId","name"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"ledgerApiUrl":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048},"synchronizerId":{"type":"string","minLength":1},"participantUser":{"type":"string","minLength":1},"enabled":{"type":"boolean"}},"required":["family","ledgerApiUrl","synchronizerId","participantUser"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Platform administration"],"operationId":"platform.admin.adminNetworksDelete","parameters":[{"name":"networkName","in":"path","schema":{"type":"string","minLength":1,"maxLength":128},"required":true},{"name":"if-match","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The registry row is gone. `data` is null because no resource remains. When a values baseline exists the network is still served from that definition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","platform.http.NETWORK_CATALOG_INVALID","platform.http.NETWORK_HAS_UPSTREAM_POOL","platform.http.NETWORK_IN_USE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12368","DALP-12371","DALP-12372","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the registry row for the named network. When a values baseline exists, the network reverts to that definition and its RPC pool stays. When no baseline exists, the network leaves the catalog and its pool is cleared in the same write. A network still covering an organization system returns 409. Only a platform administrator can call this.","summary":"Delete a network definition","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/rpc-upstream-pools":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminRpcPoolsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"networkName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of RPC upstream pools. Credentials never appear; each upstream reports only whether a credential is stored. `meta.total` counts every matching pool.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"networkName":{"type":"string"},"source":{"type":"string","enum":["config","database"]},"enabled":{"type":"boolean"},"upstreams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"endpointUrl":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048},"providerType":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"authType":{"anyOf":[{"type":"string","enum":["apiKey","basic"]},{"type":"null"}]},"apiHeaderName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hasCredential":{"type":"boolean"},"credentialKeyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"upstreamId":{"type":"string","minLength":1}},"required":["endpointUrl","providerType","weight","authType","apiHeaderName","hasCredential","credentialKeyId"],"additionalProperties":false}}},"required":["networkName","source","enabled","upstreams"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"networkName":"sepolia","source":"database","enabled":true,"upstreams":[{"id":"9f2c7b41-5f6d-4d0a-9c2e-2b1a7d3e8c04","endpointUrl":"https://sepolia.rpc.northwind.example","providerType":"alchemy","weight":1,"authType":"apiKey","apiHeaderName":"Authorization","hasCredential":true,"credentialKeyId":"secret_northwind_sepolia_rpc","upstreamId":"up_northwind_sepolia_primary"}]}],"meta":{"total":1},"links":{"self":"/v2/admin/rpc-upstream-pools?sort=networkName&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/admin/rpc-upstream-pools?sort=networkName&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/admin/rpc-upstream-pools?sort=networkName&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of RPC upstream pools from the merged catalog. Only a platform administrator can call this. Filter by networkName. Credentials never appear; each upstream reports only whether a credential is stored. The call is a read and is safe to retry.","summary":"List RPC upstream pools","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/rpc-upstream-pools/{networkName}":{"put":{"tags":["Platform administration"],"operationId":"platform.admin.adminRpcPoolsUpsert","parameters":[{"name":"networkName","in":"path","schema":{"type":"string","minLength":1,"maxLength":128},"required":true},{"name":"if-match","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored pool for the named network after the write. Secrets stay encrypted; `hasCredential` is true when a credential is stored.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"networkName":{"type":"string"},"source":{"type":"string","enum":["config","database"]},"enabled":{"type":"boolean"},"upstreams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"endpointUrl":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048},"providerType":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"authType":{"anyOf":[{"type":"string","enum":["apiKey","basic"]},{"type":"null"}]},"apiHeaderName":{"anyOf":[{"type":"string"},{"type":"null"}]},"hasCredential":{"type":"boolean"},"credentialKeyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"upstreamId":{"type":"string","minLength":1}},"required":["endpointUrl","providerType","weight","authType","apiHeaderName","hasCredential","credentialKeyId"],"additionalProperties":false}}},"required":["networkName","source","enabled","upstreams"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"networkName":"sepolia","source":"database","enabled":true,"upstreams":[{"id":"9f2c7b41-5f6d-4d0a-9c2e-2b1a7d3e8c04","endpointUrl":"https://sepolia.rpc.northwind.example","providerType":"alchemy","weight":1,"authType":"apiKey","apiHeaderName":"Authorization","hasCredential":true,"credentialKeyId":"secret_northwind_sepolia_rpc","upstreamId":"up_northwind_sepolia_primary"}]},"links":{"self":"/v2/admin/rpc-upstream-pools/sepolia"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.NETWORK_DEFINITION_INVALID","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-12369","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the entire upstream list for the named network after a live probe of each endpoint. Only a platform administrator can call this. Send If-Match with the lifecycle version returned by the network indexing route to refuse a replacement that would overwrite another operator's endpoint change. The replacement commits as one unit with the lifecycle pause transition: an empty pool pauses indexing with endpoint-removed, and the first endpoint resumes it unless an administrator pause remains.","summary":"Replace an RPC upstream pool","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"upstreams":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"endpointUrl":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048},"providerType":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"weight":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"credential":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["apiKey"]},"headerName":{"type":"string","minLength":1,"maxLength":128},"value":{"type":"string","minLength":1}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["basic"]},"username":{"type":"string","minLength":1},"password":{"type":"string","minLength":1}},"required":["type","username","password"],"additionalProperties":false},{"type":"null"}]}},"required":["endpointUrl","providerType"],"additionalProperties":false}}},"required":["upstreams"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Platform administration"],"operationId":"platform.admin.adminRpcPoolsDelete","parameters":[{"name":"networkName","in":"path","schema":{"type":"string","minLength":1,"maxLength":128},"required":true},{"name":"if-match","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The pool is gone. `data` is null because no resource remains to return.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the stored upstream list for the named network. Only a platform administrator can call this. A network that still needs live RPC after this write falls back to deployment configuration. Repeating the call after a successful delete returns an empty data member again when the pool is already gone, or an error when the name is unknown.","summary":"Delete an RPC upstream pool","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/rpc-health":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminRpcHealth","parameters":[{"name":"networkName","in":"query","schema":{"type":"string","minLength":1,"maxLength":128},"required":false}],"responses":{"200":{"description":"Latest RPC health snapshot. `data.storeStatus` is available when the health store answered. Each network lists upstream liveness, lag, latency, and the currently serving upstream.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"storeStatus":{"type":"string","enum":["available","degraded"]},"generatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"networks":{"type":"array","items":{"type":"object","properties":{"networkName":{"type":"string","minLength":1},"source":{"type":"string","enum":["config","database"]},"storeStatus":{"type":"string","enum":["available","degraded"]},"currentServingUpstreamId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"upstreams":{"type":"array","items":{"type":"object","properties":{"upstreamId":{"type":"string","minLength":1},"endpointUrl":{"type":"string","pattern":"^https?:\\/\\/[^\\s]+$","maxLength":2048},"providerType":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[a-z][a-z0-9-]*$"},"weight":{"type":"integer","minimum":0,"maximum":9007199254740991},"liveness":{"type":"string","enum":["healthy","unhealthy","excluded","unknown"]},"blockHeadLag":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"finalizationLag":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"latencyMs":{"anyOf":[{"type":"number","minimum":0},{"type":"null"}]},"errorRate":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"score":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"currentServing":{"type":"boolean"},"lastEvent":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["failover","throttle"]},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"detail":{"type":"string"}},"required":["type","at","detail"],"additionalProperties":false},{"type":"null"}]}},"required":["upstreamId","endpointUrl","providerType","weight","liveness","blockHeadLag","finalizationLag","latencyMs","errorRate","score","updatedAt","currentServing","lastEvent"],"additionalProperties":false}}},"required":["networkName","source","currentServingUpstreamId","upstreams"],"additionalProperties":false}}},"required":["storeStatus","generatedAt","networks"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"storeStatus":"available","generatedAt":"2026-04-12T09:30:00.000Z","networks":[{"networkName":"sepolia","source":"database","currentServingUpstreamId":"up_northwind_sepolia_primary","upstreams":[{"upstreamId":"up_northwind_sepolia_primary","endpointUrl":"https://sepolia.rpc.northwind.example","providerType":"alchemy","weight":1,"liveness":"healthy","blockHeadLag":0,"finalizationLag":2,"latencyMs":48,"errorRate":0,"score":0.98,"updatedAt":"2026-04-12T09:30:00.000Z","currentServing":true,"lastEvent":null}]}]},"links":{"self":"/v2/admin/rpc-health"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the current liveness, lag, latency, and serving upstream for each stored pool. Optional networkName narrows the overview to one network. Only a platform administrator can call this. The call is a read of the latest health snapshot and is safe to retry.","summary":"Read RPC upstream health","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/organizations":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminOrganizationsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"archivedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of organizations. `meta.total` counts every matching organization rather than the rows on this page. `links.prev` and `links.next` are null at the ends of the collection.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/OrganizationId"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"logo":{"$ref":"#/components/schemas/HTTPURL"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"archivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"ownerCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"ownerEmails":{"type":"array","items":{"type":"string"}},"memberCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","name","slug","createdAt","ownerCount","ownerEmails","memberCount","assetCount"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"example","createdAt":"2026-03-04T09:12:41.000Z","archivedAt":"example","ownerCount":1,"ownerEmails":["owner@northwind.example"],"memberCount":3,"assetCount":2}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/admin/organizations?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/admin/organizations?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/admin/organizations?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of every organization on the platform, including archived rows, for a platform administrator. The page is stored data, not a live chain read. Paging uses page[limit] (default 50, maximum 200) and page[offset]. Sort by name, slug, createdAt, or archivedAt; the default is createdAt ascending. Filter with filter[name], filter[slug], filter[createdAt], filter[archivedAt], or filter[q]. The call is a read and is safe to retry.","summary":"Page through every organization","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/organizations/{organizationId}":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.organizationsRead","parameters":[{"name":"organizationId","in":"path","schema":{"type":"string","minLength":1,"description":"Tenant organization identifier"},"required":true}],"responses":{"200":{"description":"The organization with its owners and archive history. `data.archive` appears only while the organization is archived. `data.restoreName` appears only while it is archived and an active organization uses its name.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/OrganizationId"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"logo":{"$ref":"#/components/schemas/HTTPURL"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"archivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"ownerCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"ownerEmails":{"type":"array","items":{"type":"string"}},"memberCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"owners":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string","minLength":1},"email":{"type":"string"}},"required":["id"],"additionalProperties":false}},"archive":{"type":"object","properties":{"archivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"actor":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string","minLength":1},"email":{"type":"string"}},"required":["id"],"additionalProperties":false},"reason":{"type":"string","minLength":1}},"required":["archivedAt"],"additionalProperties":false},"restoreName":{"type":"string","minLength":1},"history":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string","enum":["archived","restored"]},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"actor":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string","minLength":1},"email":{"type":"string"}},"required":["id"],"additionalProperties":false},"reason":{"type":"string","minLength":1},"renamedFrom":{"type":"string","minLength":1}},"required":["kind","at"],"additionalProperties":false}}},"required":["id","name","slug","createdAt","ownerCount","ownerEmails","memberCount","assetCount","owners","history"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"org_northwind_coffee","name":"Northwind Coffee (2)","slug":"northwind-coffee","createdAt":"2026-03-04T09:12:41.000Z","ownerCount":1,"ownerEmails":["mara.lindqvist@northwind.example"],"memberCount":3,"assetCount":2,"owners":[{"id":"user_northwind_owner","name":"Mara Lindqvist","email":"mara.lindqvist@northwind.example"}],"history":[{"kind":"restored","at":"2026-03-25T11:20:00.000Z","actor":{"id":"user_platform_admin_tomas","name":"Tomas Reyes","email":"tomas.reyes@platform.example"},"reason":"The merge was cancelled","renamedFrom":"Northwind Coffee"},{"kind":"archived","at":"2026-03-10T08:45:00.000Z","actor":{"id":"user_platform_admin_priya","name":"Priya Nair","email":"priya.nair@platform.example"},"reason":"Merged into another organization"}]},"links":{"self":"/api/v2/admin/organizations/org_northwind_coffee"}}},"example-2":{"value":{"data":{"id":"org_fjord_capital","name":"Fjord Capital","slug":"fjord-capital","createdAt":"2026-02-11T13:00:00.000Z","archivedAt":"2026-04-12T09:30:00.000Z","ownerCount":2,"ownerEmails":["elena.vogt@fjord.example","jonas.berg@fjord.example"],"memberCount":5,"assetCount":0,"owners":[{"id":"user_fjord_owner_elena","name":"Elena Vogt","email":"elena.vogt@fjord.example"},{"id":"user_fjord_owner_jonas","name":"Jonas Berg","email":"jonas.berg@fjord.example"}],"archive":{"archivedAt":"2026-04-12T09:30:00.000Z","actor":{"id":"user_platform_admin_tomas","name":"Tomas Reyes","email":"tomas.reyes@platform.example"},"reason":"Customer offboarded after the bond programme closed"},"restoreName":"Fjord Capital (2)","history":[{"kind":"archived","at":"2026-04-12T09:30:00.000Z","actor":{"id":"user_platform_admin_tomas","name":"Tomas Reyes","email":"tomas.reyes@platform.example"},"reason":"Customer offboarded after the bond programme closed"}]},"links":{"self":"/api/v2/admin/organizations/org_fjord_capital"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one organization for a platform administrator: its name, slug, creation time, and owner, member, and asset counts, with `owners` listing each owner's name and email. An archived organization also returns `archive`, which holds the archive time, the administrator who archived it, and the reason. While an active organization uses the same name as an archived one, `restoreName` shows the name a restore would give the archived one. `history` lists every archive and restore, newest first. Each entry holds the kind (`archived` or `restored`), the time in `at`, the administrator in `actor`, an optional `reason`, and, on a restore that renamed the organization, the old name in `renamedFrom`. The data is stored, not a live chain read. The call is a read and is safe to retry.","summary":"Read one organization","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/organizations/{id}/transitions":{"post":{"tags":["Platform administration"],"operationId":"platform.admin.adminOrganizationsTransition","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1,"description":"Tenant organization identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The organization after the transition. After archiving, `data.archivedAt` is the archive time, `data.archivedByUserId` is the administrator who archived it, and `data.archiveReason` is the optional reason from the request. After restoring, all three are null.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/OrganizationId"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"archivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"archivedByUserId":{"$ref":"#/components/schemas/UserId"},"archiveReason":{"type":"string","minLength":1}},"required":["id","name","slug"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","archivedAt":"2026-04-12T09:30:00.000Z","archivedByUserId":"user_northwind_owner","archiveReason":"Customer offboarded after the bond programme closed"},"links":{"self":"/v2/admin/organizations/org_northwind_coffee"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves the organization named by the id path parameter to the state in `to`. Only a platform administrator can call this. `archived` archives it: the organization leaves selectable listings and stops accepting new members. `active` restores it by clearing the archive timestamp, actor, and reason so it can be selected again. Both states take an optional `reason` of 1 to 500 characters after trimming, and the organization's history entry keeps it. A restore does not erase the archive record: the history keeps every archive and every restore. If another active organization already uses the same name, ignoring case and outer spaces, the restore renames the organization to the first free `<name> (n)` that fits in 32 characters and records the old name as `renamedFrom` on the restore entry. Moving an organization to the state it is already in returns 409, so repeating a successful transition returns 409.","summary":"Archive or restore an organization","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"to":{"type":"string","enum":["archived"]},"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"}},"required":["to"],"additionalProperties":false},{"type":"object","properties":{"to":{"type":"string","enum":["active"]},"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"}},"required":["to"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/operator-wallets":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminOperatorWalletsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"chainId":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"address":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"nativeBalance":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"nativeBalanceObservedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of platform operator wallets with chain, label, address, and latest indexed native balance.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformOperatorWallet"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","label":"example","nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":0},"nativeBalance":"0","nativeBalanceObservedAtBlock":"0","nativeBalanceObservedAt":"example","zeroGas":false}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns configured platform operator wallets and their latest indexed native balances for a platform administrator. Each wallet is identified by chain and address, independent of an organization system. Paging uses page[limit] and page[offset]; the call is safe to retry.","summary":"Page through platform operator wallets","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/indexing-scope":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.adminIndexingScopeList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"chainId":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"systemAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"indexed":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of every system the platform knows about, with the ledger `indexed` flag and the derived operator-facing `status`. `organizationNames` lists every organization holding the address on that chain and is empty for an orphan the deploy workflow left behind.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"organizationNames":{"type":"array","items":{"type":"string"}},"indexed":{"type":"boolean"},"status":{"type":"string","enum":["not_indexed","catching_up","attention","indexed"]}},"required":["chainId","systemAddress","organizationNames","indexed","status"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","organizationNames":["Northwind Coffee"],"indexed":true,"status":"indexed"}],"meta":{"total":1},"links":{"self":"/v2/admin/indexing-scope?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/admin/indexing-scope?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/admin/indexing-scope?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of every system this platform has seen announced, on every network in the catalog, with the organizations that hold it and whether the indexer reads it. Only a platform administrator can call this. The default sort is chainId. The call is a read and is safe to retry.","summary":"List the indexing scope","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Platform administration"],"operationId":"platform.admin.adminIndexingScopeSet","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The system's state after the toggle. The ledger row must already exist; turning a never-announced address on is refused because the activation path needs its announcement facts.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"organizationNames":{"type":"array","items":{"type":"string"}},"indexed":{"type":"boolean"},"status":{"type":"string","enum":["not_indexed","catching_up","attention","indexed"]}},"required":["chainId","systemAddress","organizationNames","indexed","status"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","organizationNames":["Northwind Coffee"],"indexed":true,"status":"indexed"},"links":{"self":"/v2/admin/indexing-scope"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets whether the indexer reads one system on one chain, then answers with that system's new state. A system the platform has never seen announced returns 404, because the indexer has none of the facts it needs to start reading its history. Turning indexing off keeps the data already indexed and stops adding to it. Repeating the same value changes nothing. Only a platform administrator can call this.","summary":"Turn indexing on or off for one system","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"indexed":{"type":"boolean"}},"required":["chainId","systemAddress","indexed"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/users/{id}/reset-onboarding":{"post":{"tags":["Platform administration"],"operationId":"platform.admin.adminUsersResetOnboarding","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The user after onboarding reset. `data.archivedWalletCount` is how many wallet rows moved to the archive, and `data.archivedWalletAddresses` lists those addresses. Memberships stay in place.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UserId"},"archivedWalletCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"archivedWalletAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["userId","archivedWalletCount","archivedWalletAddresses"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"userId":"user_northwind_treasury","archivedWalletCount":1,"archivedWalletAddresses":["0x2546BcD3c84621e976D8185a91A922aE77ECEc30"]},"links":{"self":"/v2/admin/users/user_northwind_treasury/reset-onboarding"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Archives the named user's wallets, clears the custody wallet and active-organization pointers, and revokes every session so the user can onboard again. Organization memberships and KYC state stay in place. Only a platform administrator can call this, and the caller cannot target their own user. Repeating the call after a successful reset archives any wallets created since the last reset.","summary":"Reset a user's onboarding","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/users":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.usersList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"role":{"anyOf":[{"type":"string","enum":["admin","owner","member"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"banned":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"accountStatus":{"anyOf":[{"type":"string","enum":["active","banned","closed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"emailVerified":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"onboardingStatus":{"anyOf":[{"type":"string","enum":["stuck","in-progress","done","no-organization"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of users. `meta.total` counts every matching user rather than the rows on this page, and `meta.facets` tallies the matching users by role, banned, accountStatus, emailVerified, and onboardingStatus. `links.prev` and `links.next` are null at the ends of the collection.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAdminUserRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"user_northwind_treasury","name":"Maya Okafor","email":"maya@northwind.example","emailVerified":true,"role":"member","banned":false,"accountStatus":"active","createdAt":"2026-03-04T09:12:41.000Z","onboardingStatus":"stuck","organizations":[{"organizationId":"org_northwind_coffee","name":"Northwind Coffee","memberRole":"owner","onboardingStatus":"done","failedAttempts":0},{"organizationId":"org_northwind_roasters","name":"Northwind Roasters","memberRole":"member","onboardingStatus":"stuck","failedAttempts":3}]}],"meta":{"total":1,"facets":{"role":[{"value":"member","count":1}],"banned":[{"value":"false","count":1}],"accountStatus":[{"value":"active","count":1}],"emailVerified":[{"value":"true","count":1}],"onboardingStatus":[{"value":"stuck","count":1}]}},"links":{"self":"/api/v2/admin/users?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/admin/users?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/admin/users?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of every user account on the platform, for a platform administrator. Each row carries the account fields and the user's non-archived organizations with an onboarding status for each. An organization is done once it finished onboarding. It is stuck when it has not and its initial system deployment failed three or more times, the threshold the OnboardingUserStuck alert uses. Every other unfinished organization is in-progress. The row's onboardingStatus is the worst status across its organizations, ordered stuck, in-progress, done; a user in no organization reads no-organization. Paging uses page[limit] (default 50, maximum 200) and page[offset]. Sort by name, email, or createdAt; the default is name ascending. Filter with filter[q] (the name or email contains the text), filter[role], filter[banned], filter[accountStatus], filter[emailVerified], or filter[onboardingStatus]. The call is a read and is safe to retry.","summary":"List every user account with its onboarding status","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/users/{userId}":{"get":{"tags":["Platform administration"],"operationId":"platform.admin.usersRead","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true}],"responses":{"200":{"description":"The user account with its organizations and their onboarding statuses.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformAdminUserRow"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"user_northwind_treasury","name":"Maya Okafor","email":"maya@northwind.example","emailVerified":true,"role":"member","banned":false,"accountStatus":"active","createdAt":"2026-03-04T09:12:41.000Z","onboardingStatus":"done","organizations":[{"organizationId":"org_northwind_coffee","name":"Northwind Coffee","memberRole":"owner","onboardingStatus":"done","failedAttempts":0}]},"links":{"self":"/api/v2/admin/users/user_northwind_treasury"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one user account for a platform administrator, in the shape of a row of the user list: the account fields, the onboarding status per non-archived organization, and the worst of them as onboardingStatus. A user id the platform does not know answers 404. The call is a read and is safe to retry.","summary":"Read one user account with its onboarding status","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/users/{userId}/organizations/{organizationId}/onboarding-resets":{"post":{"tags":["Platform administration"],"operationId":"platform.admin.userOrganizationOnboardingResetsCreate","parameters":[{"name":"userId","in":"path","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":true},{"name":"organizationId","in":"path","schema":{"type":"string","minLength":1,"description":"Tenant organization identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The reset. `data.archivedWalletAddresses` lists the wallets moved to the archive, `data.keptWalletAddresses` the user's remaining wallets, and `data.archivedContextCount` the active custody contexts in this organization that were archived.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformUserOrganizationOnboardingResetState"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"userId":"user_northwind_treasury","organizationId":"org_northwind_coffee","archivedWalletAddresses":["0x2546BcD3c84621e976D8185a91A922aE77ECEc30"],"keptWalletAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"archivedContextCount":1},"links":{"self":"/api/v2/admin/users/user_northwind_treasury/organizations/org_northwind_coffee/onboarding-resets"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lets the user onboard again in the named organization without touching their other organizations. It archives the user's custody contexts in that organization, fails the user's open custody account requests there, and deletes the user's first-account claims and managed bindings there. A custody account is archived, with its smart wallet link and its wallet, only when no other organization still has an active context on it. The wallets that stay are listed in `data.keptWalletAddresses`. The participant's reset epoch rises only when the call archived a wallet and the participant has no active wallet left. The user's last active organization is cleared only when it is this one, every session of the user ends, and the user signs in again. Memberships, participants, identities and claims stay in place. The organization must be active and the user a member of it, or the call answers 404. Only a platform administrator can call this, and the caller cannot target their own user. Repeating the call after a successful reset archives nothing more.","summary":"Reset a user's onboarding in one organization","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformUserOrganizationOnboardingResetBody"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/systems":{"get":{"tags":["Systems and factories"],"operationId":"systems.core.systemList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isBootstrapped":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of systems the active organization owns on the selected network. `meta.total` counts every matching system, not only the rows on this page. `links` carries relative URLs for the surrounding pages, with `prev` and `next` set to null at the ends of the collection.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemListRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isBootstrapped":true,"tokenCount":12,"systemCreatedAt":"2026-01-14T09:30:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/systems?sort=-systemCreatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/systems?sort=-systemCreatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/systems?sort=-systemCreatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of systems the active organization owns on the selected network. Filter on `id`, `isBootstrapped`, `tokenCount`, and `systemCreatedAt`. The default sort is newest first. The list is indexed state and is safe to retry.","summary":"List deployed systems","x-dalp-auth":"session-or-api-key"}},"/api/v2/systems/{systemAddress}":{"get":{"tags":["Systems and factories"],"operationId":"systems.core.systemRead","parameters":[{"name":"systemAddress","in":"path","schema":{"anyOf":[{"type":"string","enum":["default"]},{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}]},"required":true},{"name":"fields","in":"query","schema":{"type":"object","properties":{"system":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the system resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"system":"id,chainId,status,userIdentityRegistered,isZeroGasNetwork,userIdentity,userPermissions"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the system members a list or a strip renders: id, chainId, status, userIdentityRegistered, isZeroGasNetwork, userIdentity, userPermissions. Send fields[system] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"The requested system, its registries, and the caller's permissions, with a `self` link to its canonical URL. Registry fields are null until bootstrap finishes and the indexer stores them. A request that named `view=summary` or `fields[system]` answers only the members it named, with `userPermissions` narrowed to `{ roles, holdsAssetGovernanceRole, holdsAssetRole }`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemReadRecord"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","canResume":false,"chainId":80002,"deployedInTransaction":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4","tokenFactoryRegistry":{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","version":1,"tokenFactories":[{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","name":"Northwind Coffee Bond Factory","typeId":"bond"}]},"systemAddonRegistry":{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","version":1,"systemAddons":[{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","name":"Northwind XvP Settlement","typeId":"xvp-settlement","version":1}]},"compliance":null,"complianceModuleRegistry":null,"systemAccessManager":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","accessControl":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","addonModule":[],"addonRegistryModule":[],"admin":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isContract":false}],"auditor":[],"claimPolicyManager":[],"claimIssuer":[],"complianceManager":[],"custodian":[],"emergency":[],"feedsManager":[],"fundsManager":[],"gasManager":[],"governance":[],"identityManager":[],"identityRegistryModule":[],"organisationIdentityManager":[],"saleAdmin":[],"supplyManagement":[],"systemManager":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isContract":false}],"systemModule":[],"tokenFactoryModule":[],"tokenFactoryRegistryModule":[],"tokenManager":[{"id":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","isContract":false}],"trustedIssuersMetaRegistryModule":[],"addonManager":[],"roleAdmins":[]}},"identityRegistryStorage":{"id":"0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec"},"identityRegistry":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","registeredIdentities":[{"identity":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"country":56,"status":"ACTIVE"}]},"trustedIssuersRegistry":{"id":"0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097"},"topicSchemeRegistry":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"externalTokenRegistry":{"id":"0x68B1D87F95878fE05B998F19b66F4baba5De1aed"},"status":"completed","updatedAt":"2026-03-11T16:02:08.000Z","userIdentityRegistered":true,"isZeroGasNetwork":false},"links":{"self":"/v2/systems/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one system by address, or the organization's default system when the path is `default`. The envelope wraps the same indexed bootstrap record as v1. Send `view=summary` to answer only the members a route guard reads, or `fields[system]` to name them, and the caller's `userPermissions` carries `roles`, `holdsAssetGovernanceRole` and `holdsAssetRole` without the derived capability set. A missing address returns 404. The call is safe to retry.","summary":"Read a deployed system","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/directory":{"get":{"tags":["Systems and factories"],"operationId":"systems.core.systemDirectoryRead","parameters":[{"name":"contract","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"The directory catalog, or a null `data` member when that directory is not indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformDirectoryCatalog"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199","systemImplementation":"0x90F79bf6EB2c4f870365E785982E1f101E93b906","systemAccessManagerImplementation":"0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65","forwarder":"0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc","systemFactory":"0x976EA74026E726554dB657fA54763abd0C3a0aa9","identityFactory":"0x14dC79964da2C08b23698B3D3cc7Ca32193d9955","identityFactoryImplementation":"0x23618e81E3f5cdF7f54C3d65f7FBc0aBf5B21E8f","identityImplementations":{"identityImplementation":"0xa0Ee7A142d267C1f36714E4a8F75612F20a79720","contractIdentityImplementation":"0xBcd4042DE499D14e55001CcbB24a551F3b954096"},"systemImplementations":{"complianceImplementation":"0x71bE63f3384f5fb98995898A86B02Fb2426c5788","identityRegistryImplementation":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","identityRegistryStorageImplementation":"0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec","trustedIssuersRegistryImplementation":"0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097","trustedIssuersMetaRegistryImplementation":"0xcd3B766CCDd6AE721141F452C550Ca635964ce71","topicSchemeRegistryImplementation":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","tokenAccessManagerImplementation":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","tokenFactoryRegistryImplementation":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","complianceModuleRegistryImplementation":"0x8626f6940E2eb28930eFb4CeF49B2d1F2C9C1199","addonRegistryImplementation":"0x09DB0a93B389bEF724429898f539AEB7ac2Dd55f","identityVerificationComplianceModule":"0x5FbDB2315678afecb367f032d93F642f64180aa3","externalTokenRegistryImplementation":"0x68B1D87F95878fE05B998F19b66F4baba5De1aed"},"tokenTypes":[{"id":"0x9f2c1d7a4b83e6f05c1a9d2e7b4c60f38a51d9e2c7b4a6f18d3e0c5b7a92f4d6","typeId":"0x626f6e6400000000000000000000000000000000000000000000000000000000","name":"Bond","implementation":"0x90F79bf6EB2c4f870365E785982E1f101E93b906","factoryImplementation":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","registeredAt":"2026-01-08T10:00:00.000Z","isExperimental":false}],"complianceModuleTypes":[{"id":"0x636f756e7472792d616c6c6f776c697374000000000000000000000000000000","typeId":"0x636f756e7472792d616c6c6f776c697374000000000000000000000000000001","name":"CountryAllowlist","implementation":"0x5FbDB2315678afecb367f032d93F642f64180aa3","registeredAt":"2026-01-08T10:00:00.000Z","isExperimental":false}],"addonTypes":[{"id":"0x7876702d736574746c656d656e74000000000000000000000000000000000000","typeId":"0x7876702d736574746c656d656e74000000000000000000000000000000000001","name":"XvP","kind":"factory","factoryImplementation":"0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65","instanceImplementation":"0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc","registeredAt":"2026-01-08T10:00:00.000Z","isExperimental":false}]},"links":{"self":"/v2/system/directory"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the directory catalog for the selected network, wrapped in the v2 single-resource envelope. Omit `contract` to use the configured directory. The call is a read and is safe to retry.","summary":"Read the system directory","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/entities":{"get":{"tags":["Systems and factories"],"operationId":"systems.core.systemEntityList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"entityType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"identityAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lastActivity":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of identities and contracts indexed for the active system. `meta.total` counts every matching entity. Filter on `entityType` and `status`, search across the collection, and page with `page[limit]` and `page[offset]`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"contractAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"contractName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"entityType":{"anyOf":[{"$ref":"#/components/schemas/EntityType"},{"type":"null"}]},"isContract":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/IdentityStatus_1"},"country":{"anyOf":[{"$ref":"#/components/schemas/ISOCountryCode"},{"type":"null"}]},"verificationBadges":{"type":"array","items":{"type":"string","minLength":1}},"lastActivity":{"$ref":"#/components/schemas/TimestampEncoded"},"activeClaimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"revokedClaimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"untrustedClaimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"deployedInTransaction":{"type":"string","minLength":1}},"required":["id","contractAddress","contractName","entityType","isContract","status","country","verificationBadges","lastActivity","activeClaimsCount","revokedClaimsCount","untrustedClaimsCount","deployedInTransaction"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","contractAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","contractName":"Northwind Coffee Treasury Identity","entityType":"eoa","isContract":false,"status":"registered","country":"BE","verificationBadges":["knowYourCustomer"],"lastActivity":"2026-03-11T16:02:08.000Z","activeClaimsCount":2,"revokedClaimsCount":0,"untrustedClaimsCount":0,"deployedInTransaction":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"}],"meta":{"total":1},"links":{"self":"/v2/system/entities?sort=lastActivity&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/entities?sort=lastActivity&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/entities?sort=lastActivity&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of identities and contracts indexed for the active system. Filter on `entityType` and `status`, search across the collection, and page with `page[limit]` and `page[offset]`. The default sort is `lastActivity`. The call is safe to retry.","summary":"List system entities","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/factories":{"get":{"tags":["Systems and factories"],"operationId":"systems.factories.tokenFactoryList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"type":"string","enum":["bond","equity","fund","stablecoin","deposit","real-estate","precious-metal","dalp-asset"],"description":"Asset factory typeId identifier"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"hasTokens":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of token factories for the active system. `meta.total` counts every matching factory. Filter on `typeId` and `hasTokens`, search by name, and sort by `name` by default.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformTokenFactoryRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","name":"Northwind Coffee Bond Factory","typeId":"bond","hasTokens":true,"tokenExtensions":["PAUSABLE","BURNABLE","BOND"],"factoryImplementation":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","instanceImplementation":"0x90F79bf6EB2c4f870365E785982E1f101E93b906"}],"meta":{"total":1},"links":{"self":"/v2/system/factories?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/factories?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/factories?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of token factories for the active system. Filter on `typeId` and `hasTokens`, search by name, and sort by `name` by default. The call is a read and is safe to retry.","summary":"List token factories","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Systems and factories"],"operationId":"systems.factories.tokenFactoryCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The factory registration is accepted. When the transaction settles, the body is the updated system and its transaction hashes. When you ask for asynchronous processing, the body is a status URL to poll and the status is 202.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemView"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","canResume":false,"chainId":80002,"deployedInTransaction":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4","tokenFactoryRegistry":{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","version":1,"tokenFactories":[{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","name":"Northwind Coffee Bond Factory","typeId":"bond"}]},"systemAddonRegistry":{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","version":1,"systemAddons":[{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","name":"Northwind XvP Settlement","typeId":"xvp-settlement","version":1}]},"compliance":null,"complianceModuleRegistry":null,"systemAccessManager":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","accessControl":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","addonModule":[],"addonRegistryModule":[],"admin":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isContract":false}],"auditor":[],"claimPolicyManager":[],"claimIssuer":[],"complianceManager":[],"custodian":[],"emergency":[],"feedsManager":[],"fundsManager":[],"gasManager":[],"governance":[],"identityManager":[],"identityRegistryModule":[],"organisationIdentityManager":[],"saleAdmin":[],"supplyManagement":[],"systemManager":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isContract":false}],"systemModule":[],"tokenFactoryModule":[],"tokenFactoryRegistryModule":[],"tokenManager":[{"id":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","isContract":false}],"trustedIssuersMetaRegistryModule":[],"addonManager":[],"roleAdmins":[]}},"identityRegistryStorage":{"id":"0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec"},"identityRegistry":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","registeredIdentities":[{"identity":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"country":56,"status":"ACTIVE"}]},"trustedIssuersRegistry":{"id":"0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097"},"topicSchemeRegistry":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"externalTokenRegistry":{"id":"0x68B1D87F95878fE05B998F19b66F4baba5De1aed"},"status":"completed","updatedAt":null,"userIdentityRegistered":true,"isZeroGasNetwork":false},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/factories"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers one to ten token factories on the active system. Implementation addresses come from the directory unless you override them. The caller needs factory-create authority. Repeat the same body only with the same wallet verification when the signing wallet requires a challenge.","summary":"Create token factories","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"factories":{"type":"array","items":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AssetFactoryTypeId"},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Label for the request. Only a version 1 token factory registry stores it; current registries do not, and the factory list names each factory after its type."},"factoryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"tokenImplementation":{"$ref":"#/components/schemas/EvmAddress"}},"required":["type","name"],"additionalProperties":false},"minItems":1,"maxItems":10}},"required":["factories"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4013","DALP-4014"]}},"/api/v2/system/factories/{factoryAddress}":{"get":{"tags":["Systems and factories"],"operationId":"systems.factories.tokenFactoryRead","parameters":[{"name":"factoryAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The requested token factory, with a `self` link to its canonical URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformTokenFactoryDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","name":"Northwind Coffee Bond Factory","typeId":"bond","factoryImplementation":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","instanceImplementation":"0x90F79bf6EB2c4f870365E785982E1f101E93b906"},"links":{"self":"/v2/system/factories/0xbDA5747bFD65F08deb54cb465eB87D40e51B197E"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one token factory by address, including the implementations the indexer recorded. A missing address returns 404. The call is a read and is safe to retry.","summary":"Read a token factory","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/factory-address-availability-checks":{"get":{"tags":["Systems and factories"],"operationId":"systems.factories.tokenFactoryAvailable","parameters":[{"name":"accessControl","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"name":"parameters","in":"query","schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"type":"string","minLength":1,"maxLength":24,"pattern":"^[A-Z0-9]+$"},"decimals":{"anyOf":[{"type":"number"},{"type":"string"}]},"factoryAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"type":{"type":"string","enum":["bond","equity","fund","stablecoin","deposit","real-estate","precious-metal"],"description":"Type of financial asset"}},"required":["name","symbol","decimals","type"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"type":"string","minLength":1,"maxLength":24,"pattern":"^[A-Z0-9]+$"},"decimals":{"anyOf":[{"type":"number"},{"type":"string"}]},"factoryAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"type":{"type":"string","enum":["dalp-asset"]},"assetTypeName":{"type":"string","minLength":1,"maxLength":255}},"required":["name","symbol","decimals","type","assetTypeName"],"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Whether the predicted or supplied access-manager address is free.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformFactoryAddressAvailability"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"isAvailable":true},"links":{"self":"/v2/system/factory-address-availability-checks"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reports whether a predicted or supplied access-manager address is still free. Send token metadata as query parameters to predict the address, or send `accessControl` to test a known address. The check does not deploy a contract and is safe to retry.","summary":"Check token-factory address availability","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/factory-address-predictions":{"post":{"tags":["Systems and factories"],"operationId":"systems.factories.tokenFactoryPredictAccessManagerAddress","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The CREATE2 address the factory will use for the token access manager.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformAccessManagerAddressPrediction"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"predictedAddress":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a"},"links":{"self":"/v2/system/factory-address-predictions"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the CREATE2 address the factory will use for the token access manager. The same metadata always yields the same address. The address is not reserved until the token is created. The call is safe to retry.","summary":"Predict a token-factory access-manager address","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"type":"string","minLength":1,"maxLength":24,"pattern":"^[A-Z0-9]+$"},"decimals":{"anyOf":[{"type":"number"},{"type":"string"}]},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"$ref":"#/components/schemas/AssetType"}},"required":["name","symbol","decimals","type"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"type":"string","minLength":1,"maxLength":24,"pattern":"^[A-Z0-9]+$"},"decimals":{"anyOf":[{"type":"number"},{"type":"string"}]},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["dalp-asset"]},"assetTypeName":{"type":"string","minLength":1,"maxLength":255}},"required":["name","symbol","decimals","type","assetTypeName"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4013","DALP-4014"]}},"/api/v2/system/addon-factories":{"get":{"tags":["Systems and factories"],"operationId":"systems.factories.addonFactoryList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop","fixed-yield-schedule","xvp-settlement","trading-venue","token-sale","historical-balances-feature-factory","maturity-redemption-feature-factory","hold-feature-factory","register-lines-feature-factory","supply-delegate-feature-factory","transaction-fee-feature-factory","transaction-fee-accounting-feature-factory","voting-power-feature-factory","external-transaction-fee-feature-factory","fixed-treasury-yield-feature-factory","dividend-yield-feature-factory","interest-yield-feature-factory","aum-fee-feature-factory","conversion-feature-factory","conversion-minter-feature-factory","distribution-waterfall-feature-factory","permit-feature-factory","scalar-feed-aggregator-adapter-factory","issuer-signed-scalar-feed","paymaster-signer","token-governance","token-governance-timelock","price-resolver","document-anchor-registry","access-manager","escrow","custody-gateway"],"description":"Type of system addon"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kind":{"anyOf":[{"type":"string","enum":["singleton","factory","unknown"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of addon factories for the active system. `meta.total` counts every matching factory. Filter on `typeId`, `account`, and `kind`, and sort by `name` by default.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAddonFactoryRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","name":"Northwind XvP Settlement","typeId":"xvp-settlement","deployedInTransaction":"0x1c9a5f80d3b47e6218ca03f95d7be41086c2d97fa5301be8c47d0f2635a9184b","account":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","kind":"factory","systemAddonImplementation":null,"factoryImplementation":"0x15d34AAf54267DB7D7c367839AAf71A00a2C6A65","instanceImplementation":"0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc"}],"meta":{"total":1},"links":{"self":"/v2/system/addon-factories?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/addon-factories?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/addon-factories?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of addon factories for the active system. Filter on `typeId`, `account`, and `kind`. The default sort is `name`. The call is a read and is safe to retry.","summary":"List system addon factories","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Systems and factories"],"operationId":"systems.factories.addonFactoryCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The addon-factory registration is accepted. When the transaction settles, the body is the updated system and its transaction hashes. When you ask for asynchronous processing, the body is a status URL to poll and the status is 202.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemView"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","canResume":false,"chainId":80002,"deployedInTransaction":"0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4","tokenFactoryRegistry":{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","version":1,"tokenFactories":[{"id":"0xbDA5747bFD65F08deb54cb465eB87D40e51B197E","name":"Northwind Coffee Bond Factory","typeId":"bond"}]},"systemAddonRegistry":{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","version":1,"systemAddons":[{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","name":"Northwind XvP Settlement","typeId":"xvp-settlement","version":1}]},"compliance":null,"complianceModuleRegistry":null,"systemAccessManager":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","accessControl":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","addonModule":[],"addonRegistryModule":[],"admin":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isContract":false}],"auditor":[],"claimPolicyManager":[],"claimIssuer":[],"complianceManager":[],"custodian":[],"emergency":[],"feedsManager":[],"fundsManager":[],"gasManager":[],"governance":[],"identityManager":[],"identityRegistryModule":[],"organisationIdentityManager":[],"saleAdmin":[],"supplyManagement":[],"systemManager":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isContract":false}],"systemModule":[],"tokenFactoryModule":[],"tokenFactoryRegistryModule":[],"tokenManager":[{"id":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","isContract":false}],"trustedIssuersMetaRegistryModule":[],"addonManager":[],"roleAdmins":[]}},"identityRegistryStorage":{"id":"0x1CBd3b2770909D4e10f157cABC84C7264073C9Ec"},"identityRegistry":{"id":"0xFABB0ac9d68B0B445fB7357272Ff202C5651694a","registeredIdentities":[{"identity":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"country":56,"status":"ACTIVE"}]},"trustedIssuersRegistry":{"id":"0xdF3e18d64BC6A983f673Ab319CCaE4f1a57C7097"},"topicSchemeRegistry":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"externalTokenRegistry":{"id":"0x68B1D87F95878fE05B998F19b66F4baba5De1aed"},"status":"completed","updatedAt":null,"userIdentityRegistered":true,"isZeroGasNetwork":false},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/addon-factories"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers one or more addon factories on the active system. Implementation addresses come from the directory unless you override them. The caller needs addon-create authority. Repeat the same body only with the same wallet verification when the signing wallet requires a challenge.","summary":"Create system addon factories","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"addons":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop","fixed-yield-schedule","xvp-settlement","trading-venue","token-sale","historical-balances-feature-factory","maturity-redemption-feature-factory","hold-feature-factory","register-lines-feature-factory","supply-delegate-feature-factory","transaction-fee-feature-factory","transaction-fee-accounting-feature-factory","voting-power-feature-factory","external-transaction-fee-feature-factory","fixed-treasury-yield-feature-factory","dividend-yield-feature-factory","interest-yield-feature-factory","aum-fee-feature-factory","conversion-feature-factory","conversion-minter-feature-factory","distribution-waterfall-feature-factory","permit-feature-factory","scalar-feed-aggregator-adapter-factory","issuer-signed-scalar-feed","paymaster-signer","token-governance","token-governance-timelock","price-resolver","document-anchor-registry","access-manager","escrow","custody-gateway","airdrops","yield","xvp"]},"name":{"type":"string","minLength":1,"maxLength":50,"description":"Label for the request. Only a version 1 add-on registry stores it; current registries do not, and the factory list names each add-on factory after its type."},"implementation":{"$ref":"#/components/schemas/EvmAddress"}},"required":["type","name"],"additionalProperties":false},"minItems":1}},"required":["addons"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4018"]}},"/api/v2/system/addon-factories/{factoryAddress}":{"get":{"tags":["Systems and factories"],"operationId":"systems.factories.addonFactoryRead","parameters":[{"name":"factoryAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The requested addon factory, with a `self` link to its canonical URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformAddonFactoryDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0xdD2FD4581271e230360230F9337D5c0430Bf44C0","name":"Northwind XvP Settlement","typeId":"xvp-settlement","version":1,"type":"xvp-settlement"},"links":{"self":"/v2/system/addon-factories/0xdD2FD4581271e230360230F9337D5c0430Bf44C0"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one addon factory by address, including its canonical type identifier. A missing address returns 404. The call is a read and is safe to retry.","summary":"Read a system addon factory","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/migration-comparison":{"get":{"tags":["Systems and factories"],"operationId":"systems.migrations.migrationComparison","parameters":[{"name":"includeExperimental","in":"query","schema":{"type":"string","enum":["true","false"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MigrationComparison"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","directoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","groups":[{"id":"example","label":"example","components":[{"key":"example","label":"example","typeName":"example","group":"example","deployedAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","directoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"up-to-date","factoryImplementationStatus":"up-to-date","instanceImplementationStatus":"up-to-date","factoryDeployedAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryDirectoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","instanceDeployedAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","instanceDirectoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExperimental":false,"affectedTokenCount":0,"outstanding":0,"total":0,"skippedForAuthority":{"count":0},"registrationGaps":{"wallets":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"vault-eoa","reason":"not-registered"}],"notYetCreated":0,"adminCountry":"admin-not-registered"}}]}],"summary":{"totalComponents":0,"upToDate":0,"updateAvailable":0,"pendingInstall":0,"pendingHiddenSync":0,"totalAffectedTokens":0,"needUpgrade":0,"unverified":0,"authorityBlockedPending":false,"experimentalOptInPending":false}},"links":{"self":"example"}}}}}},"headers":{"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/migrations":{"post":{"tags":["Systems and factories"],"operationId":"systems.migrations.migrationCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferTiming"}],"responses":{"200":{"description":"The existing run: the one already in flight, or the one this `Idempotency-Key` started.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemMigration"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"migrationId":"system-update:org_northwind:8453:0","status":"running"},"links":{"self":"/api/v2/system/migrations/system-update:org_northwind:8453:0/stream"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The update is started. Follow the migration on its stream route. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemMigrationStarted"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"data":{"migrationId":"system-update:org_northwind:8453:0","status":"accepted"},"links":{"self":"/api/v2/system/migrations/system-update:org_northwind:8453:0/stream"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts the system update that brings the organisation's system components to the directory's implementations, signed by the caller's wallet. The caller needs the admin or system manager role and the wallet verification for the signing wallet. A new run answers 202 with its migration id; follow it on the stream route. Starting while a run is in flight, or repeating a request with the same `Idempotency-Key`, answers 200 with the existing run and starts nothing.","summary":"Start a system update","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSystemMigrationStartInput"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/migrations/{migrationId}/stream":{"get":{"tags":["Systems and factories"],"operationId":"systems.migrations.migrationStream","parameters":[{"name":"migrationId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Success","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["tree"]},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["type","nodes"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-required"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"payload":{"type":"object","properties":{"role":{"type":"string","enum":["org-creator-eoa","member-admission-eoa","token-creator-eoa","org-vault-eoa","org-bundler-eoa","org-relayer-eoa","aa-runway-eoa","queued-write-eoa","smart-account","paymaster-deposit"],"description":"The funding purpose of the requirement. The subject wallet is the payload address, and several requirements can share a role. The set of roles may grow. A client that checks this value against the listed roles, as the SDK does, rejects a frame with a new role. Decode it as a string, show an unknown role as a generic funding requirement, and never drop a requirement because its role is unfamiliar."},"subjectOwner":{"type":"string","enum":["caller","organisation","platform"]},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"chainName":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency.","examples":["Ether"]},"symbol":{"type":"string","description":"Ticker printed beside a native amount.","examples":["ETH"]},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","symbol","decimals"],"additionalProperties":true,"description":"The chain's own currency, carried whole so a reader can render a native amount without looking it up."},"shortfall":{"type":"string","pattern":"^\\d+$"},"recommendedTotal":{"type":"string","pattern":"^\\d+$"},"deployCost":{"type":"string","pattern":"^\\d+$"},"opsAllowance":{"type":"string","pattern":"^\\d+$"},"bufferPct":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"devCommand":{"type":"string","minLength":1},"opName":{"type":"string","minLength":1},"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"alreadySent":{"type":"string","pattern":"^\\d+$"},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entryPointAddress":{"type":"string","minLength":1},"fullBatchBalance":{"type":"string","pattern":"^\\d+$"}},"required":["role","chainId","chainName","address","nativeCurrency","shortfall","recommendedTotal","deployCost","opsAllowance","bufferPct","opName","seq","alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-resolved"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"resolution":{"type":"object","properties":{"alreadySent":{"type":"string","pattern":"^\\d+$"}},"required":["alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","resolution"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["complete"]},"success":{"type":"boolean"},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":true}},"required":["id","label"],"additionalProperties":true}},"failureReason":{"type":"string"}},"required":["type","success"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformDependencyUnavailable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["network","organization","user","member","system","holiday-calendar","invitation","deployment","factory","asset-class","template","compliance-template","template-structure","indexed-system","directory","setting","profile-section","proposal","table-view","account-closure-request"]}},"required":["_tag","message","reason"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"$ref":"#/components/schemas/PlatformDependencyUnavailableEncoded"},{"$ref":"#/components/schemas/PlatformNotFoundEncoded"}],"discriminator":{"propertyName":"_tag","mapping":{"PlatformDependencyUnavailable":"#/components/schemas/PlatformDependencyUnavailableEncoded","PlatformNotFound":"#/components/schemas/PlatformNotFoundEncoded"}}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"tree","nodes":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example","children":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/accounts/roles":{"get":{"tags":["Roles and permissions"],"operationId":"systems.access.accessRolesList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"roles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"excludeContracts":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of access-manager role assignments for the active system. `meta.total` counts every matching account. Filter on `roles` and `excludeContracts`, and sort by `account` by default.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemRolesRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"account":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","roles":["admin","systemManager"]}],"meta":{"total":1},"links":{"self":"/v2/system/accounts/roles?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/accounts/roles?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/accounts/roles?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of access-manager role assignments for the active system. Filter on `roles` and `excludeContracts`. The default sort is `account`. The call is a read and is safe to retry.","summary":"List system access-manager roles","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/accounts/{address}/roles":{"get":{"tags":["Roles and permissions"],"operationId":"systems.access.accessRolesRead","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Roles the access manager records for the requested account.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemRolesRow"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"account":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","roles":["admin","systemManager"]},"links":{"self":"/v2/system/accounts/0x2546BcD3c84621e976D8185a91A922aE77ECEc30/roles"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the roles the access manager records for one account. The `address` path is an EVM address. The call is a read and is safe to retry.","summary":"Read system roles for an account","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/role-sets":{"post":{"tags":["Roles and permissions"],"operationId":"systems.access.accessRoleSet","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The role change is accepted. When the change settles, the body lists the wallets and the roles added and removed. When you ask for asynchronous processing, the body is a status URL to poll and the status is 202.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemRoleSetOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accounts":["0x70997970C51812dc3A010C7d01b50e0d17dc79C8"],"grant":["tokenManager"],"revoke":[]},"meta":{"txHashes":["0x5c73a1e94b0d268fa37e15c8b02d94f6a1e7835c0b96d2f4e83a17c5d602b9f4"]},"links":{"self":"/v2/system/role-sets"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_ROLE_SEGREGATION_CONFLICT","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14425","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET","platform.write.ROLE_BATCH_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-12366","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE","platform.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332","DALP-12365"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Grants and revokes system roles for one participant or one wallet as one change. Name the target with exactly one of participantId, address or participantWallet. An address covers that one wallet. A participantId covers the signing address of each custody account that the participant holds in the active organization on the selected chain. When account abstraction is enabled, it also covers the smart wallet of each of those accounts. The platform answers 403 when a participantId covers no address. A participantWallet covers the sent wallet plus the wallets that a participantId for its holder would cover. When no participant holds the sent wallet in the active organization on the selected chain, a participantWallet covers that wallet alone. The platform answers 403 when more than one participant holds the sent wallet in the active organization on the selected chain. The caller needs the admin role for every role in the request; a refused role answers 403 before any transaction. The platform sends one queued write per changed wallet and direction on any executor, every grant before any revoke. The writes share one database transaction and start only after it commits, so when any write fails before the platform answers, the writes queued before it roll back and the answer is the one a failure of the first write gets. Once the platform has answered, each write settles on its own: a write that fails on chain does not undo the others, so read the held roles before another write. Resending the same change plans only what is still missing. Repeating a change that is already true queues no transaction.","summary":"Set system roles","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"participantId":{"type":"string","minLength":1,"description":"Participant whose wallets receive or lose the roles.","examples":["prt_northwind_ops"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"participantWallet":{"$ref":"#/components/schemas/EvmAddress"},"expiresAt":{"type":"string"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"System roles to add to the target.","examples":[["tokenManager"]]},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"System roles to remove from the target.","examples":[["tokenManager"]]},"reason":{"$ref":"#/components/schemas/RoleGrantReason"}},"required":["grant","revoke"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4008","DALP-4009"]}},"/api/v2/system/role-set-batches":{"post":{"tags":["Roles and permissions"],"operationId":"systems.access.accessRoleSetBatch","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The batch is accepted. When it settles, the body lists the participants, their wallets and the roles added and removed. When you ask for asynchronous processing, the body is a status URL to poll and the status is 202.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PlatformSystemRoleSetBatchOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"participants":[{"participantId":"example","accounts":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}],"expiresAt":"example","grant":["auditor"],"revoke":[]},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_ROLE_SEGREGATION_CONFLICT","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14425","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET","platform.write.ROLE_BATCH_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-12366","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE","platform.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332","DALP-12365"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Grants and revokes the same system roles for up to 50 participants as one change, behind one wallet verification. Every wallet of each participant is covered, and a participant with no wallet in the organization refuses the whole batch. The caller needs the admin role. The platform reads each wallet's current roles and sends one access-manager call per changed role, naming only the wallets that change, as one queued request of at most 33 calls: grants first, then revokes, with a revoke of the caller's own wallet or of the admin role last. A smart-account executor applies every call in one user operation, so the batch lands whole or not at all; an EOA executor sends the calls in order. A revoke that would leave the system with no administrator answers 409 before any transaction. Repeating a batch that is already true queues no transaction.","summary":"Set system roles for several participants","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformSystemRoleSetBatchInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4008","DALP-4009"]}},"/api/v2/system/participants/roles":{"get":{"tags":["Roles and permissions"],"operationId":"systems.access.accessParticipantRoles","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signingAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"operationsAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"eoaRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"smartWalletRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"missingRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"heldRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"drift":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isContract":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of participants and the system roles on their wallets. `meta.total` counts every matching participant. Filter on `drift` and on each role column, and sort by `displayName` by default.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformParticipantRolesRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"participantId":"prt_northwind_ops","displayName":"Northwind Coffee Operations","isOrganisation":false,"email":"alice@example.com","lastActiveAt":"example","signingAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","operationsAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false,"eoaRoles":["tokenManager"],"smartWalletRoles":["tokenManager"],"missingRoles":["admin"],"drift":false,"wallets":["0x6b0c6f5a9f2b7d3ab0c1e2f4d5a6b7c8d9e0f1a2"],"heldRoles":["admin"]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/system/participants/roles?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/participants/roles?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/participants/roles?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of participants and the system roles on their signing wallet and operations wallet. `drift` is true when those wallets do not hold the same roles. Filter on `drift` and on each role column. The default sort is `displayName`. The call is a read and is safe to retry.","summary":"List participant system roles","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/asset-role-grants":{"get":{"tags":["Roles and permissions"],"operationId":"systems.access.accessAssetRoleGrants","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"role":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of asset role grants for the active system: per wallet and role, how many of the system's assets grant it. `meta.total` counts every matching grant. Filter on `account` and `role`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetRoleGrantRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"account":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","role":"supplyManagement","assetCount":3}],"meta":{"total":1},"links":{"self":"/v2/system/asset-role-grants?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/asset-role-grants?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/asset-role-grants?sort=account&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of asset roles the system's assets grant, per wallet and role, with how many assets grant each. Each asset has its own access manager; this read never includes the system's access manager. Filter on `account` and `role`. The default sort is `account`. The call is a read and is safe to retry.","summary":"List asset role grants","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/role-conflicts":{"get":{"tags":["Roles and permissions"],"operationId":"systems.access.accessRoleConflicts","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"mode":{"type":"string","enum":["warn","block"],"description":"warn: a grant that breaks the rule needs a reason, which the audit trail keeps. block: a grant that breaks the rule is refused."},"scope":{"type":"string","enum":["contract","platform"],"description":"contract: the two roles conflict when one wallet holds both on the same token, token sale or venue. platform: they conflict wherever the wallet holds them in the organisation's system."}},"additionalProperties":false,"description":"`filter[q]` matches the wallet, either role or either access manager. `filter[mode]` and `filter[scope]` keep the conflicts of that mode or scope."},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["account","-account","mode","-mode","scope","-scope"],"description":"The field to sort by, with a leading `-` for descending. Absent, conflicts sort by wallet."},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RoleSegregationConflict"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","scope":"contract","mode":"warn","held":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"SYSTEM_MANAGER_ROLE"},"granted":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"SYSTEM_MANAGER_ROLE"}}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/accounts/{accountAddress}/activities":{"get":{"tags":["Activity and statistics"],"operationId":"systems.access.activityList","parameters":[{"name":"accountAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"transactionHash":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of indexed events that name the account as sender, emitter, or an involved address. `meta.total` counts every matching event.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityEventRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"80002-18429311-12","eventName":"Transfer","txIndex":"12","blockNumber":"18429311","blockTimestamp":"2026-03-11T16:02:08.000Z","transactionHash":"0x4f3d1a8c0b6e29d5741ac0f8b2e7d6390c5148aa9be3f207d4c8615ae0937b2c","emitter":{"id":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"},"sender":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"metaTxSigner":null,"displaySender":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"relayerKind":null,"relayer":null,"userOpHash":null,"involved":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},{"id":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"},{"id":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC"}],"values":[{"id":"from","name":"from","value":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},{"id":"to","name":"to","value":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"},{"id":"value","name":"value","value":"2500000000"}]}],"meta":{"total":1},"links":{"self":"/v2/system/accounts/0x2546BcD3c84621e976D8185a91A922aE77ECEc30/activities?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/system/accounts/0x2546BcD3c84621e976D8185a91A922aE77ECEc30/activities?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/system/accounts/0x2546BcD3c84621e976D8185a91A922aE77ECEc30/activities?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed events that name the account as sender, emitter, or an involved address. Filter on `eventName` and page with the shared collection parameters. The call is a read and is safe to retry.","summary":"List account activity","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/accounts/{accountAddress}/activity-metrics":{"get":{"tags":["Activity and statistics"],"operationId":"systems.access.activityStats","parameters":[{"name":"accountAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"range","in":"query","schema":{"type":"object","properties":{"interval":{"type":"string","enum":["hour","day"]},"from":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"to":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"isPreset":{"type":"boolean"}},"required":["interval","from","to","isPreset"],"additionalProperties":false},"required":true,"style":"deepObject","explode":true},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false}],"responses":{"200":{"description":"Event counts and a time series for the requested account and range.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["range","grain","points","figure","meta"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","events":0}],"prior":[{"t":"example","events":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}},"links":{"self":"/v2/system/accounts/0x2546BcD3c84621e976D8185a91A922aE77ECEc30/activity-metrics"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns event counts for the account over the requested range, plus a time series for charting. The range is required. The call is a read of indexed events and is safe to retry.","summary":"Read account activity statistics","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/addon-access-managers/{accessManagerAddress}/proposals":{"get":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonProposalsList","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"target":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["open","executed","cancelled","superseded"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"viewer":{"anyOf":[{"type":"string","enum":["approver","maker"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false,"description":"`viewer=approver` keeps open, unexpired proposals below threshold that a caller wallet may approve and has not; `viewer=maker` keeps proposals a caller wallet made, and open, unexpired proposals a caller wallet may run as their maker."},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AddonProposal"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","selector":"0x5208","callHash":"0x0000000000000000000000000000000000000000000000000000000000000000","calldata":"0x5208","call":{"undecoded":false,"selector":"0x5208","functionName":"example","arguments":[{"name":"example","type":"example","value":"example"}]},"proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","makerRole":"0x0000000000000000000000000000000000000000000000000000000000000000","approverRole":"0x0000000000000000000000000000000000000000000000000000000000000000","requiredApprovals":0,"validApprovals":0,"approvers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"status":"open","expired":false,"expiresAt":"example","executor":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","cancelledBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"example","createdAtTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonProposalCreate","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AddonProposalCreated"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","makerRole":"0x0000000000000000000000000000000000000000000000000000000000000000","callHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET","platform.addonApprovals.APPROVAL_NOT_REQUIRED","platform.addonApprovals.PROPOSAL_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-12407","DALP-12408","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE","platform.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332","DALP-12365"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddonProposalCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-12407","DALP-12408"]}},"/api/v2/system/addon-access-managers/{accessManagerAddress}/proposals/{proposalId}":{"get":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonProposalsRead","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AddonProposal"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","selector":"0x5208","callHash":"0x0000000000000000000000000000000000000000000000000000000000000000","calldata":"0x5208","call":{"undecoded":false,"selector":"0x5208","functionName":"example","arguments":[{"name":"example","type":"example","value":"example"}]},"proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","makerRole":"0x0000000000000000000000000000000000000000000000000000000000000000","approverRole":"0x0000000000000000000000000000000000000000000000000000000000000000","requiredApprovals":0,"validApprovals":0,"approvers":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"status":"open","expired":false,"expiresAt":"example","executor":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","cancelledBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"example","createdAtTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/system/addon-access-managers/{accessManagerAddress}/action-configs":{"get":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonActionConfigsList","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"target":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AddonActionConfig"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","selector":"0x5208","approverRole":"0x0000000000000000000000000000000000000000000000000000000000000000","requiredApprovals":0,"lifetimeSeconds":"example","updatedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonActionConfigsCreate","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AddonActionConfigsChanged"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","callHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET","platform.addonApprovals.APPROVAL_REQUIRED","platform.addonApprovals.PROPOSAL_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-12408","DALP-12411","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE","platform.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332","DALP-12365"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddonActionConfigsCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-12408","DALP-12411"]}},"/api/v2/system/addon-access-managers/{accessManagerAddress}/proposals/{proposalId}/decisions":{"post":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonProposalDecisionCreate","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AddonProposalChanged"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET","platform.addonApprovals.APPROVAL_NOT_REQUIRED","platform.addonApprovals.PROPOSAL_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-12407","DALP-12408","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE","platform.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332","DALP-12365"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddonProposalDecisionCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-12408","DALP-200386"]}},"/api/v2/system/addon-access-managers/{accessManagerAddress}/proposals/{proposalId}/transitions":{"post":{"tags":["Roles and permissions"],"operationId":"systems.addonApprovals.addonProposalTransitionCreate","parameters":[{"name":"accessManagerAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AddonProposalChanged"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET","platform.addonApprovals.APPROVAL_NOT_REQUIRED","platform.addonApprovals.PROPOSAL_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-12407","DALP-12408","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE","platform.write.OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332","DALP-12365"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddonProposalTransitionCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-12408"]}},"/api/v2/system/stats/{metric}":{"get":{"tags":["Activity and statistics"],"operationId":"systems.stats.statsRead","parameters":[{"name":"metric","in":"path","schema":{"type":"string","enum":["assets","value","country-asset-count","country-identity-count","identity-count","claims","participant-claims","trusted-issuers","portfolio-breakdown","offerings-summary","offerings-investor-country","governance-summary","governance-voter-country","venue-summary","venue-country","asset-activity","asset-lifecycle","claims-history","participant-claims-history","identity-history","trusted-issuers-history","portfolio-value-history","system-value-history","offerings-history","governance-history","venue-activity"]},"required":true},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"compare","in":"query","schema":{"type":"string","enum":["prior"],"description":"Send prior to also get the period straight before the window, one entry per point."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false}],"responses":{"200":{"description":"The requested statistic for the active system, wrapped in a single-resource envelope.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"metric":{"type":"string","enum":["assets"]},"totalAssets":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"assetBreakdown":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"valueBreakdown":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"valueBreakdownByClass":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"tokensCreatedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"tokensLaunchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingLaunchesCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"deploymentsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many deploys are still running or have failed and not been discarded."},"deployments":{"type":"array","items":{"type":"object","properties":{"runKey":{"type":"string","minLength":1,"description":"The key of the deploy run, which the deploy page opens to show its progress."},"name":{"type":"string"},"symbol":{"type":"string"},"status":{"type":"string","enum":["deploying","failed"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["runKey","name","symbol","status","reason","startedAt"],"additionalProperties":false},"description":"The 25 newest of those deploys, with the names of the assets they deploy."},"conversionReliable":{"type":"boolean"},"compositions":{"type":"object","properties":{"valueByClass":{"$ref":"#/components/schemas/MoneyComposition"},"countByClass":{"$ref":"#/components/schemas/CountComposition"},"countByType":{"$ref":"#/components/schemas/CountComposition"}},"required":["valueByClass","countByClass","countByType"],"additionalProperties":false}},"required":["metric","totalAssets","totalValue","assetBreakdown","valueBreakdown","valueBreakdownByClass","tokensCreatedCount","tokensLaunchedCount","pendingLaunchesCount","deploymentsCount","deployments","conversionReliable","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["value"]},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"conversionReliable":{"type":"boolean"}},"required":["metric","totalValue","conversionReliable"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["country-asset-count"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAssets":{"type":"integer","minimum":0,"maximum":9007199254740991},"assetsWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalAssets","assetsWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["country-identity-count"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalIdentities":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalIdentities"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["identity-count"]},"userIdentitiesCreatedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeUserIdentitiesCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingRegistrationsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","userIdentitiesCreatedCount","activeUserIdentitiesCount","pendingRegistrationsCount"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["claims"]},"totalIssuedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalActiveClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemovedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRevokedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","totalIssuedClaims","totalActiveClaims","totalRemovedClaims","totalRevokedClaims"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["participant-claims"]},"totalIssuedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalActiveClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemovedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRevokedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"claimStates":{"type":"object","properties":{"active":{"type":"integer","minimum":0,"maximum":9007199254740991},"revoked":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["active","revoked","removed"],"additionalProperties":false},"topics":{"type":"array","items":{"type":"object","properties":{"topicId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"activeClaims":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["topicId","name","activeClaims"],"additionalProperties":false}},"totalTopics":{"type":"integer","minimum":0,"maximum":9007199254740991},"topicsWithoutActiveClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"compositions":{"type":"object","properties":{"activeByTopic":{"$ref":"#/components/schemas/CountComposition"},"byState":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Active, revoked and removed verifications in that order, each above zero."}]}},"required":["activeByTopic","byState"],"additionalProperties":false}},"required":["metric","totalIssuedClaims","totalActiveClaims","totalRemovedClaims","totalRevokedClaims","claimStates","topics","totalTopics","topicsWithoutActiveClaims","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["trusted-issuers"]},"totalAddedTrustedIssuers":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Add events the trusted issuers registry recorded. An issuer removed and added again counts once per add, so the total can exceed the number of distinct issuers."},"totalActiveTrustedIssuers":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemovedTrustedIssuers":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Remove events the trusted issuers registry recorded. An issuer removed, added again and removed again counts once per removal."}},"required":["metric","totalAddedTrustedIssuers","totalActiveTrustedIssuers","totalRemovedTrustedIssuers"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["portfolio-breakdown"]},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"totalValueExact":{"$ref":"#/components/schemas/BigDecimal"},"totalAssetTypes":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAssetsHeld":{"type":"integer","minimum":0,"maximum":9007199254740991},"typeBreakdown":{"type":"array","items":{"type":"object","properties":{"assetType":{"type":"string","minLength":1},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"tokenBalancesCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"percentage":{"type":"number","minimum":0,"maximum":100}},"required":["assetType","totalValue","tokenBalancesCount","percentage"],"additionalProperties":false}},"valueBreakdown":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"holdingsBreakdown":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"valueBreakdownByClass":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"holdingsBreakdownByClass":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"assetClassNames":{"type":"object","additionalProperties":{"type":"string"}},"conversionReliable":{"type":"boolean"},"dayChange":{"anyOf":[{"type":"object","properties":{"absoluteChange":{"$ref":"#/components/schemas/BigDecimal"},"percentChange":{"anyOf":[{"type":"number"},{"type":"null"}]},"windowStart":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["absoluteChange","percentChange","windowStart"],"additionalProperties":false},{"type":"null"}]},"byCountry":{"type":"array","items":{"type":"object","properties":{"countryCode":{"type":"integer","minimum":0,"maximum":9007199254740991},"valueInBaseCurrency":{"$ref":"#/components/schemas/BigDecimal"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["countryCode","valueInBaseCurrency","assetCount"],"additionalProperties":false}},"valueByCountry":{"type":"array","items":{"$ref":"#/components/schemas/PlatformPortfolioCountryValue"}},"valueCountryClasses":{"type":"array","items":{"$ref":"#/components/schemas/PlatformPortfolioCountryClass"}},"compositions":{"type":"object","properties":{"valueByClass":{"$ref":"#/components/schemas/MoneyComposition"},"holdingsByClass":{"$ref":"#/components/schemas/CountComposition"},"valueByCountry":{"allOf":[{"$ref":"#/components/schemas/MoneyComposition"},{"description":"Value by jurisdiction. Every jurisdiction has a row, and value with no jurisdiction has the key 0."}]},"valueByHolding":{"allOf":[{"$ref":"#/components/schemas/MoneyComposition"},{"description":"Value by held token, keyed by the token address in lower case. The five largest holdings have a row and the rest fold into other."}]}},"required":["valueByClass","holdingsByClass","valueByCountry","valueByHolding"],"additionalProperties":false}},"required":["metric","totalValue","totalValueExact","totalAssetTypes","totalAssetsHeld","typeBreakdown","valueBreakdown","holdingsBreakdown","valueBreakdownByClass","holdingsBreakdownByClass","assetClassNames","conversionReliable","dayChange","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["offerings-summary"]},"offerings":{"type":"array","items":{"type":"object","properties":{"saleAddress":{"$ref":"#/components/schemas/EvmAddress"},"softCapReached":{"type":"boolean"},"softCapShare":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]}},"required":["saleAddress","softCapReached","softCapShare"],"additionalProperties":false}},"raised":{"type":"array","items":{"type":"object","properties":{"currencyAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/BigDecimal"}},"required":["currencyAddress","symbol","amount"],"additionalProperties":false}},"totalInvestors":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalOfferings":{"type":"integer","minimum":0,"maximum":9007199254740991},"softCapReachedCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","offerings","raised","totalInvestors","totalOfferings","softCapReachedCount"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["offerings-investor-country"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalInvestors":{"type":"integer","minimum":0,"maximum":9007199254740991},"investorsWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalInvestors","investorsWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["governance-summary"]},"proposals":{"type":"array","items":{"type":"object","properties":{"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"eligibleUnits":{"$ref":"#/components/schemas/BigDecimal"},"castUnits":{"$ref":"#/components/schemas/BigDecimal"},"quorumUnits":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"progress":{"anyOf":[{"type":"object","properties":{"forVotes":{"allOf":[{"$ref":"#/components/schemas/MeterProgress"},{"description":"The for votes as a share of the proposal's eligible voting units"}]},"againstVotes":{"allOf":[{"$ref":"#/components/schemas/MeterProgress"},{"description":"The against votes as a share of the proposal's eligible voting units"}]},"abstainVotes":{"allOf":[{"$ref":"#/components/schemas/MeterProgress"},{"description":"The abstain votes as a share of the proposal's eligible voting units"}]},"turnout":{"allOf":[{"$ref":"#/components/schemas/MarkedMeterProgress"},{"description":"All cast voting units as a share of the proposal's eligible voting units, with the quorum as the marker (null when the proposal has no quorum)"}]}},"required":["forVotes","againstVotes","abstainVotes","turnout"],"additionalProperties":false},{"type":"null"}],"allOf":[{"description":"The vote shares of the eligible voting units, or null when the proposal has no eligible units yet"}]}},"required":["governorAddress","proposalId","eligibleUnits","castUnits","quorumUnits","progress"],"additionalProperties":false}},"averageTurnout":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"compositions":{"type":"object","properties":{"proposalsByStatus":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Proposals by status in the order pending, active, succeeded, defeated, queued, executed, canceled, each above zero."}]}},"required":["proposalsByStatus"],"additionalProperties":false}},"required":["metric","proposals","averageTurnout","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["governance-voter-country"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalVoters":{"type":"integer","minimum":0,"maximum":9007199254740991},"votersWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalVoters","votersWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["venue-summary"]},"markets":{"type":"array","items":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"trades24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastTradeAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["marketId","venueAddress","trades24h","lastTradeAt"],"additionalProperties":false}},"trades24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"venues":{"type":"integer","minimum":0,"maximum":9007199254740991},"compositions":{"type":"object","properties":{"tradesByMarket":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Trades in the window by market, keyed by the market id. Markets without a trade have no row."}]},"marketsByStatus":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Visible markets by status in the order live, halted, suspended, pending, delisted, each above zero."}]}},"required":["tradesByMarket","marketsByStatus"],"additionalProperties":false}},"required":["metric","markets","trades24h","venues","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["venue-country"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalVenues":{"type":"integer","minimum":0,"maximum":9007199254740991},"venuesWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalVenues","venuesWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["asset-activity"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetActivityPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetActivityPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["asset-lifecycle"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetLifecyclePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetLifecyclePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"created":{"$ref":"#/components/schemas/PlatformChartFigure"}},"required":["metric","range","grain","points","figure","meta","created"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["claims-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["participant-claims-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"revokedInRange":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Claims revoked inside the window: the revoked total at the close of the window minus the revoked total standing just before it."}},"required":["metric","range","grain","points","figure","meta","revokedInRange"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["identity-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformIdentityHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformIdentityHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["trusted-issuers-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformTrustedIssuersHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformTrustedIssuersHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"changedInRange":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Issuers added to or removed from the registry inside the window: the add and remove events recorded between the window start and its close."}},"required":["metric","range","grain","points","figure","meta","changedInRange"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["portfolio-value-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["system-value-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["offerings-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformOfferingPurchasePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformOfferingPurchasePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["governance-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformGovernanceBallotPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformGovernanceBallotPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["venue-activity"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformVenueTradePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformVenueTradePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"metric":"value","totalValue":"2450000.50","conversionReliable":true},"links":{"self":"/v2/system/stats/value"}}},"example-2":{"value":{"data":{"metric":"identity-count","userIdentitiesCreatedCount":51,"activeUserIdentitiesCount":48,"pendingRegistrationsCount":3},"links":{"self":"/v2/system/stats/identity-count"}}},"example-3":{"value":{"data":{"metric":"claims","totalIssuedClaims":120,"totalActiveClaims":98,"totalRemovedClaims":14,"totalRevokedClaims":8},"links":{"self":"/v2/system/stats/claims"}}},"example-4":{"value":{"data":{"metric":"trusted-issuers","totalAddedTrustedIssuers":6,"totalActiveTrustedIssuers":5,"totalRemovedTrustedIssuers":1},"links":{"self":"/v2/system/stats/trusted-issuers"}}},"example-5":{"value":{"data":{"metric":"asset-activity","range":{"from":"2026-03-09T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":false},"grain":"day","points":[{"t":"2026-03-09T00:00:00.000Z","transferEventsCount":18,"mintEventsCount":2,"burnEventsCount":0},{"t":"2026-03-10T00:00:00.000Z","transferEventsCount":24,"mintEventsCount":1,"burnEventsCount":1},{"t":"2026-03-11T00:00:00.000Z","transferEventsCount":11,"mintEventsCount":0,"burnEventsCount":0}],"figure":{"current":57,"previous":null,"delta":null},"meta":{"unit":"events","decimals":0,"conversionReliable":true,"truncated":false}},"links":{"self":"/v2/system/stats/asset-activity?interval=day&from=2026-03-09T00:00:00.000Z&to=2026-03-11T23:59:59.000Z"}}},"example-6":{"value":{"data":{"metric":"asset-lifecycle","range":{"from":"2026-03-09T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":false},"grain":"day","points":[{"t":"2026-03-09T00:00:00.000Z","assetsCreated":8,"assetsLaunched":5},{"t":"2026-03-10T00:00:00.000Z","assetsCreated":8,"assetsLaunched":5},{"t":"2026-03-11T00:00:00.000Z","assetsCreated":9,"assetsLaunched":7}],"figure":{"current":7,"previous":null,"delta":null},"meta":{"unit":"assets","decimals":0,"conversionReliable":true,"truncated":false},"created":{"current":3,"previous":null,"delta":null}},"links":{"self":"/v2/system/stats/asset-lifecycle?interval=day&from=2026-03-09T00:00:00.000Z&to=2026-03-11T23:59:59.000Z"}}},"example-7":{"value":{"data":{"metric":"claims-history","range":{"from":"2026-03-09T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":false},"grain":"day","points":[{"t":"2026-03-09T00:00:00.000Z","totalIssuedClaims":96,"totalActiveClaims":82,"totalRemovedClaims":10,"totalRevokedClaims":4},{"t":"2026-03-10T00:00:00.000Z","totalIssuedClaims":110,"totalActiveClaims":90,"totalRemovedClaims":12,"totalRevokedClaims":8},{"t":"2026-03-11T00:00:00.000Z","totalIssuedClaims":120,"totalActiveClaims":98,"totalRemovedClaims":14,"totalRevokedClaims":8}],"figure":{"current":98,"previous":null,"delta":null},"meta":{"unit":"claims","decimals":0,"conversionReliable":true,"truncated":false}},"links":{"self":"/v2/system/stats/claims-history?interval=day&from=2026-03-09T00:00:00.000Z&to=2026-03-11T23:59:59.000Z"}}},"example-8":{"value":{"data":{"metric":"identity-history","range":{"from":"2026-03-09T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":false},"grain":"day","points":[{"t":"2026-03-09T00:00:00.000Z","activeUserIdentitiesCount":41},{"t":"2026-03-10T00:00:00.000Z","activeUserIdentitiesCount":45},{"t":"2026-03-11T00:00:00.000Z","activeUserIdentitiesCount":48}],"figure":{"current":48,"previous":null,"delta":null},"meta":{"unit":"identities","decimals":0,"conversionReliable":true,"truncated":false}},"links":{"self":"/v2/system/stats/identity-history?interval=day&from=2026-03-09T00:00:00.000Z&to=2026-03-11T23:59:59.000Z"}}},"example-9":{"value":{"data":{"metric":"trusted-issuers-history","range":{"from":"2026-03-09T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":false},"grain":"day","points":[{"t":"2026-03-09T00:00:00.000Z","totalAddedTrustedIssuers":5,"totalActiveTrustedIssuers":5,"totalRemovedTrustedIssuers":0},{"t":"2026-03-10T00:00:00.000Z","totalAddedTrustedIssuers":6,"totalActiveTrustedIssuers":6,"totalRemovedTrustedIssuers":0},{"t":"2026-03-11T00:00:00.000Z","totalAddedTrustedIssuers":6,"totalActiveTrustedIssuers":5,"totalRemovedTrustedIssuers":1}],"figure":{"current":5,"previous":null,"delta":null},"changedInRange":2,"meta":{"unit":"issuers","decimals":0,"conversionReliable":true,"truncated":false}},"links":{"self":"/v2/system/stats/trusted-issuers-history?interval=day&from=2026-03-09T00:00:00.000Z&to=2026-03-11T23:59:59.000Z"}}},"example-10":{"value":{"data":{"metric":"portfolio-value-history","range":{"from":"2026-03-04T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":true},"grain":"day","points":[{"t":"2026-03-04T00:00:00.000Z","totalValueInBaseCurrency":2210000},{"t":"2026-03-07T00:00:00.000Z","totalValueInBaseCurrency":2365400},{"t":"2026-03-11T00:00:00.000Z","totalValueInBaseCurrency":2450000.5}],"figure":{"current":2450000.5,"previous":null,"delta":null},"meta":{"unit":"currency","decimals":2,"currency":"EUR","conversionReliable":true,"truncated":false}},"links":{"self":"/v2/system/stats/portfolio-value-history?preset=trailing7Days"}}},"example-11":{"value":{"data":{"metric":"system-value-history","range":{"from":"2026-03-04T00:00:00.000Z","to":"2026-03-11T23:59:59.000Z","isPreset":true},"grain":"day","points":[{"t":"2026-03-04T00:00:00.000Z","totalValueInBaseCurrency":2210000},{"t":"2026-03-07T00:00:00.000Z","totalValueInBaseCurrency":2365400},{"t":"2026-03-11T00:00:00.000Z","totalValueInBaseCurrency":2450000.5}],"figure":{"current":2450000.5,"previous":null,"delta":null},"meta":{"unit":"currency","decimals":2,"currency":"EUR","conversionReliable":true,"truncated":false}},"links":{"self":"/v2/system/stats/system-value-history?preset=trailing7Days"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one statistic for the active system, named by `metric`. A snapshot metric answers its current value and refuses a window with 400, except `venue-summary`, which counts trades over the window it is sent and over the trailing 24 hours without one. A series metric needs a window: send `preset`, or `interval`, `from`, and `to`. Sending neither, or both, answers 400. Statistics are indexed snapshots. A just-settled transaction appears only after the indexer catches up. For `trusted-issuers` and `trusted-issuers-history`, `totalAddedTrustedIssuers` counts add events, so an issuer removed and added again counts once per add and the total can exceed the number of distinct issuers; `totalRemovedTrustedIssuers` counts remove events the same way, so an issuer removed, added again and removed again counts twice; the current and historical totals use the same counts. The call is a read and is safe to retry.","summary":"Read a system statistic","x-dalp-auth":"session-or-api-key"}},"/api/v2/system/stats/pages/{page}":{"get":{"tags":["Activity and statistics"],"operationId":"systems.stats.statsPageRead","parameters":[{"name":"page","in":"path","schema":{"type":"string","enum":["dashboard","asset-insights","participant-insights","governance-insights","offerings-insights","venue-insights","portfolio-insights","offerings-list"]},"required":true},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"compare","in":"query","schema":{"type":"string","enum":["prior"],"description":"Send prior to also get the period straight before the window, one entry per point."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"members","in":"query","schema":{"type":"string","pattern":"^[a-z-]+(?:,[a-z-]+)*$","description":"Comma-separated metrics of the page to answer, in place of every member. A page without a chart among them takes no window."},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"page":{"type":"string","enum":["dashboard","asset-insights","participant-insights","governance-insights","offerings-insights","venue-insights","portfolio-insights","offerings-list"]},"stats":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"metric":{"type":"string","enum":["assets"]},"totalAssets":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"assetBreakdown":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"valueBreakdown":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"valueBreakdownByClass":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"tokensCreatedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"tokensLaunchedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingLaunchesCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"deploymentsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many deploys are still running or have failed and not been discarded."},"deployments":{"type":"array","items":{"type":"object","properties":{"runKey":{"type":"string","minLength":1,"description":"The key of the deploy run, which the deploy page opens to show its progress."},"name":{"type":"string"},"symbol":{"type":"string"},"status":{"type":"string","enum":["deploying","failed"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["runKey","name","symbol","status","reason","startedAt"],"additionalProperties":false},"description":"The 25 newest of those deploys, with the names of the assets they deploy."},"conversionReliable":{"type":"boolean"},"compositions":{"type":"object","properties":{"valueByClass":{"$ref":"#/components/schemas/MoneyComposition"},"countByClass":{"$ref":"#/components/schemas/CountComposition"},"countByType":{"$ref":"#/components/schemas/CountComposition"}},"required":["valueByClass","countByClass","countByType"],"additionalProperties":false}},"required":["metric","totalAssets","totalValue","assetBreakdown","valueBreakdown","valueBreakdownByClass","tokensCreatedCount","tokensLaunchedCount","pendingLaunchesCount","deploymentsCount","deployments","conversionReliable","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["value"]},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"conversionReliable":{"type":"boolean"}},"required":["metric","totalValue","conversionReliable"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["country-asset-count"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAssets":{"type":"integer","minimum":0,"maximum":9007199254740991},"assetsWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalAssets","assetsWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["country-identity-count"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalIdentities":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalIdentities"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["identity-count"]},"userIdentitiesCreatedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeUserIdentitiesCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingRegistrationsCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","userIdentitiesCreatedCount","activeUserIdentitiesCount","pendingRegistrationsCount"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["claims"]},"totalIssuedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalActiveClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemovedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRevokedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","totalIssuedClaims","totalActiveClaims","totalRemovedClaims","totalRevokedClaims"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["participant-claims"]},"totalIssuedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalActiveClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemovedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRevokedClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"claimStates":{"type":"object","properties":{"active":{"type":"integer","minimum":0,"maximum":9007199254740991},"revoked":{"type":"integer","minimum":0,"maximum":9007199254740991},"removed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["active","revoked","removed"],"additionalProperties":false},"topics":{"type":"array","items":{"type":"object","properties":{"topicId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"activeClaims":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["topicId","name","activeClaims"],"additionalProperties":false}},"totalTopics":{"type":"integer","minimum":0,"maximum":9007199254740991},"topicsWithoutActiveClaims":{"type":"integer","minimum":0,"maximum":9007199254740991},"compositions":{"type":"object","properties":{"activeByTopic":{"$ref":"#/components/schemas/CountComposition"},"byState":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Active, revoked and removed verifications in that order, each above zero."}]}},"required":["activeByTopic","byState"],"additionalProperties":false}},"required":["metric","totalIssuedClaims","totalActiveClaims","totalRemovedClaims","totalRevokedClaims","claimStates","topics","totalTopics","topicsWithoutActiveClaims","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["trusted-issuers"]},"totalAddedTrustedIssuers":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Add events the trusted issuers registry recorded. An issuer removed and added again counts once per add, so the total can exceed the number of distinct issuers."},"totalActiveTrustedIssuers":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRemovedTrustedIssuers":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Remove events the trusted issuers registry recorded. An issuer removed, added again and removed again counts once per removal."}},"required":["metric","totalAddedTrustedIssuers","totalActiveTrustedIssuers","totalRemovedTrustedIssuers"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["portfolio-breakdown"]},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"totalValueExact":{"$ref":"#/components/schemas/BigDecimal"},"totalAssetTypes":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAssetsHeld":{"type":"integer","minimum":0,"maximum":9007199254740991},"typeBreakdown":{"type":"array","items":{"type":"object","properties":{"assetType":{"type":"string","minLength":1},"totalValue":{"$ref":"#/components/schemas/BigDecimal"},"tokenBalancesCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"percentage":{"type":"number","minimum":0,"maximum":100}},"required":["assetType","totalValue","tokenBalancesCount","percentage"],"additionalProperties":false}},"valueBreakdown":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"holdingsBreakdown":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"valueBreakdownByClass":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BigDecimal"}},"holdingsBreakdownByClass":{"type":"object","additionalProperties":{"type":"integer","minimum":0,"maximum":9007199254740991}},"assetClassNames":{"type":"object","additionalProperties":{"type":"string"}},"conversionReliable":{"type":"boolean"},"dayChange":{"anyOf":[{"type":"object","properties":{"absoluteChange":{"$ref":"#/components/schemas/BigDecimal"},"percentChange":{"anyOf":[{"type":"number"},{"type":"null"}]},"windowStart":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["absoluteChange","percentChange","windowStart"],"additionalProperties":false},{"type":"null"}]},"byCountry":{"type":"array","items":{"type":"object","properties":{"countryCode":{"type":"integer","minimum":0,"maximum":9007199254740991},"valueInBaseCurrency":{"$ref":"#/components/schemas/BigDecimal"},"assetCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["countryCode","valueInBaseCurrency","assetCount"],"additionalProperties":false}},"valueByCountry":{"type":"array","items":{"$ref":"#/components/schemas/PlatformPortfolioCountryValue"}},"valueCountryClasses":{"type":"array","items":{"$ref":"#/components/schemas/PlatformPortfolioCountryClass"}},"compositions":{"type":"object","properties":{"valueByClass":{"$ref":"#/components/schemas/MoneyComposition"},"holdingsByClass":{"$ref":"#/components/schemas/CountComposition"},"valueByCountry":{"allOf":[{"$ref":"#/components/schemas/MoneyComposition"},{"description":"Value by jurisdiction. Every jurisdiction has a row, and value with no jurisdiction has the key 0."}]},"valueByHolding":{"allOf":[{"$ref":"#/components/schemas/MoneyComposition"},{"description":"Value by held token, keyed by the token address in lower case. The five largest holdings have a row and the rest fold into other."}]}},"required":["valueByClass","holdingsByClass","valueByCountry","valueByHolding"],"additionalProperties":false}},"required":["metric","totalValue","totalValueExact","totalAssetTypes","totalAssetsHeld","typeBreakdown","valueBreakdown","holdingsBreakdown","valueBreakdownByClass","holdingsBreakdownByClass","assetClassNames","conversionReliable","dayChange","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["offerings-summary"]},"offerings":{"type":"array","items":{"type":"object","properties":{"saleAddress":{"$ref":"#/components/schemas/EvmAddress"},"softCapReached":{"type":"boolean"},"softCapShare":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]}},"required":["saleAddress","softCapReached","softCapShare"],"additionalProperties":false}},"raised":{"type":"array","items":{"type":"object","properties":{"currencyAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"amount":{"$ref":"#/components/schemas/BigDecimal"}},"required":["currencyAddress","symbol","amount"],"additionalProperties":false}},"totalInvestors":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalOfferings":{"type":"integer","minimum":0,"maximum":9007199254740991},"softCapReachedCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","offerings","raised","totalInvestors","totalOfferings","softCapReachedCount"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["offerings-investor-country"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalInvestors":{"type":"integer","minimum":0,"maximum":9007199254740991},"investorsWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalInvestors","investorsWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["governance-summary"]},"proposals":{"type":"array","items":{"type":"object","properties":{"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"eligibleUnits":{"$ref":"#/components/schemas/BigDecimal"},"castUnits":{"$ref":"#/components/schemas/BigDecimal"},"quorumUnits":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"progress":{"anyOf":[{"type":"object","properties":{"forVotes":{"allOf":[{"$ref":"#/components/schemas/MeterProgress"},{"description":"The for votes as a share of the proposal's eligible voting units"}]},"againstVotes":{"allOf":[{"$ref":"#/components/schemas/MeterProgress"},{"description":"The against votes as a share of the proposal's eligible voting units"}]},"abstainVotes":{"allOf":[{"$ref":"#/components/schemas/MeterProgress"},{"description":"The abstain votes as a share of the proposal's eligible voting units"}]},"turnout":{"allOf":[{"$ref":"#/components/schemas/MarkedMeterProgress"},{"description":"All cast voting units as a share of the proposal's eligible voting units, with the quorum as the marker (null when the proposal has no quorum)"}]}},"required":["forVotes","againstVotes","abstainVotes","turnout"],"additionalProperties":false},{"type":"null"}],"allOf":[{"description":"The vote shares of the eligible voting units, or null when the proposal has no eligible units yet"}]}},"required":["governorAddress","proposalId","eligibleUnits","castUnits","quorumUnits","progress"],"additionalProperties":false}},"averageTurnout":{"anyOf":[{"type":"number","minimum":0,"maximum":1},{"type":"null"}]},"compositions":{"type":"object","properties":{"proposalsByStatus":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Proposals by status in the order pending, active, succeeded, defeated, queued, executed, canceled, each above zero."}]}},"required":["proposalsByStatus"],"additionalProperties":false}},"required":["metric","proposals","averageTurnout","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["governance-voter-country"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalVoters":{"type":"integer","minimum":0,"maximum":9007199254740991},"votersWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalVoters","votersWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["venue-summary"]},"markets":{"type":"array","items":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"trades24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"lastTradeAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["marketId","venueAddress","trades24h","lastTradeAt"],"additionalProperties":false}},"trades24h":{"type":"integer","minimum":0,"maximum":9007199254740991},"venues":{"type":"integer","minimum":0,"maximum":9007199254740991},"compositions":{"type":"object","properties":{"tradesByMarket":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Trades in the window by market, keyed by the market id. Markets without a trade have no row."}]},"marketsByStatus":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"Visible markets by status in the order live, halted, suspended, pending, delisted, each above zero."}]}},"required":["tradesByMarket","marketsByStatus"],"additionalProperties":false}},"required":["metric","markets","trades24h","venues","compositions"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["venue-country"]},"countries":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountRow"},"description":"The located countries with a count above zero, highest first."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformCountryCountClass"}},"totalCountries":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalVenues":{"type":"integer","minimum":0,"maximum":9007199254740991},"venuesWithoutCountry":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["metric","countries","classes","totalCountries","totalVenues","venuesWithoutCountry"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["asset-activity"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetActivityPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetActivityPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["asset-lifecycle"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetLifecyclePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAssetLifecyclePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"created":{"$ref":"#/components/schemas/PlatformChartFigure"}},"required":["metric","range","grain","points","figure","meta","created"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["claims-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["participant-claims-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformClaimsHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"revokedInRange":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Claims revoked inside the window: the revoked total at the close of the window minus the revoked total standing just before it."}},"required":["metric","range","grain","points","figure","meta","revokedInRange"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["identity-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformIdentityHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformIdentityHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["trusted-issuers-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformTrustedIssuersHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformTrustedIssuersHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"changedInRange":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Issuers added to or removed from the registry inside the window: the add and remove events recorded between the window start and its close."}},"required":["metric","range","grain","points","figure","meta","changedInRange"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["portfolio-value-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["system-value-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformValuePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["offerings-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformOfferingPurchasePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformOfferingPurchasePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["governance-history"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformGovernanceBallotPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformGovernanceBallotPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"type":"object","properties":{"metric":{"type":"string","enum":["venue-activity"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformVenueTradePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformVenueTradePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["metric","range","grain","points","figure","meta"],"additionalProperties":false},{"$ref":"#/components/schemas/PlatformStatFailure"}]},"description":"One entry per statistic the caller's roles reach on this page, tagged by metric and shaped like the matching stats/{metric} read, or a failure for the statistic that could not be read."}},"required":["page","stats"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"page":"dashboard","stats":[{"metric":"assets","totalAssets":0,"totalValue":"example","assetBreakdown":{},"valueBreakdown":{},"valueBreakdownByClass":{},"tokensCreatedCount":0,"tokensLaunchedCount":0,"pendingLaunchesCount":0,"deploymentsCount":0,"deployments":[{"runKey":"example","name":"example","symbol":"example","status":"deploying","reason":"example","startedAt":"example"}],"conversionReliable":false,"compositions":{"valueByClass":{"rows":[{"key":"example","value":"example","shareBps":0,"sharePercent":0,"valueExact":"example"}],"other":{"value":"example","shareBps":0,"sharePercent":0,"valueExact":"example"}},"countByClass":{"rows":[{"key":"example","value":0,"shareBps":0,"sharePercent":0}],"other":{"value":0,"shareBps":0,"sharePercent":0}},"countByType":{"rows":[{"key":"example","value":0,"shareBps":0,"sharePercent":0}],"other":{"value":0,"shareBps":0,"sharePercent":0}}}}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/calendars":{"get":{"tags":["Platform administration"],"operationId":"platform.calendars.adminCalendarsList","parameters":[],"responses":{"200":{"description":"The calendars the caller may read, each with its own closures.","content":{"application/json":{"schema":{"type":"object","properties":{"calendars":{"type":"array","items":{"$ref":"#/components/schemas/PlatformHolidayCalendar"}}},"required":["calendars"],"additionalProperties":false},"examples":{"example-1":{"value":{"calendars":[{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every base holiday calendar the platform ships, each with the closures of its whole parent chain. Only a platform administrator can call this. The call is a stored read and is safe to retry.","summary":"List the platform base calendars","x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/calendars/{calendarId}":{"put":{"tags":["Platform administration"],"operationId":"platform.calendars.adminCalendarsUpsert","parameters":[{"name":"calendarId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"One holiday calendar with the closures its chain carries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformHolidayCalendar"},"examples":{"example-1":{"value":{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores one base calendar under the platform scope and returns it with its whole chain of closures. Only a platform administrator can call this. A parent that would make the calendar its own ancestor returns 409. There is no delete: a calendar an organization or a venue already names must stay readable. Repeating an identical body stores the same row again.","summary":"Create or replace one base calendar","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"jurisdiction":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"parentCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["jurisdiction","name","parentCalendarId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/admin/calendars/{calendarId}/closures":{"post":{"tags":["Platform administration"],"operationId":"platform.calendars.adminCalendarsAddClosure","parameters":[{"name":"calendarId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"One holiday calendar with the closures its chain carries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformHolidayCalendar"},"examples":{"example-1":{"value":{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds one closed day to a base calendar and returns the calendar with its whole chain of closures. Only a platform administrator can call this. The platform stamps who asked and when the closure became known, so a correction published later never moves a deadline that was already computed. Repeating the same day and kind leaves one closure.","summary":"Close one day on a base calendar","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"observedOn":{"type":"string"},"kind":{"type":"string","enum":["public","bank","settlement","exchange","oneOff"]},"description":{"type":"string","minLength":1,"maxLength":120},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["observedOn","kind"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/calendars":{"get":{"tags":["Platform settings"],"operationId":"platform.calendars.settingsCalendarsList","parameters":[],"responses":{"200":{"description":"The calendars the caller may read, each with its own closures.","content":{"application/json":{"schema":{"type":"object","properties":{"calendars":{"type":"array","items":{"$ref":"#/components/schemas/PlatformHolidayCalendar"}}},"required":["calendars"],"additionalProperties":false},"examples":{"example-1":{"value":{"calendars":[{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the holiday calendars the active organization owns, each with the closures of its whole parent chain. Base calendars are not listed here; extend one to get a calendar of your own. The call is a stored read and is safe to retry.","summary":"List this organization's calendars","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/calendars/{calendarId}":{"put":{"tags":["Platform settings"],"operationId":"platform.calendars.settingsCalendarsUpsert","parameters":[{"name":"calendarId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"if-none-match","in":"header","schema":{"type":"string","enum":["*"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"One holiday calendar with the closures its chain carries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformHolidayCalendar"},"examples":{"example-1":{"value":{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores one calendar under the active organization and returns it with its whole chain of closures. The organization is taken from the session, so a body can never place a calendar under another organization. A parent that is neither a base nor a calendar of this organization returns 404, and one that would make the calendar its own ancestor returns 409. A write on a base returns 404 for a tenant. Repeating an identical body stores the same row again.","summary":"Create or replace one of this organization's calendars","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"jurisdiction":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"parentCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["jurisdiction","name","parentCalendarId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/calendars/{calendarId}/closures":{"post":{"tags":["Platform settings"],"operationId":"platform.calendars.settingsCalendarsAddClosure","parameters":[{"name":"calendarId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"One holiday calendar with the closures its chain carries.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformHolidayCalendar"},"examples":{"example-1":{"value":{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds one closed day to a calendar the active organization owns and returns the calendar with its whole chain of closures. A closure on a base or on another organization's calendar returns 404. Inheritance only ever adds: a closure here never reopens a day an ancestor closed. Repeating the same day and kind leaves one closure.","summary":"Close one day on this organization's calendar","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"observedOn":{"type":"string"},"kind":{"type":"string","enum":["public","bank","settlement","exchange","oneOff"]},"description":{"type":"string","minLength":1,"maxLength":120},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["observedOn","kind"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/calendar-bases":{"get":{"tags":["Platform settings"],"operationId":"platform.calendars.settingsCalendarsBases","parameters":[],"responses":{"200":{"description":"The calendars the caller may read, each with its own closures.","content":{"application/json":{"schema":{"type":"object","properties":{"calendars":{"type":"array","items":{"$ref":"#/components/schemas/PlatformHolidayCalendar"}}},"required":["calendars"],"additionalProperties":false},"examples":{"example-1":{"value":{"calendars":[{"calendarId":"org-acme:be-public-holidays","jurisdiction":"BE","name":"Belgium public holidays","organizationId":"org-acme","isSystem":false,"parentCalendarId":"be-public-holidays","closures":[{"observedOn":"2026-12-25","kind":"public","knownFrom":"2026-01-01T00:00:00.000Z","source":"platform-seed","calendarId":"be-public-holidays"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every base calendar the platform ships, each with the closures of its whole parent chain. A picker needs this to offer a base an organization has not extended yet; the extension itself is created by the extend call. The call is a stored read and is safe to retry.","summary":"List the base calendars this organization may extend","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/calendars/extension-of":{"post":{"tags":["Platform settings"],"operationId":"platform.calendars.settingsCalendarsExtensionOf","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"HolidayCalendarExtension","content":{"application/json":{"schema":{"type":"object","properties":{"calendarId":{"type":"string","minLength":1}},"required":["calendarId"],"additionalProperties":false},"examples":{"example-1":{"value":{"calendarId":"example"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the active organization's calendar that extends the named base, creating it on first use. Two calls with the same base answer one identifier and leave one calendar, so a second venue joins the calendar the first one made. A base that is not a platform calendar returns 404.","summary":"Extend a base calendar","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"baseCalendarId":{"type":"string","minLength":1}},"required":["baseCalendarId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-type-template-structures":{"get":{"tags":["Platform settings"],"operationId":"platform.templateStructures.assetTypeTemplateStructuresList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"assetClass":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isPublished":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of multi-class instrument structures visible to the active organization. `meta.total` counts every matching structure rather than the rows on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the structure is published for the calling organisation: the organisation chose to publish it and every member template is published."},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the member template is published for the calling organisation."},"isHidden":{"type":"boolean","description":"Whether the calling organisation hid the member template. A hidden member keeps the structure out of issuance."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem","position","isPublished","isHidden"],"additionalProperties":false}},"deployedInstrumentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","slug","name","description","isSystem","organizationId","assetClassId","revision","isPublished","members","deployedInstrumentCount","createdAt","updatedAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"atts_northwind_dual_class","slug":"northwind-dual-class","name":"Northwind dual-class","description":"Founder and investor share classes issued as one instrument","isSystem":false,"organizationId":"org_northwind_coffee","assetClassId":"acd_northwind_equity","revision":1,"isPublished":false,"members":[{"memberId":"01990000-0000-7000-8000-000000000001","label":"Founder class","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"att_northwind_founder_shares","role":"controlling","name":"Founder shares","slug":"founder-shares","isSystem":false,"position":0,"isPublished":false,"isHidden":false}],"deployedInstrumentCount":0,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/settings/asset-type-template-structures?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/settings/asset-type-template-structures?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/settings/asset-type-template-structures?sort=name&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of instrument structures visible to the active organization, including system structures unless filtered out. Default sort is name. Filter with filter[name], filter[isSystem], filter[assetClass], filter[createdAt], filter[updatedAt], or filter[q]. filter[assetClass] matches the asset class the structure's classes share. The page is stored settings data. Repeating the read is safe.","summary":"Page through multi-class instrument structures","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Platform settings"],"operationId":"platform.templateStructures.assetTypeTemplateStructuresCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored structure. Reuse `data.id` for a later update or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the structure is published for the calling organisation: the organisation chose to publish it and every member template is published."},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the member template is published for the calling organisation."},"isHidden":{"type":"boolean","description":"Whether the calling organisation hid the member template. A hidden member keeps the structure out of issuance."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem","position","isPublished","isHidden"],"additionalProperties":false}},"deployedInstrumentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","slug","name","description","isSystem","organizationId","assetClassId","revision","isPublished","members","deployedInstrumentCount","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"atts_northwind_dual_class","slug":"northwind-dual-class","name":"Northwind dual-class","description":"Founder and investor share classes issued as one instrument","isSystem":false,"organizationId":"org_northwind_coffee","assetClassId":"acd_northwind_equity","revision":1,"isPublished":false,"members":[{"memberId":"01990000-0000-7000-8000-000000000001","label":"Founder class","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"att_northwind_founder_shares","role":"controlling","name":"Founder shares","slug":"founder-shares","isSystem":false,"position":0,"isPublished":false,"isHidden":false}],"deployedInstrumentCount":0,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/asset-type-template-structures"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Declares an explicit ordered set of instrument templates in the active organization. name and members are required. Each member carries its stable identity, role, label, and complete feature configuration. Every referenced template must be visible to the organization and published. The write waits until the declaration is stored.","summary":"Create a multi-class instrument structure","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"assetClassId":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"members":{"$ref":"#/components/schemas/AssetTypeTemplateStructureMembersInput"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["name","members"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-type-template-structures/{id}":{"put":{"tags":["Platform settings"],"operationId":"platform.templateStructures.assetTypeTemplateStructuresUpdate","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1,"description":"Declared multi-class instrument structure identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored structure. Reuse `data.id` for a later update or delete.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the structure is published for the calling organisation: the organisation chose to publish it and every member template is published."},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the member template is published for the calling organisation."},"isHidden":{"type":"boolean","description":"Whether the calling organisation hid the member template. A hidden member keeps the structure out of issuance."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem","position","isPublished","isHidden"],"additionalProperties":false}},"deployedInstrumentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","slug","name","description","isSystem","organizationId","assetClassId","revision","isPublished","members","deployedInstrumentCount","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"atts_northwind_dual_class","slug":"northwind-dual-class","name":"Northwind dual-class","description":"Founder and investor share classes issued as one instrument","isSystem":false,"organizationId":"org_northwind_coffee","assetClassId":"acd_northwind_equity","revision":1,"isPublished":false,"members":[{"memberId":"01990000-0000-7000-8000-000000000001","label":"Founder class","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"att_northwind_founder_shares","role":"controlling","name":"Founder shares","slug":"founder-shares","isSystem":false,"position":0,"isPublished":false,"isHidden":false}],"deployedInstrumentCount":0,"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-04-12T09:30:00.000Z"},"links":{"self":"/v2/settings/asset-type-template-structures"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0463","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Updates the named structure in the active organization. expectedRevision is required and rejects a stale write. Other omitted fields stay unchanged. name, slug, and description stay editable for the life of the structure. members replaces the complete declared member set and is refused after issuance. System structures are read-only. The write waits until the new revision is stored.","summary":"Update a multi-class instrument structure","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"assetClassId":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"members":{"$ref":"#/components/schemas/AssetTypeTemplateStructureMembersInput"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["expectedRevision"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Platform settings"],"operationId":"platform.templateStructures.assetTypeTemplateStructuresDelete","parameters":[{"name":"id","in":"path","schema":{"type":"string","minLength":1,"description":"Declared multi-class instrument structure identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The named structure is gone from the active organization. Its templates are untouched; only the pairing is removed. data is null because no replacement row remains. A later delete of the same id returns an error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteResponse"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the structure named by the id path parameter from the active organization. The member templates are untouched. System structures cannot be deleted, and neither can a structure a deployed instrument was issued from. A missing identifier returns an error. The delete waits until the row is gone.","summary":"Delete a multi-class instrument structure","x-dalp-auth":"session-or-api-key"}},"/api/v2/settings/asset-type-template-structures/{structureId}/publication":{"put":{"tags":["Platform settings"],"operationId":"platform.templateStructures.assetTypeTemplateStructuresPublication","parameters":[{"name":"structureId","in":"path","schema":{"type":"string","minLength":1,"description":"Declared multi-class instrument structure identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored structure with `isPublished` matching the requested state. Reuse `data.id` for later reads or changes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssetTypeTemplateStructureId"},"slug":{"type":"string","minLength":1,"maxLength":255,"pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$"},"name":{"type":"string","minLength":1,"maxLength":255},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"isSystem":{"type":"boolean"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"assetClassId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the structure is published for the calling organisation: the organisation chose to publish it and every member template is published."},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"},"name":{"type":"string","minLength":1},"slug":{"type":"string","minLength":1},"isSystem":{"type":"boolean","description":"Whether the member template is a DALP library template. Only a library template's name and description are translated from the catalog."},"position":{"type":"integer","minimum":0,"maximum":9007199254740991},"isPublished":{"type":"boolean","description":"Whether the member template is published for the calling organisation."},"isHidden":{"type":"boolean","description":"Whether the calling organisation hid the member template. A hidden member keeps the structure out of issuance."}},"required":["memberId","label","features","templateId","role","name","slug","isSystem","position","isPublished","isHidden"],"additionalProperties":false}},"deployedInstrumentCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","slug","name","description","isSystem","organizationId","assetClassId","revision","isPublished","members","deployedInstrumentCount","createdAt","updatedAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","slug":"example","name":"example","description":"example","isSystem":false,"organizationId":"example","assetClassId":"example","revision":1,"isPublished":false,"members":[{"memberId":"00000000-0000-7000-8000-000000000000","label":"example","features":[{"configuration":{"definitionId":"example","definitionRevision":1,"fields":{}},"policy":{},"instanceId":"00000000-0000-7000-8000-000000000000"}],"templateId":"example","role":"example","name":"example","slug":"example","isSystem":false,"position":0,"isPublished":false,"isHidden":false}],"deployedInstrumentCount":0,"createdAt":"example","updatedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets `published` for the named multi-class instrument structure in the active organization and returns the stored record. Publishing cascades in one transaction to any member template the organization has not yet published. Member templates stay published when a structure is unpublished. A missing identifier or unchanged state returns an error. The write waits until the publication is stored.","summary":"Set an instrument structure's publication state","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"published":{"type":"boolean"}},"required":["published"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/organizations/funding-requirements":{"get":{"tags":["Organisation deployment"],"operationId":"platform.fundingRequirements.organizationFundingRequirementsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"subjectAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subjectKind":{"anyOf":[{"type":"string","enum":["eoa","smart-account","paymaster-deposit"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["active","resolved","expired"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"lastRefusalAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of the organization's gas funding requirements: every wallet the chain refused for want of gas, with the amount that settles it. `subjectAddress`, `requiredWei`, `advisoryTotalWei`, and `observedWei` are `null` for a viewer whose executor holds none of `admin`, `systemManager`, or `gasManager`, except on a row naming one of the viewer's own wallets and on a row whose `subjectOwner` is `organisation`, which names a shared reserve any member may top up. `nativeCurrency` names and scales that row's amounts and is published to every viewer; it is `null` only when the chain catalog cannot describe the row's chain, and the row is still listed. Returns only `active` requirements unless an explicit `filter[status]` widens the query.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationFundingRequirement"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"01a00691-0c1b-7412-929d-4c01886207eb","chainId":11155111,"nativeCurrency":{"name":"Ether","symbol":"ETH","decimals":18},"subjectAddress":"0xbd7b005c1a2b3c4d5e6f708192a3b4c5d6e7f809","subjectKind":"eoa","role":"queued-write-eoa","subjectOwner":"caller","requiredWei":"8830580880000000","advisoryTotalWei":"12000000000000000","observedWei":null,"status":"active","expiresAt":"2026-08-17T11:30:00.000Z","lastRefusalAt":"2026-08-17T11:00:00.000Z","resolvedAt":null,"createdAt":"2026-08-17T11:00:00.000Z","updatedAt":"2026-08-17T11:00:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/organizations/funding-requirements?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/organizations/funding-requirements?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/organizations/funding-requirements?sort=chainId&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTINGS_THEME_PAYLOAD_EXCEEDS_SUPPORTED_LIMITS","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT","platform.http.REQUEST_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0175","DALP-12251","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.http.ACCESS_DENIED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12252","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_FOUND","PLATFORM_ASSET_CLASS_NOT_FOUND","PLATFORM_COMPLIANCE_TEMPLATE_NOT_FOUND","PLATFORM_DEPLOYMENT_NOT_FOUND","PLATFORM_DIRECTORY_NOT_FOUND","PLATFORM_FACTORY_NOT_FOUND","PLATFORM_HOLIDAY_CALENDAR_NOT_FOUND","PLATFORM_INDEXED_SYSTEM_NOT_FOUND","PLATFORM_INVITATION_NOT_FOUND","PLATFORM_MEMBER_NOT_FOUND","PLATFORM_NETWORK_NOT_FOUND","PLATFORM_ORGANIZATION_NOT_FOUND","PLATFORM_PROFILE_SECTION_NOT_FOUND","PLATFORM_PROPOSAL_NOT_FOUND","PLATFORM_SETTING_NOT_FOUND","PLATFORM_SYSTEM_NOT_FOUND","PLATFORM_TABLE_VIEW_NOT_FOUND","PLATFORM_TEMPLATE_NOT_FOUND","PLATFORM_TEMPLATE_STRUCTURE_NOT_FOUND","PLATFORM_USER_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14300","DALP-14301","DALP-14302","DALP-14303","DALP-14304","DALP-14305","DALP-14306","DALP-14307","DALP-14308","DALP-14309","DALP-14310","DALP-14311","DALP-14312","DALP-14313","DALP-14314","DALP-14315","DALP-14316","DALP-14440","DALP-14442","DALP-18233","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ACCOUNT_CLOSURE_REQUEST_NOT_OPEN","PLATFORM_ACCOUNT_CLOSURE_SELF_DECISION","PLATFORM_ACCOUNT_CLOSURE_SOLE_OWNER","PLATFORM_ACCOUNT_KIND_SWITCH_BLOCKED","PLATFORM_ADDON_INSTANCE_WIRING","PLATFORM_BUNDLER_PROVISIONING_REFUSED","PLATFORM_CUSTODY_PROVIDER_MISSING","PLATFORM_DEPLOYMENT_WITHOUT_INVITATION","PLATFORM_DEPLOY_CONFLICT","PLATFORM_EXECUTOR_UNAVAILABLE","PLATFORM_HOLIDAY_CALENDAR_CYCLE","PLATFORM_HOLIDAY_CALENDAR_EXISTS","PLATFORM_IDENTITY_MISMATCH","PLATFORM_INVITATION_CONFLICT","PLATFORM_LAST_ADMINISTRATOR","PLATFORM_LAST_OWNER","PLATFORM_MEMBERSHIP_CONFLICT","PLATFORM_MEMBER_HOLDS_ROLES","PLATFORM_NETWORK_FAMILY_DISABLED","PLATFORM_ONBOARDING_RESET_REFUSED","PLATFORM_ORGANIZATION_ARCHIVE_REFUSED","PLATFORM_ORGANIZATION_NAME_TAKEN","PLATFORM_ORGANIZATION_NOT_ACTIVE","PLATFORM_OWNER_EXPIRY_REFUSED","PLATFORM_PROFILE_SECTION_STORAGE_LOCKED","PLATFORM_SELF_MEMBERSHIP_REMOVAL","PLATFORM_SELF_SESSION_REVOCATION","PLATFORM_SETTINGS_REFUSED","PLATFORM_SETTING_CANNOT_BE_DISABLED","PLATFORM_SYSTEM_ASSET_CLASS_READONLY","PLATFORM_SYSTEM_TEMPLATE_READONLY","PLATFORM_TABLE_VIEW_LIMIT_REACHED","PLATFORM_TABLE_VIEW_NAME_EXISTS","PLATFORM_TARGET_CURRENCY_REMOVAL_FORBIDDEN","PLATFORM_TEMPLATE_ALREADY_PUBLISHED","PLATFORM_TEMPLATE_EXISTS","PLATFORM_TEMPLATE_FEATURE_CONFLICT","PLATFORM_TEMPLATE_HAS_TOKENS","PLATFORM_TEMPLATE_IN_STRUCTURE","PLATFORM_TEMPLATE_ISSUANCE_IN_PROGRESS","PLATFORM_TEMPLATE_PUBLICATION_CHANGED","PLATFORM_TEMPLATE_PUBLICATION_UNCHANGED","PLATFORM_TEMPLATE_STRUCTURE_DRAFT_MEMBER","PLATFORM_TEMPLATE_STRUCTURE_LOCKED","PLATFORM_TEMPLATE_STRUCTURE_REVISION_CONFLICT","PLATFORM_TEMPLATE_VISIBILITY_UNATTRIBUTABLE","PLATFORM_TEMPLATE_VISIBILITY_UNSUPPORTED","PLATFORM_THEME_VERSION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14347","DALP-14348","DALP-14349","DALP-14350","DALP-14351","DALP-14352","DALP-14353","DALP-14354","DALP-14355","DALP-14356","DALP-14357","DALP-14358","DALP-14359","DALP-14360","DALP-14361","DALP-14362","DALP-14363","DALP-14364","DALP-14365","DALP-14366","DALP-14367","DALP-14368","DALP-14369","DALP-14370","DALP-14371","DALP-14372","DALP-14373","DALP-14374","DALP-14375","DALP-14376","DALP-14377","DALP-14378","DALP-14379","DALP-14380","DALP-14381","DALP-14382","DALP-14383","DALP-14384","DALP-14385","DALP-14443","DALP-14444","DALP-14448","DALP-14449","DALP-181131","DALP-18232","DALP-18234","DALP-20064","DALP-22882","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"412":{"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError412"},{"type":"object","properties":{"code":{"type":"string","enum":["PLATFORM_ADDON_BLOCKED","PLATFORM_ADMIN_COUNT_NOT_SEEDED","PLATFORM_CATALOG_VERSION_CONFLICT","PLATFORM_CHAIN_READ_REFUSED","PLATFORM_CONTROLLER_MISMATCH","PLATFORM_EXECUTOR_REFUSED","PLATFORM_GAS_PAYER_REFUSED","PLATFORM_GAS_PAYER_UNAVAILABLE","PLATFORM_IF_MATCH_REQUIRED","PLATFORM_INVITATION_CREATE_INPUT_INVALID","PLATFORM_LIFECYCLE_VERSION_STALE","PLATFORM_NETWORK_EXISTS","PLATFORM_PLATFORM_SETUP_INCOMPLETE","PLATFORM_REQUIRES_GLOBAL_ENABLEMENT","PLATFORM_SYSTEM_NOT_DEPLOYED","PLATFORM_SYSTEM_RECREATION_REFUSED","PLATFORM_TARGET_CURRENCY_UNSUPPORTED_ON_SYSTEM","PLATFORM_WALLET_CANNOT_EXECUTE","PLATFORM_WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14317","DALP-14318","DALP-14319","DALP-14320","DALP-14321","DALP-14322","DALP-14323","DALP-14324","DALP-14325","DALP-14326","DALP-14327","DALP-14328","DALP-14329","DALP-14330","DALP-14331","DALP-14332","DALP-14333","DALP-14334","DALP-14435"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_ADDON_BLOCKED","status":412,"message":"This addon type cannot be created here","data":{"id":"DALP-14333","why":"This service does not create factories for the Paymaster signer addon type.","fix":"Request a different addon type.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PLATFORM_AUTH_PROVIDER_REJECTED","PLATFORM_FACTORY_TYPE_UNREGISTERED","PLATFORM_FACTORY_TYPE_UNUSABLE","PLATFORM_FILTER_UNSUPPORTED","PLATFORM_INVITATION_INPUT_INVALID","PLATFORM_INVITATION_SYSTEM_MISSING","PLATFORM_NETWORK_DEFINITION_INVALID","PLATFORM_PARAMETERS_MISMATCH","PLATFORM_ROLE_CHANGE_NOT_ATOMIC","PLATFORM_ROLE_CHANGE_REFUSED","PLATFORM_RPC_POOL_EMPTY","PLATFORM_SLUG_UNUSABLE","PLATFORM_TARGET_CURRENCY_NOT_SUPPORTED","PLATFORM_TEMPLATE_NOT_PUBLISHABLE","PLATFORM_THEME_LOGO_NOT_BASE64","SETTINGS_COMPLIANCE_TEMPLATE_INCOMPATIBLE_MODULE_SET"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0462","DALP-14335","DALP-14336","DALP-14337","DALP-14338","DALP-14339","DALP-14340","DALP-14341","DALP-14342","DALP-14343","DALP-14344","DALP-14345","DALP-14346","DALP-14388","DALP-14428","DALP-14454"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"PLATFORM_AUTH_PROVIDER_REJECTED","status":422,"message":"The identity provider refused the request","data":{"id":"DALP-14388","why":"The identity provider rejected the organisation or membership change this request asked for, so nothing was changed.","fix":"Check the request against the organisation's current members, correct it, then send it again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","platform.http.DEPENDENCY_UNAVAILABLE","platform.http.STORAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12250","DALP-12307","DALP-12332"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of funding requirements for the active organization: every wallet, smart account, or paymaster deposit the chain has refused for want of gas. Without an explicit `filter[status]` only `active` rows are returned, so the list reads as what is still owed rather than as history. Amounts are non-negative decimal integer strings in base units of each row's `nativeCurrency`; divide by ten to the power of its `decimals` to render a figure a person reads. This is the durable table, not a deployment stream decoration, so it answers outside any live deploy. Default sort is -createdAt. Repeating the read is safe.","summary":"List the organization's outstanding gas funding requirements","x-dalp-auth":"session-or-api-key"}},"/api/v2/action-inbox":{"get":{"tags":["Actions"],"operationId":"assetPortfolioV2.v2/actions/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"audience":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"activeAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"executedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"actionType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"target":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"_search":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of actions. `meta.facets` counts `status`, `audience` and `actionType` across the filtered set.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ActionRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"xvp-approve:0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9","actionType":"ApproveXvPSettlement","name":"Approve Northwind Series A settlement","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","activeAt":"2026-03-15T09:12:41.000Z","status":"PENDING","executedAt":null,"executedBy":null,"expiresAt":"2026-04-20T16:00:00.000Z","source":"on-chain","kycMetadata":{"reason":"example","requiredFields":["example"],"sourceVersionId":"example","requestId":"example"},"multisigMetadata":{"userOpHash":"example","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","initiatorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","initiatorName":"example","threshold":"example","currentWeight":"example","description":"example","operationKind":"example","approvalState":"pending","awaitingCallerSignature":false,"startedByCaller":false,"awaitingCheckerSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"awaitingCheckers":[{"signer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","checkerName":"example"}],"awaitingSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"callerSignedAt":"example","finalSigner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","finalSignedAt":"example","failureReason":"example"},"custodyMetadata":{"provider":"example","executable":false,"approvalId":"example","transactionId":"example","operationKind":"example"},"checkerMetadata":{"amount":"example","counterparty":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","counterpartyCount":0,"additionalCallCount":0,"tokenSymbol":"example","tokenDecimals":0,"multisigSigner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","makerName":"example","signerName":"example","walletName":"example"},"governanceMetadata":{"governorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"example","pollId":"example"},"dividendMetadata":{"dividendId":"example","payout":{"amount":"example","symbol":"example","decimals":0},"funding":"funded"},"approvalRequestMetadata":{"approvalId":"example","kind":"example","subjectType":"example","subjectId":"example","viewerRole":"approver","makerUserId":"example","makerName":"example","approvalsRecorded":0,"approverCount":0,"approvedByViewer":false,"decision":"approved","decidedByUserId":"example","decidedAt":"example","waivedByPolicy":"example","rejectionReason":"example","rejectionReasonCode":"approval-expired","adminMutation":{"endpoint":"example","method":"example","path":"example","target":[{"field":"example","value":"example"}],"changes":[{"field":"example","value":"example"}],"before":[{"field":"example","value":"example"}],"truncated":false,"digest":"example"},"reconciliationBreak":{"targetStatus":"resolved","resolutionNote":"example","walletId":"example","assetKey":"example","amount":"example"},"saleCreate":{"chainId":0,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","country":0,"hardCap":"example","softCap":"example","saleStart":0,"saleDuration":0,"minPurchase":"example","maxPurchase":"example","paymentCurrencies":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceRatio":"example"}],"vestingStart":0,"vestingDuration":0,"vestingCliff":0,"presaleEndTime":0,"presaleDiscountMultiplier":"example","presaleMaxPerAddress":"example","presaleWhitelist":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"termsHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"multisigInviteMetadata":{"inviteId":"example","draftName":"example","inviteUrl":"example","weight":"example","threshold":"example"},"cantonCommandMetadata":{"submissionId":"example","walletId":"example","cantonPartyId":"example","networkId":"example","operation":"example","validUntil":"example"},"cantonTransferMetadata":{"networkId":"example","instrumentAdmin":"example","instrumentId":"example","instructionContractId":"example","receiverParty":"example","senderParty":"example","amount":"example","deadline":"example"},"permitMetadata":{"signedPermitId":"00000000-0000-7000-8000-000000000000","owner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","spender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"venueApprovalMetadata":{"approvalId":"example","kind":"desk-limit","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposerUserId":"example"},"invitationRolesMetadata":{"invitationId":"example","inviteeEmail":"example","onChainRoles":["example"]},"actionable":true,"blockedReason":null,"blockedReasonCode":"opens-later","waitingOn":[{"name":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","reason":"example","reasonCode":"custody-signing"}],"movement":null,"asset":{"name":"Northwind Series A","symbol":"NWA","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"requiresWalletVerification":true,"decidedBy":null,"decidedAt":null,"waivedFor":{"name":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"addonProposalMetadata":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonName":"example","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","calldata":"0x5208","call":{"undecoded":false,"selector":"0x5208","functionName":"example","arguments":[{"name":"example","type":"example","value":"example"}]},"viewerRole":"approver","approvals":0,"requiredApprovals":0,"readyToExecute":false},"heldPriceMetadata":{"heldPriceId":"example","sourceId":"example","sourceName":"example","isin":"example","reason":"held"},"agentItemMetadata":{"itemId":"example","watcher":"payoutFunding","clientName":"example","kind":"inform","condition":"payout-underfunded"}}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of actions the authenticated caller can execute or is waiting on in the active organization. Default sort is newest `activeAt` first. Filter by `status`, `actionType`, `target`, `tokenAddress`, or `name`, and search every searchable field with `filter[q]`. Filter pending actions with `filter[audience][eq]`: `needs-you` lists what the caller has to do, `waiting-on-others` lists what waits on someone else, and either one lists pending rows only. Each row says whether the caller can act now, who acts next, what moves and which asset it concerns. Facets count `status`, `audience` and `actionType`. Repeating the request is safe.","summary":"Page callable actions","x-dalp-auth":"session-or-api-key"}},"/api/v2/action-inbox/stream":{"get":{"tags":["Actions"],"operationId":"assetPortfolioV2.v2/actions/stream","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"audience":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"activeAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"executedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"actionType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"target":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"_search":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Server-sent events that republish the same paginated action list whenever the indexed set changes. Each event `data` payload is one page of callable actions matching the query, including `meta` and paging links. Keep the stream open to refresh the actions table. After a drop, reconnect with the same query.","content":{"text/event-stream":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"actionType":{"type":"string","enum":["MatureBond","RedeemBond","ClaimYield","ClaimDividend","ApproveMaturityAllowance","ApproveYieldAllowance","ApproveXvPSettlement","ExecuteXvPSettlement","ClaimParkedXvPAmount","UpdateKYCData","MultisigApproval","custody-pending","CheckerApproval","ApprovalRequest","CastVote","CastPollBallot","ActivateVotingPower","MultisigInvite","CantonCommandDecision","CantonTransferAccept","RelayPermit","VenueApprovalDecision","AuthorizeInvitationRoles","ReportingFilingApproval","CustodyWhitelistReview","AddonProposalApproval","HeldPriceReview","AgentItem"]},"name":{"type":"string"},"target":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"tokenAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"activeAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"status":{"type":"string","enum":["PENDING","UPCOMING","EXECUTED","EXPIRED"]},"executedAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"executedBy":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"expiresAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"source":{"anyOf":[{"type":"string","enum":["on-chain","off-chain"]},{"type":"null"}]},"kycMetadata":{"anyOf":[{"type":"object","properties":{"reason":{"type":"string"},"requiredFields":{"type":"array","items":{"type":"string"}},"sourceVersionId":{"type":"string"},"requestId":{"type":"string"}},"required":["reason","requiredFields","sourceVersionId","requestId"],"additionalProperties":true},{"type":"null"}]},"multisigMetadata":{"anyOf":[{"type":"object","properties":{"userOpHash":{"type":"string"},"walletAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"initiatorAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"initiatorName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the user who started the approval. Null for rows opened before names were recorded."},"threshold":{"type":"string"},"currentWeight":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"operationKind":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvalState":{"type":"string","enum":["pending","submitted","executed","expired","failed","cancelled"]},"awaitingCallerSignature":{"type":"boolean","description":"True while the approval still collects signatures and one of the caller's seats can still sign. False once the collected weight meets the threshold."},"startedByCaller":{"type":"boolean","description":"True when one of the caller's wallets started the approval."},"awaitingCheckerSigners":{"type":"array","items":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"description":"Signers whose co-signature is held until their checker approves it. Empty when no signer waits for a checker."},"awaitingCheckers":{"type":"array","items":{"type":"object","properties":{"signer":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"checkerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the user whose approval releases the held co-signature. Null when the user has none."}},"required":["signer","checkerName"],"additionalProperties":true},"description":"The held co-signatures with the checker who must approve each. Filled while the caller has no signature to give and empty otherwise."},"awaitingSigners":{"type":"array","items":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"description":"Signers of the wallet who have not signed and whose co-signature is not held for a checker. Filled while the caller has no signature to give and empty otherwise."},"callerSignedAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"When the caller first signed this approval. Null when none of the caller's signers has signed."},"finalSigner":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Signer whose signature completed an executed approval. Null while the approval is not executed."},"finalSignedAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"When the signature that completed an executed approval was given. Null while it is not executed."},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["userOpHash","walletAddress","initiatorAddress","initiatorName","threshold","currentWeight","description","operationKind","approvalState","awaitingCallerSignature","startedByCaller","awaitingCheckerSigners","awaitingCheckers","awaitingSigners","callerSignedAt","finalSigner","finalSignedAt","failureReason"],"additionalProperties":true},{"type":"null"}]},"custodyMetadata":{"anyOf":[{"type":"object","properties":{"provider":{"type":"string"},"executable":{"type":"boolean"},"approvalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"operationKind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["provider","executable","approvalId","transactionId","operationKind"],"additionalProperties":true},{"type":"null"}]},"checkerMetadata":{"anyOf":[{"type":"object","properties":{"amount":{"anyOf":[{"type":"string"},{"type":"null"}]},"counterparty":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"counterpartyCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"additionalCallCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"tokenSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenDecimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"multisigSigner":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"sender":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Account the checked call is made from, the smart wallet when the call goes through one. Null when the stored operation cannot be read."},"makerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the user who asked for the check, recorded when the request was raised. Null for system makers and rows raised before names were recorded."},"signerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the participant holding the checked key, recorded when the request was raised. Null when the key has no named holder or for rows raised before names were recorded."},"walletName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the participant holding the wallet the request acts for, recorded when the request was raised. Null when it has no named holder or for rows raised before names were recorded."}},"required":["amount","counterparty","counterpartyCount","additionalCallCount","tokenSymbol","tokenDecimals","multisigSigner","sender","makerName","signerName","walletName"],"additionalProperties":true},{"type":"null"}]},"governanceMetadata":{"anyOf":[{"type":"object","properties":{"governorAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}]},"proposalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"pollId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["governorAddress","proposalId","pollId"],"additionalProperties":true},{"type":"null"}]},"dividendMetadata":{"anyOf":[{"type":"object","properties":{"dividendId":{"type":"string","minLength":1},"payout":{"type":"object","properties":{"amount":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["amount","symbol","decimals"],"additionalProperties":true},"funding":{"type":"string","enum":["funded","awaiting-funding"]}},"required":["dividendId"],"additionalProperties":true},{"type":"null"}]},"approvalRequestMetadata":{"anyOf":[{"type":"object","properties":{"approvalId":{"type":"string","minLength":1},"kind":{"type":"string","minLength":1},"subjectType":{"type":"string","minLength":1},"subjectId":{"type":"string","minLength":1},"viewerRole":{"type":"string","enum":["approver","maker"]},"makerUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"makerName":{"type":"string","minLength":1,"description":"Display name of the user who asked for the change, recorded when the request was raised. Absent for system makers and requests raised before names were recorded."},"approvalsRecorded":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many distinct approvers have approved this request so far, none of them the maker. Shown next to approverCount as `1 of 2`."},"approverCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many distinct approvers the request needs before it completes. It is the count its approval family required when the request was made."},"approvedByViewer":{"type":"boolean","description":"True when the caller has already approved this request. A person approves a request once, so a pending request the caller approved waits for the other approvers and offers the caller no second decision."},"decision":{"anyOf":[{"type":"string","enum":["approved","rejected"]},{"type":"null"}]},"decidedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"waivedByPolicy":{"type":"string","minLength":1,"description":"The approval policy family that waived this request: the organisation's policy asked for no second person, so no checker decided it and decidedByUserId is null."},"rejectionReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReasonCode":{"type":"string","enum":["approval-expired","action-cancelled"],"description":"Stable code for a `rejectionReason` the platform wrote: `approval-expired` when a held administrative change, or a corporate action's approval, expired before a checker decided; `action-cancelled` when a corporate action was cancelled while its approval was still open. A lapsed or cancelled corporate-action approval reads `decision: rejected` with its code, so clients tell a lapse or a cancellation from a checker's rejection by the code. Absent when a checker wrote the reason. Clients show their own wording for a code they know and fall back to `rejectionReason` for one they do not."},"adminMutation":{"type":"object","properties":{"endpoint":{"type":"string","minLength":1},"method":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"target":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the held request"},"value":{"type":"string","description":"The value the held request sets, as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":true},"description":"Path and query values that pick what the held request acts on."},"changes":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the held request"},"value":{"type":"string","description":"The value the held request sets, as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":true},"description":"What the held request body sets, at most 40 rows, secrets redacted."},"before":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the held request"},"value":{"type":"string","description":"The value the held request sets, as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":true},"description":"What the setting the request changes holds, in the same rows as changes, so a checker reads before and after. While the request waits for a decision it is the current policy, read when the row is served; once decided, it is the setting when the request was held. Present only on approval policy changes."},"truncated":{"type":"boolean","description":"Whether rows beyond the first 40 were left out."},"digest":{"type":"string","minLength":1,"description":"Digest of the full held request. The decision sends it back so it binds to what the checker read."}},"required":["endpoint","method","path","target","changes","truncated","digest"],"additionalProperties":true,"description":"The privileged change a checker decides: the endpoint, HTTP method and path the maker called, with a redacted summary of its target and changes and the digest the decision must carry. Headers are never part of it."},"reconciliationBreak":{"type":"object","properties":{"targetStatus":{"type":"string","enum":["resolved","written-off"]},"resolutionNote":{"type":"string","minLength":1},"walletId":{"type":"string","minLength":1},"assetKey":{"type":"string","minLength":1},"amount":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["targetStatus","resolutionNote","walletId","assetKey","amount"],"additionalProperties":true,"description":"The reconciliation break a resolution approval decides: the status it would apply, the maker's note, the wallet and asset, and the amount in base units (null when the chain could not answer)."},"saleCreate":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"factoryAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"country":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hardCap":{"type":"string"},"softCap":{"type":"string"},"saleStart":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"saleDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"minPurchase":{"type":"string"},"maxPurchase":{"type":"string"},"paymentCurrencies":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"priceRatio":{"type":"string"}},"required":["currency","priceRatio"],"additionalProperties":true}},"vestingStart":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"vestingDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"vestingCliff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presaleEndTime":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presaleDiscountMultiplier":{"type":"string"},"presaleMaxPerAddress":{"type":"string"},"presaleWhitelist":{"type":"array","items":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}},"termsHash":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"}},"required":["chainId","tokenAddress","factoryAddress","country","hardCap","softCap","saleStart","saleDuration","minPurchase","maxPurchase","paymentCurrencies","vestingStart","vestingDuration","vestingCliff","presaleEndTime","presaleDiscountMultiplier","presaleMaxPerAddress","presaleWhitelist","termsHash"],"additionalProperties":true,"description":"Every term of a token-sale create request the checker approves. Amounts are raw integer strings in the smallest unit; times are Unix seconds."}},"required":["approvalId","kind","subjectType","subjectId","viewerRole","makerUserId","approvalsRecorded","approverCount","approvedByViewer","decision","decidedByUserId","decidedAt"],"additionalProperties":true},{"type":"null"}]},"multisigInviteMetadata":{"anyOf":[{"type":"object","properties":{"inviteId":{"type":"string"},"draftName":{"type":"string"},"inviteUrl":{"type":"string"},"weight":{"type":"string"},"threshold":{"type":"string"}},"required":["inviteId","draftName","inviteUrl","weight","threshold"],"additionalProperties":true},{"type":"null"}]},"cantonCommandMetadata":{"anyOf":[{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"description":"Canton submission to decide, the `submissionId` of `POST /api/v2/wallets/submissions/{submissionId}/decision`."},"walletId":{"type":"string","minLength":1,"description":"Custody wallet that signs the command once it is approved."},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party the command acts as."},"networkId":{"type":"string","minLength":1,"description":"Canton network the command is submitted on."},"operation":{"type":"string","minLength":1,"description":"Short description of the command awaiting a decision."},"validUntil":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["submissionId","walletId","cantonPartyId","networkId","operation","validUntil"],"additionalProperties":true},{"type":"null"}]},"cantonTransferMetadata":{"anyOf":[{"type":"object","properties":{"networkId":{"type":"string","minLength":1,"description":"Canton network that holds the transfer instruction."},"instrumentAdmin":{"type":"string","minLength":1,"description":"Admin party of the instrument, the `instrumentAdmin` of the transfer acceptance request."},"instrumentId":{"type":"string","minLength":1,"description":"Identifier of the instrument being transferred."},"instructionContractId":{"type":"string","minLength":1,"description":"Contract id of the pending transfer instruction, the `transferInstructionContractId` of the acceptance request."},"receiverParty":{"type":"string","minLength":1,"description":"Party the organization holds that accepts the transfer, the `cantonPartyId` of the acceptance request."},"senderParty":{"type":"string","minLength":1,"description":"Party that offered the transfer."},"amount":{"type":"string","minLength":1,"description":"Decimal amount the transfer carries."},"deadline":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"Instant after which the receiver can no longer accept. Null when the instruction names none."}},"required":["networkId","instrumentAdmin","instrumentId","instructionContractId","receiverParty","senderParty","amount","deadline"],"additionalProperties":true},{"type":"null"}]},"permitMetadata":{"anyOf":[{"type":"object","properties":{"signedPermitId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Stored signed permit a Custodian relays, the `signedPermitId` of the permit relay request."},"owner":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"spender":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}},"required":["signedPermitId","owner","spender"],"additionalProperties":true},{"type":"null"}]},"venueApprovalMetadata":{"anyOf":[{"type":"object","properties":{"approvalId":{"type":"string","minLength":1,"description":"Maker-checker record of the trading venue that waits for a second venue operator."},"kind":{"type":"string","enum":["desk-limit","bust","order-cancel","fee-schedule","venue-config","order-mass-cancel"],"description":"Whether the record is a desk limit change (`desk-limit`), a trade bust (`bust`), an order cancellation (`order-cancel`), a fee schedule change (`fee-schedule`), a venue configuration change (`venue-config`), or an operator mass cancel of open orders (`order-mass-cancel`)."},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"proposerUserId":{"type":"string","minLength":1,"description":"User who proposed the record. That user can never decide it."}},"required":["approvalId","kind","venueAddress","proposerUserId"],"additionalProperties":true},{"type":"null"}]},"invitationRolesMetadata":{"anyOf":[{"type":"object","properties":{"invitationId":{"type":"string","minLength":1,"description":"Invitation whose system roles wait for a verified wallet to authorize them."},"inviteeEmail":{"type":"string","minLength":1,"description":"Address the invitation was sent to."},"onChainRoles":{"type":"array","items":{"type":"string","minLength":1},"description":"System roles the invitation asks to grant once the invitee joins."}},"required":["invitationId","inviteeEmail","onChainRoles"],"additionalProperties":true},{"type":"null"}]},"actionable":{"type":"boolean","description":"Whether the caller can act on this row now. False while the row waits on someone else, is blocked, has not opened, or is finished."},"blockedReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"In words, why a pending or upcoming row is not actionable, such as `Awaiting funding: the issuer has not funded this dividend yet.` or `You signed on 20 Oct 2026.` Null when the row is actionable or finished. `blockedReasonCode` names the same reason."},"blockedReasonCode":{"anyOf":[{"type":"string","enum":["opens-later","custody-signing","submitted-to-chain","multisig-signed","multisig-signed-threshold-reached","multisig-held","multisig-held-threshold-reached","multisig-threshold-reached","approved-by-you","awaiting-addon-approvers","awaiting-dividend-funding"],"description":"Stable code for why a row is not actionable. `opens-later`: the row opens at `activeAt`. `custody-signing`: the custody provider is signing. `submitted-to-chain`: the multisig transaction waits for confirmation. `multisig-signed` and `multisig-held`: the caller signed on `multisigMetadata.callerSignedAt`, or the caller's co-signature is held for its checker; the named `waitingOn` parties sign next. The `-threshold-reached` variants say no signer is left and the platform submits the transaction next. `multisig-threshold-reached` is the neutral variant for a caller who never signed: it names no checker hold the projection cannot identify. `approved-by-you`: the caller approved and other approvers remain. `awaiting-addon-approvers`: other add-on approvers must act. `awaiting-dividend-funding`: the issuer has not funded the dividend. Clients show their own wording for a code they know and fall back to `blockedReason` for one they do not."},{"type":"null"}],"description":"Stable code for `blockedReason`, so a client can word it in the reader's language. Null exactly when `blockedReason` is null."},"waitingOn":{"type":"array","items":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."},"reason":{"type":"string","description":"Why this party has to act before the action moves on, in English. `reasonCode` names the same reason."},"reasonCode":{"type":"string","enum":["custody-signing","signature-outstanding","checker-approval"],"description":"Stable code for why a party has to act: `custody-signing` (the custody provider is signing the transaction), `signature-outstanding` (a signer of the wallet has not signed) or `checker-approval` (a checker must approve a held co-signature). Clients show their own wording for a code they know and fall back to `reason` for one they do not."}},"required":["name","address","reason","reasonCode"],"additionalProperties":true},"description":"The parties that must act next, each with the reason. Empty when nobody else has to act first."},"movement":{"anyOf":[{"type":"object","properties":{"from":{"anyOf":[{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."}},"required":["name","address"],"additionalProperties":true},{"type":"null"}]},"to":{"anyOf":[{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."}},"required":["name","address"],"additionalProperties":true},{"type":"null"}]},"amount":{"anyOf":[{"type":"object","properties":{"value":{"type":"string","description":"Amount in base units, as a decimal integer string."},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["value","symbol","decimals"],"additionalProperties":true},{"type":"null"}],"description":"What moves. Null when the action moves no amount or the platform cannot read its unit."}},"required":["from","to","amount"],"additionalProperties":true},{"type":"null"}],"description":"Between whom and how much the action moves, in one shape for every action type. Null when the action moves nothing."},"asset":{"anyOf":[{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"},"address":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}},"required":["name","symbol","address"],"additionalProperties":true},{"type":"null"}],"description":"The asset the action concerns. Null when the action concerns no asset or the platform cannot read it."},"requiresWalletVerification":{"type":"boolean","description":"Whether the endpoint that fulfils this action can demand a wallet verification code, so the client asks for it before submitting."},"decidedBy":{"anyOf":[{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."}},"required":["name","address"],"additionalProperties":true},{"type":"null"}],"description":"Who made the decision on a completed approval. Null on every other row."},"decidedAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"When the decision on a completed approval was made. Null on every other row."},"waivedFor":{"allOf":[{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."}},"required":["name","address"],"additionalProperties":true},{"description":"The person whose request the approval policy let through without a second approval, on an approval that approvalRequestMetadata.waivedByPolicy names the family of. Absent on every other row."}]},"addonProposalMetadata":{"anyOf":[{"type":"object","properties":{"accessManager":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"addonName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the add-on whose access manager holds the proposal, such as the trading venue; null when the platform cannot name it or the caller may not read it."},"proposalId":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"target":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"proposer":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"calldata":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"call":{"anyOf":[{"type":"object","properties":{"undecoded":{"type":"boolean","enum":[false]},"selector":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"functionName":{"type":"string"},"arguments":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"required":["name","type","value"],"additionalProperties":true}}},"required":["undecoded","selector","functionName","arguments"],"additionalProperties":true},{"type":"object","properties":{"undecoded":{"type":"boolean","enum":[true]},"selector":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]}},"required":["undecoded","selector"],"additionalProperties":true}],"description":"The proposed call decoded from the target's contract type, or its selector with `undecoded` when the type or function is unknown."},"viewerRole":{"type":"string","enum":["approver","maker"]},"approvals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Recorded approvals whose approver still holds the approver role."},"requiredApprovals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Approvals the call needs before it can run."},"readyToExecute":{"type":"boolean","description":"True when the valid approvals meet the required count, so a maker-role holder can run the call."}},"required":["accessManager","addonName","proposalId","target","proposer","calldata","call","viewerRole","approvals","requiredApprovals","readyToExecute"],"additionalProperties":true},{"type":"null"}]},"heldPriceMetadata":{"anyOf":[{"type":"object","properties":{"heldPriceId":{"type":"string","minLength":1,"description":"Held price that waits for a decision. The decision is made in the review sheet of its source."},"sourceId":{"type":"string","minLength":1,"description":"Price source that delivered the held price."},"sourceName":{"type":"string","minLength":1,"description":"Display name of that price source."},"isin":{"type":"string","minLength":1,"description":"ISIN of the instrument the held price belongs to."},"reason":{"type":"string","enum":["held","correction_held"],"description":"Why the price is held: it moved past the tolerance (`held`), or it corrects a price that was already published (`correction_held`)."}},"required":["heldPriceId","sourceId","sourceName","isin","reason"],"additionalProperties":true},{"type":"null"}]},"agentItemMetadata":{"anyOf":[{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Agent item a watcher or an MCP client posted. Its brief and proposal are read from the assistant's agent items."},"watcher":{"anyOf":[{"type":"string","enum":["payoutFunding","filingDue","claimExpiry","unmatchedCredit"],"description":"A watcher: code that checks platform and indexed data on a schedule and posts prepared work to the Actions inbox. `payoutFunding` checks that the paying treasury covers a cash dividend, distribution or coupon before its date; `filingDue` finds a filing due within its warning window with no submission; `claimExpiry` finds identity claims an asset's rules need that expire within 30 days for its current holders; `unmatchedCredit` finds a bank credit left unmatched in suspense past 24 hours."},{"type":"null"}],"description":"The watcher that posted the item; null for an item an MCP client prepared."},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name the MCP client registered with, for an item it prepared; null for a watcher's item."},"kind":{"type":"string","enum":["inform","approve","decide","context","error"],"description":"What the item asks of the person. `inform` reports a finding; `approve` carries a prepared draft that opens the existing control filled in; `decide` offers two or three options, each with its consequence; `context` asks for one missing fact; `error` says a watcher run failed and how it retries."},"condition":{"type":"string","enum":["payout-underfunded","filing-unsubmitted","claims-expiring","credit-unmatched","run-failed","client-request"],"description":"The condition the watcher found. At most one item per subject and condition is open at a time, and the item resolves itself when the condition clears. `client-request` is a write an MCP client prepared for the member who signed it in; it resolves when the member opens the draft or dismisses it."}},"required":["itemId","watcher","clientName","kind","condition"],"additionalProperties":true},{"type":"null"}]}},"required":["id","actionType","name","target","tokenAddress","activeAt","status","executedAt","executedBy","expiresAt","actionable","blockedReason","blockedReasonCode","waitingOn","movement","asset","requiresWalletVerification","decidedBy","decidedAt"],"additionalProperties":true}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":true}}}},"required":["total"],"additionalProperties":true},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":true}},"required":["data","meta","links"],"additionalProperties":true},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"data":[{"id":"xvp-approve:0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9","actionType":"ApproveXvPSettlement","name":"Approve Northwind Series A settlement","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","activeAt":"2026-03-15T09:12:41.000Z","status":"PENDING","executedAt":null,"executedBy":null,"expiresAt":"2026-04-20T16:00:00.000Z","source":"on-chain","kycMetadata":{"reason":"example","requiredFields":["example"],"sourceVersionId":"example","requestId":"example"},"multisigMetadata":{"userOpHash":"example","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","initiatorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","initiatorName":"example","threshold":"example","currentWeight":"example","description":"example","operationKind":"example","approvalState":"pending","awaitingCallerSignature":false,"startedByCaller":false,"awaitingCheckerSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"awaitingCheckers":[{"signer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","checkerName":"example"}],"awaitingSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"callerSignedAt":"example","finalSigner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","finalSignedAt":"example","failureReason":"example"},"custodyMetadata":{"provider":"example","executable":false,"approvalId":"example","transactionId":"example","operationKind":"example"},"checkerMetadata":{"amount":"example","counterparty":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","counterpartyCount":0,"additionalCallCount":0,"tokenSymbol":"example","tokenDecimals":0,"multisigSigner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","makerName":"example","signerName":"example","walletName":"example"},"governanceMetadata":{"governorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"example","pollId":"example"},"dividendMetadata":{"dividendId":"example","payout":{"amount":"example","symbol":"example","decimals":0},"funding":"funded"},"approvalRequestMetadata":{"approvalId":"example","kind":"example","subjectType":"example","subjectId":"example","viewerRole":"approver","makerUserId":"example","makerName":"example","approvalsRecorded":0,"approverCount":0,"approvedByViewer":false,"decision":"approved","decidedByUserId":"example","decidedAt":"example","waivedByPolicy":"example","rejectionReason":"example","rejectionReasonCode":"approval-expired","adminMutation":{"endpoint":"example","method":"example","path":"example","target":[{"field":"example","value":"example"}],"changes":[{"field":"example","value":"example"}],"before":[{"field":"example","value":"example"}],"truncated":false,"digest":"example"},"reconciliationBreak":{"targetStatus":"resolved","resolutionNote":"example","walletId":"example","assetKey":"example","amount":"example"},"saleCreate":{"chainId":0,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","country":0,"hardCap":"example","softCap":"example","saleStart":0,"saleDuration":0,"minPurchase":"example","maxPurchase":"example","paymentCurrencies":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceRatio":"example"}],"vestingStart":0,"vestingDuration":0,"vestingCliff":0,"presaleEndTime":0,"presaleDiscountMultiplier":"example","presaleMaxPerAddress":"example","presaleWhitelist":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"termsHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"multisigInviteMetadata":{"inviteId":"example","draftName":"example","inviteUrl":"example","weight":"example","threshold":"example"},"cantonCommandMetadata":{"submissionId":"example","walletId":"example","cantonPartyId":"example","networkId":"example","operation":"example","validUntil":"example"},"cantonTransferMetadata":{"networkId":"example","instrumentAdmin":"example","instrumentId":"example","instructionContractId":"example","receiverParty":"example","senderParty":"example","amount":"example","deadline":"example"},"permitMetadata":{"signedPermitId":"00000000-0000-7000-8000-000000000000","owner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","spender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"venueApprovalMetadata":{"approvalId":"example","kind":"desk-limit","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposerUserId":"example"},"invitationRolesMetadata":{"invitationId":"example","inviteeEmail":"example","onChainRoles":["example"]},"actionable":true,"blockedReason":null,"blockedReasonCode":"opens-later","waitingOn":[{"name":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","reason":"example","reasonCode":"custody-signing"}],"movement":null,"asset":{"name":"Northwind Series A","symbol":"NWA","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"requiresWalletVerification":true,"decidedBy":null,"decidedAt":null,"waivedFor":{"name":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"addonProposalMetadata":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonName":"example","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","calldata":"0x5208","call":{"undecoded":false,"selector":"0x5208","functionName":"example","arguments":[{"name":"example","type":"example","value":"example"}]},"viewerRole":"approver","approvals":0,"requiredApprovals":0,"readyToExecute":false},"heldPriceMetadata":{"heldPriceId":"example","sourceId":"example","sourceName":"example","isin":"example","reason":"held"},"agentItemMetadata":{"itemId":"example","watcher":"payoutFunding","clientName":"example","kind":"inform","condition":"payout-underfunded"}}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a server-sent event stream that republishes the same paginated action list whenever the indexed set changes. Send the same collection query as the list route. The stream accepts browser credentials only from the API host origin; an untrusted origin answers 403. Reconnect with the same query after a drop.","summary":"Stream action-list snapshots","x-dalp-auth":"session-or-api-key"}},"/api/v2/user-asset-balances":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/user/assets","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"custodyAccountId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"groupBy","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false}],"responses":{"200":{"description":"One page of the caller's token balances. Amounts are scaled decimal strings. `meta.groups` appears only when the request grouped by metadata.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/HoldingRow"}},"meta":{"$ref":"#/components/schemas/HoldingsMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","accountAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","value":"125000","frozen":"0","available":"125000","locked":"example","transferable":"example","nextUnlockAt":"example","held":"0","atVenue":"0","valueInBaseCurrency":"125000.00","priceInBaseCurrency":"1","priceInBaseCurrencyReliable":true,"priceChange24hPercent":"0.40","priceAsOf24h":"0.996","costBasis":"124500.00","averageCostInBase":"example","unrealizedPnl":"500.00","unrealizedPnlPercent":"0.40","costBasisIncomplete":false,"token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Northwind Coffee Bond","symbol":"NCB","type":"bond","isExternal":false,"decimals":"example","totalSupply":"50000000","totalSupplyExact":"0","bond":{"isMatured":false},"yield":null},"byAccount":[{"sourceAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sourceKind":"eoa","value":"125000","frozen":"0","pendingOutgoing":"0","available":"125000","locked":"example","transferable":"example","nextUnlockAt":"example","authorities":[{"custodyAccountId":"019c0000-0000-7000-8000-000000000001","signingAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","providerConfigurationId":"019c0000-0000-7000-8000-000000000002","provider":"fireblocks","accountLifecycle":"active","contextLifecycle":"active","eligibility":"eligible","isPrimary":true}]}],"metadataValues":{},"pnl30d":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","pnl":0}],"prior":[{"t":"example","pnl":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}}}],"meta":{"total":1,"facets":{},"groups":[{"key":"example","label":"example"}],"groupBy":{"key":"example","label":"example"},"unrealizedTotals":{"costBasis":"124500.00","costBasisExact":"124500.004","unrealizedPnl":"500.00","unrealizedPnlPercent":"0.40","costBasisIncomplete":false,"incompleteHoldings":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"example","name":"example"}]}},"links":{"self":"/v2/user-asset-balances?sort=-balance&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/user-asset-balances?sort=-balance&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/user-asset-balances?sort=-balance&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","USER_ASSETS_METADATA_KEY_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-9252"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one identity portfolio with custody-account-aware source balances. `filter[custodyAccountId]` selects one authorized source. AA smart-account assets occur once and list each linked custody account as authority. Default sort is largest balance first. Filter by token address, name, or symbol, and group by metadata when the token carries it. Repeating the request is safe.","summary":"Page token balances","x-dalp-auth":"session-or-api-key"}},"/api/v2/user-realized-pnl":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/user/realizedPnl","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of disposals. `meta.realizedPnlTotalInBase` is the caller's all-time realized P&L in the organization's base currency, not the sum of this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RealizedPnlRow"}},"meta":{"$ref":"#/components/schemas/RealizedPnlMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"disposal:0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae:0","tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","tokenSymbol":"NCB","quantity":"10000","proceedsInBase":"10250.00","costOfDisposalInBase":"10000.00","realizedPnlInBase":"250.00","priceUnresolved":false,"costBasisIncomplete":false,"blockTimestamp":"2026-03-15T09:12:41.000Z"}],"meta":{"total":1,"realizedPnlTotalInBase":"1840.00"},"links":{"self":"/v2/user-realized-pnl?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/user-realized-pnl?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/user-realized-pnl?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of disposals (burns and transfers out of the caller's wallets) with proceeds, cost, and realized P&L in the organization's base currency. Default sort is newest block first. `filter[pnlSign]` keeps gains, losses, or zeros. `meta.realizedPnlTotalInBase` is the all-time total, not the page sum. A disposal of units that were acquired with no price has `costBasisIncomplete: true` and no `costOfDisposalInBase` or `realizedPnlInBase`; the total is then null too, because it cannot be stated. Repeating the request is safe.","summary":"List realized profit and loss","x-dalp-auth":"session-or-api-key"}},"/api/v2/user-pnl-metrics":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/user/pnlMetrics","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"metric","in":"query","schema":{"type":"string","enum":["realized","unrealized"]},"required":true},{"name":"tokenAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"The requested P&L series and its resolved range.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RealizedPnlSeries"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UnrealizedPnlSeries"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"data":{"range":{"interval":"day","from":"2026-02-15T00:00:00.000Z","to":"2026-03-15T00:00:00.000Z","isPreset":true},"data":[{"timestamp":"2026-03-15T00:00:00.000Z","realizedPnlInBase":"250.00","cumulativeRealizedPnlInBase":"1840.00"}]},"links":{"self":"/api/v2/user-pnl-metrics?metric=realized&preset=month"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","USER_ASSETS_METADATA_KEY_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-9252"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the caller's realized or unrealized P&L series. Set `metric=realized` for cumulative disposal P&L, or `metric=unrealized` with `tokenAddress` for mark-to-market P&L. The `preset` interval controls the buckets.","summary":"Read P&L metrics","x-dalp-auth":"session-or-api-key"}},"/api/v2/user-pnl/export":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/user/pnlExport","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"kind","in":"query","schema":{"type":"string","enum":["realized","realized-series","unrealized-series"]},"required":true},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"tokenAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PnlExport"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false,"examples":[{"data":{"filename":"unrealized-series-pnl-2026-01-01T00:00:00.000Z-2026-01-08T00:00:00.000Z.csv","contentType":"text/csv","csv":"timestamp,unrealizedPnlInBase,unpricedLots\n"},"links":{"self":"/api/v2/user-pnl/export"}}]},"examples":{"example-1":{"value":{"data":{"filename":"unrealized-series-pnl-2026-01-01T00:00:00.000Z-2026-01-08T00:00:00.000Z.csv","contentType":"text/csv","csv":"timestamp,unrealizedPnlInBase,unpricedLots\n"},"links":{"self":"/api/v2/user-pnl/export"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","USER_ASSETS_METADATA_KEY_INVALID"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-9252"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/portfolio/returns":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/portfolio/returns/read","parameters":[],"responses":{"200":{"description":"The caller's portfolio yield returns, with a `self` link to this resource.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReturnsView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"amounts":{"totalEarned":"example","pendingCollection":"example","collected":"example","collectedYtd":"example"},"byType":[{"amounts":{"totalEarned":"example","pendingCollection":"example","collected":"example","collectedYtd":"example"},"type":"fixed","percentage":100}],"byAsset":[{"amounts":{"totalEarned":"example","pendingCollection":"example","collected":"example","collectedYtd":"example"},"assetAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","assetName":"Northwind Coffee Bond","assetSymbol":"NCB","assetType":"bond","returnType":"fixed","rateBps":500,"nextEventAt":"2026-06-30T08:00:00.000Z","accrual":"accruing","fundingStatus":"covered"}],"upcomingEvents":[{"assetAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","assetName":"Northwind Coffee Bond","assetSymbol":"NCB","returnType":"fixed","label":"Quarterly coupon","eventAt":"2026-06-30T08:00:00.000Z","amount":"350.00"}]},"links":{"self":"/v2/portfolio/returns"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","RETURNS_SNAPSHOT_CONTENTION","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0732","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns fixed, dividend, and interest amounts the authenticated caller has earned, collected, or still has pending, grouped by type and by asset. Amounts are in the organization's base currency. There are no query parameters. Repeating the request is safe.","summary":"Read portfolio yield returns","x-dalp-auth":"session-or-api-key"}},"/api/v2/external-tokens":{"get":{"tags":["External tokens"],"operationId":"assetPortfolioV2.v2/externalToken/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"type":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"tokenType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"origin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"dismissed":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string"},{"type":"number"}]},"ne":{"anyOf":[{"type":"string"},{"type":"number"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"externalRegisteredAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of tokens in the organization's external-token registry. `meta.total` counts every matching registration, not only the ones on this page, and `meta.facets` buckets them by `type`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ExternalTokenView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"25000000","type":"stablecoin","pausable":null,"asOf":"2026-03-04T09:12:39.000Z","externalRegisteredAt":"2026-03-04T09:12:41.000Z","externalRegisteredBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"externalDetectedInterfaces":["ERC20"],"implementsERC3643":false,"implementsSMART":false,"origin":"auto","dismissed":false,"indexingStatus":"indexed","quarantineReason":null}],"meta":{"total":1},"links":{"self":"/v2/external-tokens?sort=externalRegisteredAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/external-tokens?sort=externalRegisteredAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/external-tokens?sort=externalRegisteredAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the organization's external-token registry on the active chain, newest registration first. Narrow it to one token with `filter[id]` (equality on the token address; a value that is not an address is refused), to one type with `filter[tokenType]`, or search name, symbol, and address with `filter[q]`. Narrow it by how a token was registered with `filter[origin]` (`manual` or `auto`), and by `filter[dismissed]` (`true` or `false`). `origin` is `auto` when the platform detected the token arriving in a managed wallet and registered it. A dismissed token stays registered, and the platform does not detect it again; registering it by hand brings it back. The organization's holdings, portfolio, holder lists, token catalog, token details, and marks leave it out. Only a caller holding the tokenManager role sees dismissed tokens and `quarantineReason`. `totalSupply` and `pausable` are what the token contract answered when it was registered, and `asOf` says when that read happened (`null` for tokens registered before the time was recorded). `indexingStatus` says whether the indexer tracks the token: `not_indexed` when the organization's system is outside the indexing scope, `catching_up` while the registration or its history is still being indexed, `attention` when indexing failed or the token is quarantined, and `indexed` otherwise. Repeating the request is safe.","summary":"Page registered external tokens","x-dalp-auth":"session-or-api-key"},"post":{"tags":["External tokens"],"operationId":"assetPortfolioV2.v2/externalToken/register","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted registration. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the token appears in the registry, or until the Canton operation settles.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExternalTokenRegisterResult"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","tokenAddress":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/external-tokens"}}},"example-2":{"value":{"data":{"tokenAddress":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"},"meta":{"txHashes":[]},"links":{"self":"/v2/external-tokens"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-12253","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues registration of an existing ERC-20 on the active chain. The 202 body carries a `transactionId` and `statusUrl` you poll until the registration is indexed. The contract must expose readable `symbol` and `decimals`, and the organization must not already track the address as an active, hand-registered token. Registering a token the platform detected automatically, or one the organization dismissed, brings it back instead: the token stops being dismissed and takes the requested `tokenType` for this organization. When the organization's system first registered the token on chain under a different type, the same request queues the registry's type update and answers like a registration, with a 202 `transactionId` and `statusUrl`. Otherwise no transaction is queued, and the 200 body returns only `tokenAddress` with empty `txHashes`. Do not submit a second registration until you have read the first attempt's status. When the body names `instrumentAdmin` and `instrumentId` instead of `tokenAddress`, the same route records a Canton instrument's type label in the ledger registry: the command is submitted as the body's `cantonPartyId` party, and the 202 handle reports the operation the same way.","summary":"Queue external-token registration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalTokenRegister"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/external-tokens/{assetId}/dismissals":{"post":{"tags":["External tokens"],"operationId":"assetPortfolioV2.v2/externalToken/dismiss","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The dismissed registration, with `dismissed` set to `true`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ExternalTokenView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","name":"USD Coin","symbol":"USDC","decimals":6,"totalSupply":"25000000","type":"stablecoin","pausable":null,"asOf":"2026-03-04T09:12:39.000Z","externalRegisteredAt":"2026-03-04T09:12:41.000Z","externalRegisteredBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"externalDetectedInterfaces":["ERC20"],"implementsERC3643":false,"implementsSMART":false,"origin":"auto","dismissed":true,"indexingStatus":"indexed","quarantineReason":null},"links":{"self":"/api/v2/external-tokens/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/dismissals"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","EXTERNAL_TOKEN_MANAGER_REQUIRED","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-0751","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Dismisses one token in the organization's external-token registry on the active chain, named by its contract address. Use it for tokens the platform registered automatically that the organization does not want to track. The token stays registered, and the platform does not detect it again. The organization's holdings, portfolio, holder lists, token catalog, token details, and marks leave it out. To bring it back, register it by hand with `POST /api/v2/external-tokens`. The caller needs the tokenManager role on the organization's system; anyone else gets 403. A token the organization never registered answers 404. Dismissing a dismissed token again answers the same view.","summary":"Dismiss an external token","x-dalp-auth":"session-or-api-key"}},"/api/v2/accounts":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/account/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"entityType":{"anyOf":[{"type":"string","enum":["eoa","asset","bond","equity","fund","deposit","stablecoin","real-estate","precious-metal","system","smart-account","operator-wallet","contract"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of indexed accounts. `meta.total` counts every matching account, not only this page. `links.prev` and `links.next` are null at the ends of the collection.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AccountView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","entityType":"operator-wallet","contractName":null,"nativeBalance":"2500000000000000000","nativeBalanceObservedAtBlock":"8923411","nativeBalanceObservedAt":"2026-03-15T09:12:41.000Z","funding":{"role":"operator-wallet","measure":"native","measuredWei":"2500000000000000000","lowMarkWei":"100000000000000000","status":"healthy"},"lastBalanceIncreaseAt":"2026-03-14T18:30:00.000Z"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/accounts?sort=-firstSeenBlock&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/accounts?sort=-firstSeenBlock&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/accounts?sort=-firstSeenBlock&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed accounts and their native-gas balances on the active chain. Paging uses `page[limit]` (default 50, maximum 200) and `page[offset]`. Default sort is newest first-seen block descending. Filter on `chainId`, `entityType`, or native-balance fields. The relayer wallet also carries `lastBalanceIncreaseAt`: when the platform last saw the balance rise, inside the history retention window. It is the time of the read that saw the rise, not the time the transfer was mined, and it is left out when no rise was seen. Repeating the request is safe.","summary":"Page indexed accounts","x-dalp-auth":"session-or-api-key"}},"/api/v2/accounts/{chainId}/{address}":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/account/byAddress","parameters":[{"name":"chainId","in":"path","schema":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"required":true},{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The requested account and links to this resource and its native-balance history. `data` is the latest indexed observation.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AccountView"},"links":{"type":"object","properties":{"self":{"type":"string"},"history":{"type":"string"}},"required":["self","history"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","entityType":"operator-wallet","contractName":null,"nativeBalance":"2500000000000000000","nativeBalanceObservedAtBlock":"8923411","nativeBalanceObservedAt":"2026-03-15T09:12:41.000Z","funding":{"role":"operator-wallet","measure":"native","measuredWei":"2500000000000000000","lowMarkWei":"100000000000000000","status":"healthy"},"lastBalanceIncreaseAt":"2026-03-14T18:30:00.000Z"},"links":{"self":"/v2/accounts/11155111/0x71C7656EC7ab88b098defB751B7401B5f6d8976F","history":"/v2/accounts/11155111/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/native-balance/history"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexed native-gas balance for the account named by `chainId` and `address`. The path chain must match the organization's active chain or the platform answers 409. An address the indexer has not seen answers 404. The relayer wallet also carries `lastBalanceIncreaseAt`, as described for the account list. Repeating the request is safe.","summary":"Read one indexed account","x-dalp-auth":"session-or-api-key"}},"/api/v2/accounts/{chainId}/{address}/native-balance/history":{"get":{"tags":["Accounts and portfolio"],"operationId":"assetPortfolioV2.v2/account/nativeBalanceHistory","parameters":[{"name":"chainId","in":"path","schema":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"required":true},{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"since":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of native-gas observations for the account, newest block first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/NativeBalanceObservation"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"11155111:0x71c7656ec7ab88b098defb751b7401b5f6d8976f:8923411","chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nativeBalance":"2500000000000000000","nativeBalanceObservedAtBlock":"8923411","nativeBalanceObservedAt":"2026-03-15T09:12:41.000Z"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/accounts/11155111/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/native-balance/history?filter%5Bsince%5D=8900000&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/accounts/11155111/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/native-balance/history?filter%5Bsince%5D=8900000&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/accounts/11155111/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/native-balance/history?filter%5Bsince%5D=8900000&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns observed native-gas balances for one account, newest observation first. `filter[since]` is optional and `page[limit]` cannot exceed 100. History is retained only for the configured window. The path chain must match the active chain. Repeating the request is safe.","summary":"List native-balance history","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/proposals":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"token":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["pending","active","succeeded","defeated","queued","executed","canceled"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"mode":{"anyOf":[{"type":"string","enum":["binary","multiOption"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"proposer":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"deadlineAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"held":{"type":"boolean","enum":[true],"description":"Keep only proposals on tokens a wallet of the caller holds right now (a positive balance today). A wallet that held the token earlier but holds none now does not match."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of token-governor proposals. `meta.total` counts every matching proposal, not only this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProposalListRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"42","governorAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","timelockAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","votesSourceAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"active","mode":"binary","optionCount":null,"title":"Extend the Series A coupon window","description":"Holders vote whether to extend the next coupon payment by 30 days.","createdExternally":false,"snapshotAt":"2026-03-16T08:00:00.000Z","deadlineAt":"2026-03-23T08:00:00.000Z","etaAt":null,"quorumBps":1000,"approvalThresholdBps":7500,"votingPeriodSeconds":604800,"executionDelaySeconds":172800,"forVotes":"125000000000000000000000","againstVotes":"0","abstainVotes":"0","totalBallots":"1","optionTallies":null,"createdAt":"2026-03-15T09:12:41.000Z","executedAt":null,"canceledAt":null,"callerBallotCast":true,"callerSnapshotVotes":null,"callerWalletVotes":null}],"meta":{"total":1},"links":{"self":"/v2/addons/governance/proposals?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/governance/proposals?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/governance/proposals?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of proposals across the organization's token governors. Set `scope=held` to include only tokens held by the authenticated participant in the active organization and chain. Default sort is `createdAt`. Filter by `token`, `status`, `mode`, `proposer`, or `deadlineAt`. `callerBallotCast` is true when one of the caller's wallets has already cast a ballot on the proposal. `callerSnapshotVotes` is the voting power the caller's executing wallet held at the proposal's snapshot, set only on an active proposal the caller has not voted on and null otherwise, so a list can tell whether a vote is still the caller's to cast. `callerWalletVotes` lists, on those same proposals, each of the caller's wallets that held voting power at the snapshot, largest first, and is null otherwise. The collection is indexed state, so a newly created proposal appears after the create transaction is indexed. Repeating the request is safe.","summary":"List governance proposals","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted governance write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GovernanceCreateSettledData"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","governorAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","timelockAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","proposalId":"42"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/governance/proposals"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","GOVERNANCE_TIMELOCK_MISSING_ROLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9155","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_ACTION_NOT_IN_CATALOG","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9154","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a new proposal on the token's governor. Binary proposals may carry executable actions; multi-option proposals are resolution-only and require at least two options. The 202 body carries a `statusUrl` you poll until the proposal is indexed. Do not submit a second create until you have read the first attempt's status. A body that carries `instrumentAdmin` is a Canton proposal instead: it names its configuration by the contract id a platform read returned and submits `Proposal_Create` as the party wallet in the body.","summary":"Create a governance proposal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GovernanceProposalCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/governors/{governorAddress}/proposals/{proposalId}":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/read","parameters":[{"name":"governorAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"required":true}],"responses":{"200":{"description":"The requested proposal including targets, calldata, documents, and option labels, with a `self` link.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProposalReadView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"42","governorAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","timelockAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","votesSourceAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"active","mode":"binary","optionCount":null,"title":"Extend the Series A coupon window","description":"Holders vote whether to extend the next coupon payment by 30 days.","createdExternally":false,"snapshotAt":"2026-03-16T08:00:00.000Z","deadlineAt":"2026-03-23T08:00:00.000Z","etaAt":null,"quorumBps":1000,"approvalThresholdBps":7500,"votingPeriodSeconds":604800,"executionDelaySeconds":172800,"forVotes":"125000000000000000000000","againstVotes":"0","abstainVotes":"0","totalBallots":"125000000000000000000000","optionTallies":null,"createdAt":"2026-03-15T09:12:41.000Z","executedAt":null,"canceledAt":null,"targets":[],"values":[],"calldatas":[],"descriptionHash":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","descriptionRichText":"<p>Holders vote whether to extend the next coupon payment by 30 days.</p>","documents":null,"options":null,"supersedesProposalId":null,"snapshotTotalVotingUnits":"500000000000000000000000","quorumVotes":"50000000000000000000000","approvalVotes":"93750000000000000000000","results":{"segments":[{"kind":"for","optionIndex":null,"votes":"125000000000000000000000","shareBps":10000,"barBps":2500},{"kind":"against","optionIndex":null,"votes":"0","shareBps":0,"barBps":0},{"kind":"abstain","optionIndex":null,"votes":"0","shareBps":0,"barBps":0}],"notVotedBps":7500,"turnoutBps":2500,"quorumTickBps":1000,"approvalTickBps":1875,"approvalBps":10000,"quorumMet":true,"approvalMet":true,"leaderOptionIndex":null,"tie":false},"callerSnapshotVotes":"125000000000000000000000","callerWalletVotes":[{"wallet":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","votes":"125000000000000000000000"}]},"links":{"self":"/v2/addons/governance/governors/0x5FbDB2315678afecb367f032d93F642f64180aa3/proposals/42"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one proposal including targets, calldata, documents, and option labels. `callerSnapshotVotes` is the voting power the caller's executing wallet held at the proposal's snapshot, and is null while the snapshot is not taken or the weight cannot be measured. `callerWalletVotes` lists each of the caller's wallets that held voting power at the snapshot, largest first, with that power; it is empty when none did, and null while the snapshot is not taken or the weights cannot be measured. `proposalId` is the on-chain uint256 as a decimal string. A proposal that is not indexed on this governor answers 404. Repeating the request is safe.","summary":"Read a governance proposal","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/governors/{governorAddress}/proposals/{proposalId}/ballots":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/ballots","parameters":[{"name":"governorAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"voter":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"castAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of ballots cast on the named proposal. Each row is one voter's support or option and weight.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProposalBallot"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"voter":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","support":"for","optionIndex":null,"optionLabel":"example","weight":"125000000000000000000000","reason":"Extending the coupon window matches the harvest calendar.","castAt":"2026-03-16T10:04:12.000Z","transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/addons/governance/governors/0x5FbDB2315678afecb367f032d93F642f64180aa3/proposals/42/ballots?sort=castAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/governance/governors/0x5FbDB2315678afecb367f032d93F642f64180aa3/proposals/42/ballots?sort=castAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/governance/governors/0x5FbDB2315678afecb367f032d93F642f64180aa3/proposals/42/ballots?sort=castAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of ballots cast on the named proposal. Each row is one voter's support or option, weight, optional reason, and transaction hash. Repeating the request is safe.","summary":"List proposal ballots","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/governors/{governorAddress}/proposals/{proposalId}/turnout":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/turnout","parameters":[{"name":"governorAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"required":true},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/ProposalTurnoutPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/ProposalTurnoutPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["range","grain","points","figure","meta"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","turnout":0}],"prior":[{"t":"example","turnout":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/governors/{governorAddress}/proposals/{proposalId}/export":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/export","parameters":[{"name":"governorAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"proposalId","in":"path","schema":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"required":true}],"responses":{"200":{"description":"CSV of every ballot on the named proposal, with a `self` link.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProposalExport"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"filename":"proposal-42-ballots.csv","contentType":"text/csv","csv":"voter,support,weight,transactionHash\n0x71C7656EC7ab88b098defB751B7401B5f6d8976F,for,125000,0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae\n"},"links":{"self":"/v2/addons/governance/governors/0x5FbDB2315678afecb367f032d93F642f64180aa3/proposals/42/export"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a CSV of every ballot on the named proposal. Use this for an audit export rather than paging the ballots collection. Repeating the request is safe and does not change votes.","summary":"Export proposal ballots as CSV","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/votes":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/votes/cast","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted governance write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GovernanceLifecycleSettledData"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","proposalId":"42"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/governance/votes"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a vote on an active proposal. Send `support` for a binary proposal or `optionIndex` for a multi-option proposal, never both. A voter with zero snapshot weight or a proposal that is not in the voting window is rejected. Poll the 202 `statusUrl` before you submit another vote on the same proposal. A body that carries `instrumentAdmin` is a Canton ballot instead: it names the proposal and the voting-power record by their contract ids and submits `Proposal_Vote` as the party wallet in the body.","summary":"Cast a governance vote","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GovernanceVoteCast"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/vote-preflights":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/votes/castPreflight","parameters":[],"responses":{"200":{"description":"The vote would be accepted now. Nothing was signed or queued. The refusals it can return are the ones the vote returns for the same state, so a ballot that is cleared here can still be refused if the state changes before it is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteCastPreflightOutput"},"examples":{"example-1":{"value":{"action":"castVote"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteCastPreflight"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/queue-operations":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/queue","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted governance write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GovernanceLifecycleSettledData"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","proposalId":"42"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/governance/votes"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a succeeded proposal into the timelock. The proposal must already have passed its vote and must not already be queued, executed, or canceled. Poll the 202 `statusUrl` before you send execute. A Canton body closes the proposal's vote with the snapshot supply it passes and submits `Proposal_CloseVote` as the party wallet in the body.","summary":"Queue a succeeded proposal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GovernanceProposalQueue"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/executions":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/execute","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted governance write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GovernanceLifecycleSettledData"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","proposalId":"42"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/governance/votes"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues execution of a proposal whose timelock delay has elapsed. The proposal must be in the queued state. Poll the 202 `statusUrl` until the execute transaction is indexed. A Canton body executes the proposal under the execution capability its body names, as the party wallet in the body.","summary":"Execute a queued proposal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GovernanceProposalExecute"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/configurations":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/configurations/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a Canton governance configuration on an instrument: the quorum its proposals need, the window voting runs for, and the execution timelock. It creates `GovernanceConfig` as the party wallet in the body and answers with the id of the contract it created, which every later proposal then names. This route serves Canton configurations only: a body naming no `instrumentAdmin` is refused for the family, because nothing EVM-side opens a governance configuration. The operation id is the submission id, so the status URL is the transaction-request read.","summary":"Create a governance configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonGovernanceConfigCreateInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/execution-capabilities":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/executionCapabilities/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a Canton governance execution capability on an instrument: the standing delegation an approved and queued proposal performs its action through. It creates `GovernanceExecutionCapability` as the party wallet in the body and answers with the id of the contract it created, which a proposal then names when it executes. This route serves Canton capabilities only: a body naming no `instrumentAdmin` is refused for the family, because nothing EVM-side opens an execution capability. The operation id is the submission id, so the status URL is the transaction-request read.","summary":"Create a governance execution capability","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonGovernanceExecutionCapabilityCreateInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/configurations/{configId}":{"delete":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/configurations/revoke","parameters":[{"name":"configId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of the Canton governance configuration being retired, as a platform read returned it. The template behind it is pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires a Canton governance configuration capability, so no further proposal can be opened against it. It exercises `GovernanceConfig_Revoke` on the configuration the path names, and it is one of the Canton-only addon writes: this route serves Canton configurations only, the path segment is the contract id a platform read returned, and an EVM governance address is refused for the family rather than looked up. The write submits as the party wallet in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Revoke a governance configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonGovernanceConfigRevokeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/execution-capabilities/{capabilityId}":{"delete":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/executionCapabilities/revoke","parameters":[{"name":"capabilityId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of the Canton execution capability being retired, as a platform read returned it. Disarming every queued proposal at once is what revoking it does."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires a Canton execution capability, which disarms every queued proposal that would have executed under it. It exercises `GovernanceExecutionCapability_Revoke` on the capability the path names, and it is a Canton-only addon write for the same reason the configuration revocation is. The write submits as the party wallet in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Revoke a governance execution capability","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonGovernanceExecutionCapabilityRevokeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/cancellations":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/proposals/cancel","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted governance write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"transactionHash":{"type":"string"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"required":["transactionHash","proposalId"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","proposalId":"42"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/governance/votes"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues cancellation of a proposal that has not yet executed. An executed proposal cannot be canceled. Poll the 202 `statusUrl` before you treat the proposal as gone.","summary":"Cancel a governance proposal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalLifecycle"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/instances/{assetId}":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/instances/read","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Whether the token has a deployed governor, with a `self` link. Addresses are null when `exists` is false.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/GovernanceInstance"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"exists":true,"tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","governorAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","timelockAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","votesSourceAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"},"links":{"self":"/v2/addons/governance/instances/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns whether the token has a deployed governor and, when it does, the governor, timelock, and votes-source addresses. `exists` is false when the token has no governance addon. The path segment is the asset's own identifier: a token contract address is read here, and a Canton instrument id answers 422 `OperationFamilyUnsupportedError`, because a governance instance is the EVM governor and timelock pair and the Canton twin of this read is the governance configuration collection. Repeating the request is safe.","summary":"Read a token governance instance","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/preflights":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/preflights/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Preflight verdict for the proposed actions. This route writes no chain state.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProposalPreflight"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"governorExists":true,"governorAddress":"0x5FbDB2315678afecb367f032d93F642f64180aa3","timelockAddress":"0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512","votingPowerAttached":true,"actionAuthority":[{"action":"setYieldSchedule","target":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","hasTimelockAuthority":true,"operationAllowlisted":true}],"grantRoleCta":null,"metadataKeyLocks":[]},"links":{"self":"/v2/addons/governance/preflights"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Checks whether the token has a governor and whether each proposed action is allowlisted and authorized for the timelock. This route writes no chain state. Repeat it after you change the action list or after a role grant settles.","summary":"Preflight a proposal's actions","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"actions":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/GovernanceAction"},"maxItems":10},{"type":"null"}]}},"required":["tokenAddress"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/document-uploads":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/documents/upload","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Time-limited PUT URL for a proposal attachment. PUT the bytes, then include `objectKey` on create.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProposalDocumentUploadGrant"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"uploadUrl":"https://objects.northwind.example/upload/proposal-terms.pdf","objectKey":"governance/proposals/42/terms.pdf","expiresAt":"2026-03-15T10:12:41.000Z","method":"PUT","headers":{"content-type":"application/pdf"}},"links":{"self":"/v2/addons/governance/document-uploads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a time-limited PUT URL for a proposal attachment. The file must be at most 25 MB and one of the allowed MIME types. PUT the bytes to `uploadUrl`, then include the returned `objectKey` on the create-proposal payload. Request a new URL if the previous one has expired.","summary":"Create a proposal document upload URL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposalDocumentUpload"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/document-downloads":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/documents/download","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Time-limited GET URL for a document already attached to a proposal.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProposalDocumentDownloadGrant"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"downloadUrl":"https://objects.northwind.example/download/proposal-terms.pdf","fileName":"proposal-terms.pdf","mimeType":"application/pdf","expiresAt":"2026-03-15T10:12:41.000Z"},"links":{"self":"/v2/addons/governance/document-downloads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a time-limited GET URL for a document already attached to a proposal. Send the governor, proposal id, and `objectKey`. Request a new URL if the previous one has expired. This route does not change proposal state.","summary":"Create a proposal document download URL","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"objectKey":{"type":"string","minLength":1}},"required":["governorAddress","proposalId","objectKey"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/polls":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The created off-chain poll. The write landed immediately and did not queue a chain transaction.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PollView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","chainId":11155111,"tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","title":"Dividend policy for harvest 2026","description":"Choose whether Northwind Coffee pays the 2026 harvest dividend in USDC or additional NCB.","options":["Pay in USDC","Pay in additional NCB"],"recordDateAt":"2026-03-20T08:00:00.000Z","opensAt":"2026-03-21T08:00:00.000Z","closesAt":"2026-03-28T08:00:00.000Z","status":"open","definitionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-03-15T09:12:41.000Z","updatedAt":"2026-03-15T09:12:41.000Z"},"links":{"self":"/v2/addons/governance/polls"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","GOVERNANCE_POLL_OPERATOR_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9147","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores an off-chain poll against a token. Send at least two options and a record date, open time, and close time. The poll is stored immediately and does not queue a chain transaction. Creating the same title twice is allowed; each call allocates a new poll id.","summary":"Create a governance poll","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PollCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["open","closed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordDateAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"opensAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"closesAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of off-chain polls in the active organization. `meta.total` counts every matching poll.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PollView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","chainId":11155111,"tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","title":"Dividend policy for harvest 2026","description":"Choose whether Northwind Coffee pays the 2026 harvest dividend in USDC or additional NCB.","options":["Pay in USDC","Pay in additional NCB"],"recordDateAt":"2026-03-20T08:00:00.000Z","opensAt":"2026-03-21T08:00:00.000Z","closesAt":"2026-03-28T08:00:00.000Z","status":"open","definitionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-03-15T09:12:41.000Z","updatedAt":"2026-03-15T09:12:41.000Z"}],"meta":{"total":1},"links":{"self":"/v2/addons/governance/polls?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/governance/polls?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/governance/polls?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of off-chain polls in the active organization. Default sort is `createdAt`. Filter by `tokenAddress`, `status`, or the record, open, and close timestamps. Repeating the request is safe.","summary":"List governance polls","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/polls/{pollId}":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/read","parameters":[{"name":"pollId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The requested poll with its running tally and total ballot count.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PollReadView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","chainId":11155111,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","title":"Dividend policy for harvest 2026","description":"Choose whether Northwind Coffee pays the 2026 harvest dividend in USDC or additional NCB.","options":["Pay in USDC"],"recordDateAt":"2026-03-20T08:00:00.000Z","opensAt":"2026-03-21T08:00:00.000Z","closesAt":"2026-03-28T08:00:00.000Z","status":"open","definitionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-03-15T09:12:41.000Z","updatedAt":"2026-03-15T09:12:41.000Z","tally":[{"optionIndex":0,"label":"Pay in USDC","ballotCount":3,"weightExact":"90000","shareBps":7200}],"totalBallots":4,"callerBallotCast":true,"callerWalletVotes":[{"wallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","votes":"0"}]},"links":{"self":"/v2/addons/governance/polls/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one poll with its running tally and total ballot count. `callerBallotCast` is true when one of the caller's wallets has already cast a ballot on the poll. `pollId` is the UUID the platform assigned at create. A missing poll or a poll that belongs to another organization answers 404. Repeating the request is safe.","summary":"Read a governance poll","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/polls/{pollId}/ballots":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/castBallot","parameters":[{"name":"pollId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored ballot. A voter may submit only one ballot on a poll.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BallotRecorded"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"pollId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","voterAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","optionIndex":0,"typedData":{"domain":{"name":"example","version":"example","chainId":11155111,"salt":"0x0000000000000000000000000000000000000000000000000000000000000000"},"types":{"PollBallot":[{"name":"example","type":"example"}]},"primaryType":"PollBallot","message":{"pollId":"00000000-0000-7000-8000-000000000000","chainId":11155111,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","voter":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","optionIndex":0,"definitionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"signature":"0x5208","weightExact":"90000","submittedAt":"2026-03-21T09:15:00.000Z"},"links":{"self":"/v2/addons/governance/polls/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b/ballots"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records a ballot whose `definitionHash` and `signature` the caller already produced. The poll must be open. A voter may submit only one ballot. The write is stored immediately; repeating the same signed payload after a success returns a conflict rather than a second vote.","summary":"Cast a signed poll ballot","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BallotCast"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/polls/{pollId}/ballots/sign":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/signBallot","parameters":[{"name":"pollId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The platform-signed ballot that was just stored.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BallotRecorded"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"pollId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","voterAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","optionIndex":0,"typedData":{"domain":{"name":"example","version":"example","chainId":11155111,"salt":"0x0000000000000000000000000000000000000000000000000000000000000000"},"types":{"PollBallot":[{"name":"example","type":"example"}]},"primaryType":"PollBallot","message":{"pollId":"00000000-0000-7000-8000-000000000000","chainId":11155111,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","voter":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","optionIndex":0,"definitionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"signature":"0x5208","weightExact":"90000","submittedAt":"2026-03-21T09:15:00.000Z"},"links":{"self":"/v2/addons/governance/polls/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b/ballots/sign"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-12035","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12038","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Asks the platform to sign `optionIndex` with the caller's authorized wallet and store the ballot. The poll must be open. A pending custody approval answers 409; a signer recovery failure answers 503 and is retryable. Do not submit a second sign until the first attempt has settled.","summary":"Sign and cast a poll ballot","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BallotSignRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/polls/{pollId}/close":{"post":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/close","parameters":[{"name":"pollId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The closed poll and its final tally. No further ballots are accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PollTally"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","chainId":11155111,"tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","title":"Dividend policy for harvest 2026","description":"Choose whether Northwind Coffee pays the 2026 harvest dividend in USDC or additional NCB.","options":["Pay in USDC","Pay in additional NCB"],"recordDateAt":"2026-03-20T08:00:00.000Z","opensAt":"2026-03-21T08:00:00.000Z","closesAt":"2026-03-28T08:00:00.000Z","status":"closed","definitionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-03-15T09:12:41.000Z","updatedAt":"2026-03-15T09:12:41.000Z","tally":[{"optionIndex":0,"label":"Pay in USDC","ballotCount":3,"weightExact":"90000","shareBps":7200},{"optionIndex":1,"label":"Pay in additional NCB","ballotCount":1,"weightExact":"35000","shareBps":2800}],"totalBallots":4},"links":{"self":"/v2/addons/governance/polls/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b/close"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","GOVERNANCE_POLL_OPERATOR_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9147","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Closes an open poll so no further ballots are accepted and returns the final tally. Closing an already closed poll is rejected. The write is stored immediately and does not queue a chain transaction.","summary":"Close a governance poll","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/governance/polls/{pollId}/export":{"get":{"tags":["Governance"],"operationId":"governanceV2.v2/governance/polls/export","parameters":[{"name":"pollId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"CSV of every ballot on the named poll, with a `self` link.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PollExport"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"filename":"poll-0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b-ballots.csv","contentType":"text/csv","csv":"voter,optionIndex,weight\n0x71C7656EC7ab88b098defB751B7401B5f6d8976F,0,90000\n"},"links":{"self":"/v2/addons/governance/polls/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b/export"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","GOVERNANCE_POLL_OPERATOR_REQUIRED","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9147","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a CSV of every ballot on the named poll. Use this for an audit export rather than paging the poll read. Repeating the request is safe and does not change ballots.","summary":"Export poll ballots as CSV","x-dalp-auth":"session-or-api-key"}},"/api/v2/historical-balances/at-block":{"get":{"tags":["Accounts and portfolio"],"operationId":"tokenPortfolioReadsV2.v2/historicalBalances/atBlock","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"block","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false},{"name":"timestamp","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false}],"responses":{"200":{"description":"One page of token-balance snapshots as of the requested block. `kind` is `account` for a holder row and `totalSupply` for the token supply row.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/HistoricalBalanceRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"tokenAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"account","balance":"125000","balanceExact":"125000000000000000000000","asOfBlockNumber":"8923411","asOfBlockTimestamp":"2026-03-15T09:12:41.000Z","asOfTxHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","asOfLogIndex":4}],"meta":{"total":1},"links":{"self":"/v2/historical-balances/at-block?block=8923411&filter%5Baccount%5D=0x71C7656EC7ab88b098defB751B7401B5f6d8976F&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/historical-balances/at-block?block=8923411&filter%5Baccount%5D=0x71C7656EC7ab88b098defB751B7401B5f6d8976F&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/historical-balances/at-block?block=8923411&filter%5Baccount%5D=0x71C7656EC7ab88b098defB751B7401B5f6d8976F&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns token-balance snapshots as of the required `block` number. You must send `filter[tokenAddress]` or `filter[account]`; those discriminators accept only the `eq` operator. `kind` distinguishes account balances from total-supply rows. Repeating the request is safe.","summary":"List balances at a block","x-dalp-auth":"session-or-api-key"}},"/api/v2/contracts/{address}":{"get":{"tags":["Systems and factories"],"operationId":"tokenPortfolioReadsV2.v2/contracts/read","parameters":[{"name":"address","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Preview of the requested address on the active chain, with a `self` link. `registration.eligible` tells you whether a subsequent external-token registration would be accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ContractInspection"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"address":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","hasCode":true,"token":{"name":"Northwind Coffee Bond","symbol":"NCB","decimals":18,"totalSupply":"50000000"},"isSmart":true,"knownTo":"factory-token","registration":{"eligible":false,"blockingReason":"system-managed"},"parentToken":null},"links":{"self":"/v2/contracts/0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a preview of any address on the active chain: whether it has code, a best-effort ERC-20 card, whether it advertises a SMART interface, and whether the organization can register it as an external token. Use `registration.eligible` before you submit a registration. Repeating the request is safe.","summary":"Inspect a contract address","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/actions":{"get":{"tags":["Actions"],"operationId":"tokenPortfolioReadsV2.v2/token/actions","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"audience":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"activeAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"executedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"actionType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"target":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"_search":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of actions. `meta.facets` counts `status`, `audience` and `actionType` across the filtered set.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ActionRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"xvp-approve:0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9","actionType":"ApproveXvPSettlement","name":"Approve Northwind Series A settlement","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","activeAt":"2026-03-15T09:12:41.000Z","status":"PENDING","executedAt":null,"executedBy":null,"expiresAt":"2026-04-20T16:00:00.000Z","source":"on-chain","kycMetadata":{"reason":"example","requiredFields":["example"],"sourceVersionId":"example","requestId":"example"},"multisigMetadata":{"userOpHash":"example","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","initiatorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","initiatorName":"example","threshold":"example","currentWeight":"example","description":"example","operationKind":"example","approvalState":"pending","awaitingCallerSignature":false,"startedByCaller":false,"awaitingCheckerSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"awaitingCheckers":[{"signer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","checkerName":"example"}],"awaitingSigners":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"callerSignedAt":"example","finalSigner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","finalSignedAt":"example","failureReason":"example"},"custodyMetadata":{"provider":"example","executable":false,"approvalId":"example","transactionId":"example","operationKind":"example"},"checkerMetadata":{"amount":"example","counterparty":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","counterpartyCount":0,"additionalCallCount":0,"tokenSymbol":"example","tokenDecimals":0,"multisigSigner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","sender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","makerName":"example","signerName":"example","walletName":"example"},"governanceMetadata":{"governorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposalId":"example","pollId":"example"},"dividendMetadata":{"dividendId":"example","payout":{"amount":"example","symbol":"example","decimals":0},"funding":"funded"},"approvalRequestMetadata":{"approvalId":"example","kind":"example","subjectType":"example","subjectId":"example","viewerRole":"approver","makerUserId":"example","makerName":"example","approvalsRecorded":0,"approverCount":0,"approvedByViewer":false,"decision":"approved","decidedByUserId":"example","decidedAt":"example","waivedByPolicy":"example","rejectionReason":"example","rejectionReasonCode":"approval-expired","adminMutation":{"endpoint":"example","method":"example","path":"example","target":[{"field":"example","value":"example"}],"changes":[{"field":"example","value":"example"}],"before":[{"field":"example","value":"example"}],"truncated":false,"digest":"example"},"reconciliationBreak":{"targetStatus":"resolved","resolutionNote":"example","walletId":"example","assetKey":"example","amount":"example"},"saleCreate":{"chainId":0,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","country":0,"hardCap":"example","softCap":"example","saleStart":0,"saleDuration":0,"minPurchase":"example","maxPurchase":"example","paymentCurrencies":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceRatio":"example"}],"vestingStart":0,"vestingDuration":0,"vestingCliff":0,"presaleEndTime":0,"presaleDiscountMultiplier":"example","presaleMaxPerAddress":"example","presaleWhitelist":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"termsHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"multisigInviteMetadata":{"inviteId":"example","draftName":"example","inviteUrl":"example","weight":"example","threshold":"example"},"cantonCommandMetadata":{"submissionId":"example","walletId":"example","cantonPartyId":"example","networkId":"example","operation":"example","validUntil":"example"},"cantonTransferMetadata":{"networkId":"example","instrumentAdmin":"example","instrumentId":"example","instructionContractId":"example","receiverParty":"example","senderParty":"example","amount":"example","deadline":"example"},"permitMetadata":{"signedPermitId":"00000000-0000-7000-8000-000000000000","owner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","spender":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"venueApprovalMetadata":{"approvalId":"example","kind":"desk-limit","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposerUserId":"example"},"invitationRolesMetadata":{"invitationId":"example","inviteeEmail":"example","onChainRoles":["example"]},"actionable":true,"blockedReason":null,"blockedReasonCode":"opens-later","waitingOn":[{"name":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","reason":"example","reasonCode":"custody-signing"}],"movement":null,"asset":{"name":"Northwind Series A","symbol":"NWA","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"requiresWalletVerification":true,"decidedBy":null,"decidedAt":null,"waivedFor":{"name":"example","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"addonProposalMetadata":{"accessManager":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonName":"example","proposalId":"0x0000000000000000000000000000000000000000000000000000000000000000","target":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","proposer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","calldata":"0x5208","call":{"undecoded":false,"selector":"0x5208","functionName":"example","arguments":[{"name":"example","type":"example","value":"example"}]},"viewerRole":"approver","approvals":0,"requiredApprovals":0,"readyToExecute":false},"heldPriceMetadata":{"heldPriceId":"example","sourceId":"example","sourceName":"example","isin":"example","reason":"held"},"agentItemMetadata":{"itemId":"example","watcher":"payoutFunding","clientName":"example","kind":"inform","condition":"payout-underfunded"}}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/action-inbox?sort=-activeAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`.\n- A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of actions that target the token named in the path, including allowance and yield rows whose `target` is a feature address. Default sort is newest `activeAt` first. Filter by `status`, `actionType`, `target`, `name`, or `filter[audience][eq]` (`needs-you` or `waiting-on-others`, pending rows only). Repeating the request is safe.","summary":"Page actions for a token","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/participants/roles":{"get":{"tags":["Actions"],"operationId":"tokenPortfolioReadsV2.v2/token/participantRolesView","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"_search":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signingAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"operationsAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"accountAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isContract":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"eoaRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"smartWalletRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"missingRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"drift":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of participants and the asset-access roles they hold on the token. `drift` is true when signing and operations addresses disagree.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantRolesRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"participantId":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","displayName":"Northwind Coffee Treasury","signingAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","operationsAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","accountAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false,"eoaRoles":["governance"],"smartWalletRoles":["governance"],"missingRoles":["admin"],"drift":false,"expiries":[{"role":"admin","account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","expiresAt":"example"}]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/tokens/0x8ba1f109551bD432803012645Ac136ddd64DBA72/participants/roles?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/tokens/0x8ba1f109551bD432803012645Ac136ddd64DBA72/participants/roles?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/tokens/0x8ba1f109551bD432803012645Ac136ddd64DBA72/participants/roles?sort=displayName&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`.\n- A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","PORTFOLIO_HOLDINGS_PROJECTION_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14022","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of participants and the asset-access roles they hold on the token, split across signing and operations addresses. `drift` is true when the two address sets disagree. Filter by address, role, or `drift`. Repeating the request is safe.","summary":"List participant roles on a token","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/price-history":{"get":{"tags":["Actions"],"operationId":"tokenPortfolioReadsV2.v2/token/priceHistory","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenPriceSeries"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"interval":"hour","from":"example","to":"example","isPreset":false},"data":[{"timestamp":"example","priceInBase":"example"}]},"links":{"self":"example"}}}}}}},"400":{"description":"The path segment is not a token contract address and the request sent no `instrumentAdmin`, so it names neither an EVM token nor a Canton instrument. Send an address, or send the instrument id together with `instrumentAdmin`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REF_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","PORTFOLIO_QUERY_REJECTED","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0707","DALP-12299","DALP-12308","DALP-14258","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REF_INVALID","status":400,"message":"Token reference is incomplete","data":{"id":"DALP-0707","why":"The asset reference cannot identify a token in its stated family.","fix":"Send an EVM contract address, or a Canton instrument id together with its instrument admin.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","wire.http.SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12253","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIONS_STREAM_ORIGIN_REJECTED","ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-0671","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIONS_STREAM_ORIGIN_REJECTED","status":403,"message":"Live actions feed requires Console origin","data":{"id":"DALP-0671","why":"The live actions feed carries browser session cookies, and the request origin did not match the Console origin accepted for live updates.","fix":"Refresh the Console and retry the actions view. An API client authenticates the stream with an API key, or calls `GET /api/v2/action-inbox` instead.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","PORTFOLIO_RESOURCE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-0733","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_POLL_NOT_OPEN","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","REQUEST_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","portfolio.polls.SIGNING_PENDING"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12335","DALP-14262","DALP-9086","DALP-9141","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","EXTERNAL_TOKEN_REGISTRATION_REJECTED","GOVERNANCE_BALLOT_REJECTED","GOVERNANCE_PROPOSAL_PREFLIGHT_FAILED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0734","DALP-0736","DALP-14259"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"EXTERNAL_TOKEN_REGISTRATION_REJECTED","status":422,"message":"The external token wasn't registered","data":{"id":"DALP-0736","why":"The address did not pass on-chain ERC-20 metadata verification, or it is already registered.","fix":"Check that the address exposes name, symbol, and decimals on this chain, and that it is not registered already.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["GOVERNANCE_BALLOT_RATE_LIMITED","TOO_MANY_REQUESTS","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136","DALP-12193","DALP-9164"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","GOVERNANCE_STATE_UNAVAILABLE","PORTFOLIO_PERSISTENCE_FAILED","PORTFOLIO_RETURNS_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","portfolio.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0735","DALP-0737","DALP-12106","DALP-12307","DALP-9260"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/obligations":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"regime":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"publishedVersion":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"disabledAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Every reporting obligation the active organization can see: its own, plus the platform catalog entries every deployment carries.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingObligation"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"obl_mica_art_quarterly","organizationId":"org_1","isSystem":false,"name":"MiCA asset-referenced token quarterly report","description":"Quarterly reserve and holder position report for an asset-referenced token issuer.","regime":"mica","reportingEntityLei":"529900T8BM49AURSDO55","publishedVersion":3,"cadence":"quarterly","reportKind":"holder-register","disabledAt":null,"editable":true,"anchoringEnabled":true,"anchorSeverities":["error"]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/reporting/obligations","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every reporting obligation the active organization can see: the ones it configured, plus the platform catalog entries every deployment carries. A catalog entry reads `editable: false`. Repeating the request is safe.","summary":"List reporting obligations","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsCreateDraft","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Creates a draft obligation.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingObligation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"obl_mica_art_quarterly","organizationId":"org_1","isSystem":false,"name":"MiCA asset-referenced token quarterly report","description":"Quarterly reserve and holder position report for an asset-referenced token issuer.","regime":"mica","reportingEntityLei":"529900T8BM49AURSDO55","publishedVersion":3,"cadence":"quarterly","reportKind":"holder-register","disabledAt":null,"editable":true,"anchoringEnabled":true,"anchorSeverities":["error","warning"]},"links":{"self":"/v2/reporting/obligations/obl_mica_art_quarterly"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a draft obligation. The draft is not yet a duty: nothing materializes a filing period until a version is published. You choose the identifier, so retrying after a lost response is safe.","summary":"Create a reporting obligation draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingObligationDraftWrite"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/obligations/{obligationId}":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsGet","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The requested obligation as configured.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingObligation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"obl_mica_art_quarterly","organizationId":"org_1","isSystem":false,"name":"MiCA asset-referenced token quarterly report","description":"Quarterly reserve and holder position report for an asset-referenced token issuer.","regime":"mica","reportingEntityLei":"529900T8BM49AURSDO55","publishedVersion":3,"cadence":"quarterly","reportKind":"holder-register","disabledAt":null,"editable":true,"anchoringEnabled":true,"anchorSeverities":["error","warning"]},"links":{"self":"/v2/reporting/obligations/obl_mica_art_quarterly"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one obligation as configured, with the version pointer naming its latest published version. An obligation outside the active organization answers 404. Repeating the request is safe.","summary":"Read a reporting obligation","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsUpdateDraft","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Replaces the draft configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingObligation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"obl_mica_art_quarterly","organizationId":"org_1","isSystem":false,"name":"MiCA asset-referenced token quarterly report","description":"Quarterly reserve and holder position report for an asset-referenced token issuer.","regime":"mica","reportingEntityLei":"529900T8BM49AURSDO55","publishedVersion":3,"cadence":"quarterly","reportKind":"holder-register","disabledAt":null,"editable":true,"anchoringEnabled":true,"anchorSeverities":["error","warning"]},"links":{"self":"/v2/reporting/obligations/obl_mica_art_quarterly"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the draft configuration. Published versions are untouched, so a filing already generated stays explainable by the version it was generated under. A platform catalog obligation answers 409.","summary":"Update a reporting obligation draft","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingObligationDraftWrite"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsDisable","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The obligation, now carrying its disabled timestamp.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingObligation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"obl_mica_art_quarterly","organizationId":"org_1","isSystem":false,"name":"MiCA asset-referenced token quarterly report","description":"Quarterly reserve and holder position report for an asset-referenced token issuer.","regime":"mica","reportingEntityLei":"529900T8BM49AURSDO55","publishedVersion":3,"cadence":"quarterly","reportKind":"holder-register","disabledAt":null,"editable":true,"anchoringEnabled":true,"anchorSeverities":["error","warning"]},"links":{"self":"/v2/reporting/obligations/obl_mica_art_quarterly"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stops new filing periods. Open periods run to completion and the published versions stay on record, because a duty the organization once owed is part of its record. There is no delete.","summary":"Disable a reporting obligation","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/obligations/{obligationId}/draft":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsDraft","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingObligationDraft"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"obligationId":"quarterly-holder-register","name":"Quarterly holder register","description":"The holder register, filed every quarter.","regime":"eu-holder-register","config":{"scopeExpression":{"kind":"self"},"dataPointSet":[{"identifier":"holders_of_record","label":"Holders of record","type":"integer","dimensions":[]}],"derivationRules":[{"dataPoint":"holders_of_record","source":"holder-register","field":"count","aggregate":"count"}],"validationRules":[],"reportSet":["holder-register"],"cadence":"quarterly","deadlineRule":{"anchor":"periodEnd","offset":30,"unit":"calendarDays","calendars":["target2","target2"],"roll":"following","cutoffLocalTime":"17:00","timeZone":"UTC"},"filerCalendar":"target2","authorityCalendar":"target2","outputFormat":"csv","fulfilmentMode":"publication","operatorApprovalAllowed":false,"acceptsNilReturn":true,"retentionClass":"seven-years","reachBackMonths":0}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/obligations/{obligationId}/publish":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsPublish","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The frozen version the draft became.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingObligationVersion"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","obligationId":"obl_mica_art_quarterly","version":3,"publishedAt":"2026-08-21T12:49:00.000Z","publishedBy":"usr_compliance_lead","config":{"scopeExpression":{"kind":"self"},"dataPointSet":[{"identifier":"holders","label":"Holders in issue","type":"integer","denomination":"example","dimensions":["example"]}],"derivationRules":[{"dataPoint":"holders","source":"holder-register","field":"count","aggregate":"none"}],"validationRules":[{"identity":"reserve-non-negative","version":1,"severity":"blocking","expression":"reserve >= 0","message":"Reserve may not be negative","effectiveFrom":"2026-01-01","effectiveTo":"example"}],"reportSet":["holder-register"],"tokenAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"custodiedOnly":false,"dormancyThresholdMonths":1,"cadence":"quarterly","deadlineRule":{"anchor":"periodEnd","offset":25,"unit":"calendarDays","calendars":["EU_TARGET2","EU_TARGET2"],"roll":"following","cutoffLocalTime":"17:00","timeZone":"Europe/Brussels"},"filerCalendar":"EU_TARGET2","authorityCalendar":"EU_TARGET2","outputFormat":"xlsx","reportFormat":{"adapter":"tabular","files":[{"name":"example","rows":{"from":"dataPoints"},"columns":[{"header":"example","value":{"source":"dataPoint","identifier":"example","format":{"kind":"number","scale":{"decimals":0},"places":0,"decimalSeparator":".","groupSeparator":","}}}],"csv":{"delimiter":",","byteOrderMark":false,"lineEnding":"crlf"},"groupBy":"example"}]},"fixMessageSpec":{"beginString":"FIXT.1.1","messageType":"AE","fields":[{"tag":17,"source":"reportId","required":true}],"validations":[]},"regulatorSession":{"host":"example","port":1,"tls":false,"tlsServerName":"example","senderCompId":"example","targetCompId":"example","heartbeatSeconds":5,"credentialSlot":"example","resetSeqNumOnLogon":false,"schedule":null,"messageRetentionClass":"five-years","tradingDayTimeZone":"example","testProfile":{"host":"example","port":1,"tls":false,"tlsServerName":"example","senderCompId":"example","targetCompId":"example","heartbeatSeconds":5,"credentialSlot":"example","resetSeqNumOnLogon":false}},"fulfilmentMode":"authority_acknowledgement","ackSlaHours":1,"operatorApprovalAllowed":false,"acceptsNilReturn":true,"retentionClass":"seven-years","reachBackMonths":12,"deadlineAuthoredBy":"example","deadlineCitation":"example"}},"links":{"self":"/v2/reporting/obligations/obl_mica_art_quarterly"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Freezes the current draft as the next version. From then on, filing periods materialize against it. An obligation requiring maker-checker sign-off is refused when the organization has fewer than two people who can sign, because that is a deadlock discovered on a filing deadline rather than a policy.","summary":"Publish a reporting obligation version","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/obligations/{obligationId}/versions":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.obligations.obligationsListVersions","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Published versions of the obligation with their configuration.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingObligationVersion"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","obligationId":"example","version":1,"publishedAt":"example","publishedBy":"example","config":{"scopeExpression":{"kind":"self"},"dataPointSet":[{"identifier":"example","label":"example","type":"string","denomination":"example","dimensions":["example"]}],"derivationRules":[{"dataPoint":"example","source":"holder-register","field":"example","aggregate":"none"}],"validationRules":[{"identity":"example","version":1,"severity":"blocking","expression":"example","message":"example","effectiveFrom":"example","effectiveTo":"example"}],"reportSet":["holder-register"],"tokenAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"custodiedOnly":false,"dormancyThresholdMonths":1,"cadence":"daily","deadlineRule":{"anchor":"periodStart","offset":0,"unit":"businessDays","calendars":["example","example"],"roll":"following","cutoffLocalTime":"example","timeZone":"example"},"filerCalendar":"example","authorityCalendar":"example","outputFormat":"csv","reportFormat":{"adapter":"tabular","files":[{"name":"example","rows":{"from":"dataPoints"},"columns":[{"header":"example","value":{"source":"dataPoint","identifier":"example","format":{"kind":"number","scale":{"decimals":0},"places":0,"decimalSeparator":".","groupSeparator":","}}}],"csv":{"delimiter":",","byteOrderMark":false,"lineEnding":"crlf"},"groupBy":"example"}]},"fixMessageSpec":{"beginString":"FIXT.1.1","messageType":"AE","fields":[{"tag":17,"source":"reportId","required":true}],"validations":[]},"regulatorSession":{"host":"example","port":1,"tls":false,"tlsServerName":"example","senderCompId":"example","targetCompId":"example","heartbeatSeconds":5,"credentialSlot":"example","resetSeqNumOnLogon":false,"schedule":null,"messageRetentionClass":"five-years","tradingDayTimeZone":"example","testProfile":{"host":"example","port":1,"tls":false,"tlsServerName":"example","senderCompId":"example","targetCompId":"example","heartbeatSeconds":5,"credentialSlot":"example","resetSeqNumOnLogon":false}},"fulfilmentMode":"authority_acknowledgement","ackSlaHours":1,"operatorApprovalAllowed":false,"acceptsNilReturn":false,"retentionClass":"five-years","reachBackMonths":0,"deadlineAuthoredBy":"example","deadlineCitation":"example"}}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the published versions of the reporting obligation in the path, each with its version number, publication time and author, and configuration. Repeating the request is safe.","summary":"List obligation versions","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/filing-periods":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsListPeriods","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","minLength":1,"maxLength":1000},"gte":{"type":"string","minLength":1,"maxLength":1000},"lt":{"type":"string","minLength":1,"maxLength":1000},"lte":{"type":"string","minLength":1,"maxLength":1000},"between":{"type":"string","maxLength":64},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"obligationId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"obligationName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"regime":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"state":{"anyOf":[{"type":"string","enum":["scheduled","waiting_for_finality","open","overdue","fulfilled","waived"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"referenceStart":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"referenceEnd":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"remittanceAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"fulfilledLate":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One SQL-paginated collection of filing periods for the active organization. Every row carries the claimed family set and one state per claimed family; a refused or historically unconfirmed family is never omitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFilingPeriod"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","obligationId":"quarterly-reserve","obligationVersionId":"00000000-0000-7000-8000-000000000000","obligationName":"Quarterly reserve report","regime":"mica","organizationId":"org_1","origin":"schedule","state":"open","referenceStart":"2026-04-01T00:00:00.000Z","referenceEnd":"2026-07-01T00:00:00.000Z","referenceZone":"Europe/Brussels","fiscalLabel":"2026-Q2","remittanceAt":"2026-07-26T15:00:00.000Z","fulfilledLate":false,"coveredFamilies":["evm"],"familyCoverage":[{"family":"evm","state":"pending"}],"latestSubmissionId":"00000000-0000-7000-8000-000000000000","latestSubmissionState":"blocked","slaAlerts":[{"filingPeriodId":"00000000-0000-7000-8000-000000000000","submissionId":"00000000-0000-7000-8000-000000000000","kind":"acknowledgement-window-elapsed","occurredAt":"example"}]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/reporting/filing-periods?page[offset]=0&page[limit]=50","first":"/v2/reporting/filing-periods?page[offset]=0&page[limit]=50","prev":null,"next":null,"last":"/v2/reporting/filing-periods?page[offset]=0&page[limit]=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the active organization's filing periods, ordered by remittance deadline unless requested otherwise. Every row names each family the period claimed and whether that family is pending, covered, refused with reasons, or historically unconfirmed.","summary":"List reporting filing periods","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsCreatePeriod","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"201":{"description":"The ad-hoc filing period over the requested range, with one state per claimed family.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingFilingPeriod"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","obligationId":"quarterly-reserve","obligationVersionId":"00000000-0000-7000-8000-000000000000","obligationName":"Quarterly reserve report","regime":"mica","organizationId":"org_1","origin":"ad_hoc","state":"scheduled","referenceStart":"2026-09-30T22:00:00.000Z","referenceEnd":"2026-10-15T22:00:00.000Z","referenceZone":"Europe/Amsterdam","fiscalLabel":"2026-10-01 – 2026-10-15","remittanceAt":"2026-11-09T16:00:00.000Z","fulfilledLate":false,"coveredFamilies":["evm"],"familyCoverage":[{"family":"evm","state":"pending"}],"latestSubmissionId":null,"latestSubmissionState":null,"slaAlerts":[{"filingPeriodId":"00000000-0000-7000-8000-000000000000","submissionId":"00000000-0000-7000-8000-000000000000","kind":"acknowledgement-window-elapsed","occurredAt":"example"}]},"links":{"self":"/v2/reporting/filing-periods/per_01J"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a filing period for an obligation over an ended date range without changing its schedule. `start` and `end` are inclusive civil dates read in the obligation's deadline time zone, so 1 to 15 October covers local midnight of 1 October up to local midnight after 15 October. The period carries `origin: \"ad_hoc\"`: finality and generation produce its filing like any other period, but it never goes overdue, raises no SLA alert and is never late. Repeating the request returns the same period. A platform catalog obligation answers `409`; a disabled or unpublished obligation, a range that has not ended, a range that ends before the organization's recorded history, a range equal to a scheduled period, and an obligation whose deadline rule or holiday calendar cannot be evaluated answer `422` with `data.ruleIdentity` naming the rule.","summary":"Create an ad-hoc filing period","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingFilingRangeRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/filing-periods/{filingPeriodId}":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsGetPeriod","parameters":[{"name":"filingPeriodId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"One filing period of the active organization, with one state per claimed family.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingFilingPeriod"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","obligationId":"quarterly-reserve","obligationVersionId":"00000000-0000-7000-8000-000000000000","obligationName":"Quarterly reserve report","regime":"mica","organizationId":"org_1","origin":"schedule","state":"open","referenceStart":"2026-04-01T00:00:00.000Z","referenceEnd":"2026-07-01T00:00:00.000Z","referenceZone":"Europe/Brussels","fiscalLabel":"2026-Q2","remittanceAt":"2026-07-26T15:00:00.000Z","fulfilledLate":false,"coveredFamilies":["evm"],"familyCoverage":[{"family":"evm","state":"pending"}],"latestSubmissionId":"00000000-0000-7000-8000-000000000000","latestSubmissionState":"blocked","slaAlerts":[{"filingPeriodId":"00000000-0000-7000-8000-000000000000","submissionId":"00000000-0000-7000-8000-000000000000","kind":"acknowledgement-window-elapsed","occurredAt":"example"}]},"links":{"self":"/v2/reporting/filing-periods/per_01H"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one of the active organization's filing periods, in the shape the collection returns it: the claimed family set with one state per claimed family, the remittance deadline, and the newest submission against the period. A period belonging to another organization answers `404` rather than `403`, because a `403` would confirm the identifier exists.","summary":"Read one reporting filing period","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsGetSubmission","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"One filing attempt of the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingSubmission"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","filingPeriodId":"00000000-0000-7000-8000-000000000000","organizationId":"org_1","attemptSequence":1,"state":"pending_approval","actionType":"new","correctsSubmissionId":null,"artifactDigest":"0000000000000000000000000000000000000000000000000000000000000000","rowVersion":3,"makerUserId":"usr_maker","checkerUserId":null,"approvedAt":null,"submittedAt":null,"ackReceiptReference":null,"ackAuthorityTimestamp":null,"publishedAt":null,"publicationReference":null,"anchorState":"not_requested","anchorDigest":null,"anchorReference":null,"anchorEntryId":null,"anchorRegistryAddress":null,"anchorChainId":null,"anchoredAt":null,"anchorFindingAccepted":false,"anchorFindingAcceptedBy":"example","anchorFindingAcceptedAt":"example"},"links":{"self":"/v2/reporting/submissions/sub_01H"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one of the active organization's filing attempts, including its anchor state. A submission belonging to another organization answers `404` rather than `403`, because a `403` would confirm the identifier exists.","summary":"Read one reporting submission","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}/acts":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsAct","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The reporting submission after the act, with its state and row version.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingSubmission"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","filingPeriodId":"00000000-0000-7000-8000-000000000000","organizationId":"example","attemptSequence":0,"state":"queued","actionType":"new","correctsSubmissionId":"00000000-0000-7000-8000-000000000000","artifactDigest":"0000000000000000000000000000000000000000000000000000000000000000","rowVersion":0,"makerUserId":"example","checkerUserId":"example","approvedAt":"example","submittedAt":"example","ackReceiptReference":"example","ackAuthorityTimestamp":"example","publishedAt":"example","publicationReference":"example","anchorState":"not_requested","anchorDigest":"0000000000000000000000000000000000000000000000000000000000000000","anchorReference":"example","anchorEntryId":"example","anchorRegistryAddress":"example","anchorChainId":11155111,"anchoredAt":"example","anchorFindingAccepted":false,"anchorFindingAcceptedBy":"example","anchorFindingAcceptedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_ACK_RECEIPT_IN_USE","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14105","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Applies one tagged act to the reporting submission in the path: generate, submit for review, sign off, submit to the authority, reject, replace, acknowledge, publish, terminate, revive, override an exception, accept rule warnings, or waive. The `_tag` selects the transition and any required fields travel in the same body. The platform checks the act against the submission state and returns the submission. Only an owner or admin member of the organization may sign off or publish, and only an owner or a platform administrator may waive; any other caller is refused with `404`, the same answer as for a submission that does not exist.","summary":"Act on a reporting submission","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingSubmissionAct"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}/generations":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsStartGeneration","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Submission identifier and execution identifier of the generation run.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingGenerationHandle"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"submissionId":"00000000-0000-7000-8000-000000000000","executionId":"reporting-generation-1"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Starts generation of the filing artifact for the reporting submission in the path. The platform returns the submission identifier and the execution identifier of the generation run.","summary":"Start submission generation","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/obligations/{obligationId}/anchor-settings":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsGetAnchorSettings","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Anchor settings of the obligation with the rationale and author of each change.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingAnchorSetting"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","obligationId":"example","organizationId":"example","enabled":false,"issuer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimTopic":"example","chainId":11155111,"documentType":"regulatory-filing","label":"example","severity":"error","disclosureConfirmedAt":"example","labelAcknowledged":false,"rationale":"Signing key withdrawn after rotation.","changedBy":"example","changedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the on-chain anchoring settings recorded for the reporting obligation in the path, with the issuer, chain, document type, rationale, and who changed each one. Repeating the request is safe.","summary":"List obligation anchor settings","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsPutAnchorSettings","parameters":[{"name":"obligationId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The anchor setting as stored, with its rationale and author.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingAnchorSetting"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","obligationId":"example","organizationId":"example","enabled":false,"issuer":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimTopic":"example","chainId":11155111,"documentType":"regulatory-filing","label":"example","severity":"error","disclosureConfirmedAt":"example","labelAcknowledged":false,"rationale":"Signing key withdrawn after rotation.","changedBy":"example","changedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_LABEL_ACKNOWLEDGEMENT_REQUIRED","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-14432","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_LABEL_ACKNOWLEDGEMENT_REQUIRED","status":400,"message":"This document label needs your acknowledgement before it is published","data":{"id":"DALP-14432","why":"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.","fix":"Choose a label that contains none of them, or send the same request again with `acknowledged` set to true to publish it as written.","retryable":false,"category":"client","reasons":["organization-name"]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Enables or disables on-chain anchoring of filings for the reporting obligation in the path. Send `{\"_tag\":\"Disable\",\"rationale\":\"...\"}` to stop anchoring, or `{\"_tag\":\"Enable\",\"chainId\":1,\"documentType\":\"regulatory-filing\",\"severity\":\"warning\",\"label\":\"Quarterly filing\",\"rationale\":\"...\",\"disclosureConfirmed\":true}` to enable it. An enable act may name `issuer`; when omitted, the organization’s active issuer for the selected chain is resolved by the service. The act tag selects the corresponding authorization check.","summary":"Enable or disable obligation anchoring","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingAnchorSettingAct"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}/anchor-overrides":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.filingsOverrideAnchor","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The reporting submission after the override, with its state and row version.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingSubmission"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","filingPeriodId":"00000000-0000-7000-8000-000000000000","organizationId":"example","attemptSequence":0,"state":"queued","actionType":"new","correctsSubmissionId":"00000000-0000-7000-8000-000000000000","artifactDigest":"0000000000000000000000000000000000000000000000000000000000000000","rowVersion":0,"makerUserId":"example","checkerUserId":"example","approvedAt":"example","submittedAt":"example","ackReceiptReference":"example","ackAuthorityTimestamp":"example","publishedAt":"example","publicationReference":"example","anchorState":"not_requested","anchorDigest":"0000000000000000000000000000000000000000000000000000000000000000","anchorReference":"example","anchorEntryId":"example","anchorRegistryAddress":"example","anchorChainId":11155111,"anchoredAt":"example","anchorFindingAccepted":false,"anchorFindingAcceptedBy":"example","anchorFindingAcceptedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Overrides the on-chain anchoring requirement for the reporting submission in the path and records your rationale. The platform returns the submission.","summary":"Override submission anchoring","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rationale":{"type":"string","minLength":1,"maxLength":500,"description":"Why the decision is taken, stored with it. At most 500 characters."}},"required":["rationale"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.submissionsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"filingPeriodId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"state":{"anyOf":[{"type":"string","enum":["queued","generating","generation_failed","discarded","generated","validating","blocked","ready_for_review","pending_approval","approved","submitted","acknowledged","unacknowledged","published","rejected","superseded"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"actionType":{"anyOf":[{"type":"string","enum":["new","modify","correct","terminate","error","revive"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"anchorState":{"anyOf":[{"type":"string","enum":["not_requested","pending","confirmed","unconfirmed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["id","-id","filingPeriodId","-filingPeriodId","state","-state","actionType","-actionType","anchorState","-anchorState","createdAt","-createdAt"]},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"submission":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the submission resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"submission":"id,filingPeriodId,state,actionType,anchorState"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the submission members a list or a strip renders: id, filingPeriodId, state, actionType, anchorState. Send fields[submission] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"One SQL-paginated collection of submission attempts for the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingSubmissionRead"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","filingPeriodId":"00000000-0000-7000-8000-000000000000","organizationId":"org_1","attemptSequence":1,"state":"pending_approval","actionType":"new","correctsSubmissionId":null,"artifactDigest":"0000000000000000000000000000000000000000000000000000000000000000","rowVersion":3,"makerUserId":"usr_maker","checkerUserId":null,"approvedAt":null,"submittedAt":null,"ackReceiptReference":null,"ackAuthorityTimestamp":null,"publishedAt":null,"publicationReference":null,"anchorState":"not_requested","anchorDigest":null,"anchorReference":null,"anchorEntryId":null,"anchorRegistryAddress":null,"anchorChainId":null,"anchoredAt":null,"anchorFindingAccepted":false,"anchorFindingAcceptedBy":"example","anchorFindingAcceptedAt":"example"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/reporting/submissions?page[offset]=0&page[limit]=50","first":"/v2/reporting/submissions?page[offset]=0&page[limit]=50","prev":null,"next":null,"last":"/v2/reporting/submissions?page[offset]=0&page[limit]=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the active organization's filing attempts, ordered by creation time unless requested otherwise.","summary":"List reporting submissions","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}/findings":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.submissionsFindings","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingExceptionFinding"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"fingerprint":"0000000000000000000000000000000000000000000000000000000000000000","submissionId":"00000000-0000-7000-8000-000000000000","ruleId":"example","ruleVersion":0,"layer":"structural","severity":"error","subjectRef":"example","message":"example","raisedAt":"example","resolvedAt":"example","overriddenBy":"example","overrideRationale":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}/artifact":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.submissionsArtifact","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"One fifteen-minute download per stored part, or the record of an erasure.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingSubmissionArtifact"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"status":"available","parts":[{"partIndex":0,"downloadUrl":"https://objects.example.invalid/reporting/org_1/sub_01H/part-0?X-Amz-Expires=900","expiresAt":"2026-06-30T12:15:00.000Z","partDigest":"sha256:6c1f2b7a9d0e4c3b8a5f1d2e7c9b0a4d6e8f1a3c5b7d9e0f2a4c6b8d0e2f4a6c","contentLength":48213,"mimeType":"application/xml","fileName":"filing.xml"}],"tombstone":null,"legalHold":false,"artifactDigest":"sha256:6c1f2b7a9d0e4c3b8a5f1d2e7c9b0a4d6e8f1a3c5b7d9e0f2a4c6b8d0e2f4a6c","anchorDigest":"sha256:6c1f2b7a9d0e4c3b8a5f1d2e7c9b0a4d6e8f1a3c5b7d9e0f2a4c6b8d0e2f4a6c"},"links":{"self":"/v2/reporting/submissions/sub_01H/artifact"}}},"example-2":{"value":{"data":{"status":"erased","parts":[],"tombstone":{"retainedDigest":"sha256:6c1f2b7a9d0e4c3b8a5f1d2e7c9b0a4d6e8f1a3c5b7d9e0f2a4c6b8d0e2f4a6c","retentionBasis":"erasure-request-2026-08-14","objectsDeleted":1,"tombstonedAt":"2026-08-14T09:02:11.000Z"},"legalHold":false,"artifactDigest":"sha256:6c1f2b7a9d0e4c3b8a5f1d2e7c9b0a4d6e8f1a3c5b7d9e0f2a4c6b8d0e2f4a6c","anchorDigest":"sha256:6c1f2b7a9d0e4c3b8a5f1d2e7c9b0a4d6e8f1a3c5b7d9e0f2a4c6b8d0e2f4a6c"},"links":{"self":"/v2/reporting/submissions/sub_01H/artifact"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","ARTIFACT_UNAVAILABLE","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-0738","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one fifteen-minute download URL per stored part of the active organization's filing artifact, in manifest order, and records the successful read in the operations audit trail. A split artifact is returned as its parts and never assembled: the anchored digest is the manifest digest computed across them, so a concatenated file would hash to nothing that was ever committed. A filing whose objects have been erased answers `status: \"erased\"` with its tombstone rather than a refusal, because its digest is on chain forever and \"never existed\" would be a false statement about the platform's own evidence; a caller with no rights to the filing is refused instead, so the two are distinguishable. A filing under legal hold stays retrievable and reports the hold beside the download. Only an organization owner or a platform administrator may call this: the artifact carries holder-level personal data, and every other reporting read admits staff with a system role as well.","summary":"Download a reporting artifact","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/transaction-reports":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.transactionReportsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"state":{"type":"string","enum":["queued","submitted","acknowledged","rejected"]},"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"The organisation's transaction reports, newest queued first. Each row's `id` addresses the report on its transitions route.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingTransactionReportList"},"examples":{"example-1":{"value":{"data":[{"id":"0192f4a0-0000-7000-8000-000000000032","organizationId":"transaction-reporting-org","obligationVersionId":"0192f4a0-0000-7000-8000-000000000031","reportId":"trade-1:trade","eventType":"trade","tradeId":"trade-1","messageType":"AE","body":"35=AE|17=trade-1:trade|11=trade-1","sourceUpdatedAt":"2026-10-25T00:00:00.000Z","state":"queued","attempt":0,"rejectionReason":null,"sentAt":null,"acknowledgedAt":null,"acknowledgementReference":null}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/transaction-reports/{transactionReportId}/transitions":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.transactionReportsTransition","parameters":[{"name":"transactionReportId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingTransactionReport"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0192f4a0-0000-7000-8000-000000000032","organizationId":"transaction-reporting-org","obligationVersionId":"0192f4a0-0000-7000-8000-000000000031","reportId":"trade-1:trade","eventType":"trade","tradeId":"trade-1","messageType":"AE","body":"35=AE|17=trade-1:trade|11=trade-1","sourceUpdatedAt":"2026-10-25T00:00:00.000Z","state":"queued","attempt":0,"rejectionReason":null,"sentAt":null,"acknowledgedAt":null,"acknowledgementReference":null},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","TRANSACTION_REPORT_TRANSITION_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-200381","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingTransactionReportTransition"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/submissions/{submissionId}/anchoring/transitions":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.anchoringTransition","parameters":[{"name":"submissionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"type":"object","properties":{"submissionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"overriddenAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["submissionId","overriddenAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},{"type":"object","properties":{"data":{"type":"object","properties":{"submission":{"$ref":"#/components/schemas/ReportingSubmission"},"outcome":{"type":"string","enum":["confirmed","unconfirmed","refused","abandoned","pending"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["submission","outcome","reason"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"data":{"submissionId":"00000000-0000-7000-8000-000000000000","overriddenAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","ANCHOR_RETRY_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-0747","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["override"]},"rationale":{"type":"string","minLength":1,"maxLength":500,"description":"Why the decision is taken, stored with it. At most 500 characters."}},"required":["transition","rationale"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["retry"]}},"required":["transition"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/anchors":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.anchorsList","parameters":[{"name":"digest","in":"query","schema":{"type":"string","description":"A registry digest, as 64 hex characters with or without a `0x` prefix. Mutually exclusive with `subject` and `registry`. This is **not** the hash of the document file: the registry stores a manifest digest computed over the artifact's parts, so a holder checking a file they received calls `POST /v2/reporting/anchors/verify` instead, which computes it and returns it."},"required":false},{"name":"subject","in":"query","schema":{"type":"string","description":"Identity contract the document belongs to (for a regulatory filing, the issuing organization's own identity). Mutually exclusive with `digest` and `registry`."},"required":false},{"name":"registry","in":"query","schema":{"type":"string","description":"Contract address of one document anchor registry, to read that whole ledger in append order rather than to answer a question about one document. This is the key a registry's own page uses: a digest needs the document already in hand and a subject needs the reader to know whose evidence to ask for, so neither can open an empty screen onto a registry. Scoped to the one registry named, never the chain, because any system manager may run a registry and write any issuer into it. Mutually exclusive with `digest` and `subject`.","examples":["0x0a48DAe1aE8427d55c22C6F356Aa42180cafA489"]},"required":false},{"name":"chainId","in":"query","schema":{"type":"integer","maximum":2147483647,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","description":"Continue a page from the previous response's `meta.nextCursor`, verbatim. Omit it on the first page. A value this endpoint never handed out is refused rather than read as the first page, which would leave a reader looping over the entries they already have."},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"required":false}],"responses":{"200":{"description":"One page of registry entries matching the lookup, oldest block first. The registry only appends, so a subject that has filed for years has a history no single response may carry: follow `links.next` until `meta.nextCursor` is null. `meta.indexedThroughBlock` travels with every page and is what makes an empty answer readable: an anchor written above that block is not indexed yet, which is a different fact from never having been anchored.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingDocumentAnchor"}},"meta":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"indexedThroughBlock":{"anyOf":[{"type":"string"},{"type":"null"}]},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["count","indexedThroughBlock","nextCursor"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"next":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["self","next"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false,"description":"One page of registry entries matching the lookup, oldest block first. The registry only appends, so a subject that has filed for years has a history no single response may carry: follow `links.next` until `meta.nextCursor` is null. `meta.indexedThroughBlock` travels with every page and is what makes an empty answer readable: an anchor written above that block is not indexed yet, which is a different fact from never having been anchored.","examples":[{"data":[{"entryId":"0x9f2c1d0000000000000000000000000000000000000000000000000000000001","issuerAddress":"0x1111111111111111111111111111111111111111","subjectAddress":"0x1111111111111111111111111111111111111111","digest":"0xabc1230000000000000000000000000000000000000000000000000000000000","documentType":"regulatory-filing","label":"Quarterly return","registryAddress":"0x2222222222222222222222222222222222222222","transactionHash":"0x3333333333333333333333333333333333333333333333333333333333333333","blockNumber":"1904221","anchoredAt":"2026-04-02T09:15:00.000Z"}],"meta":{"count":1,"indexedThroughBlock":"1904999","nextCursor":null},"links":{"self":"/v2/reporting/anchors?digest=0xabc123&chainId=8453&limit=50","next":null}}]},"examples":{"example-1":{"value":{"data":[{"entryId":"0x9f2c1d0000000000000000000000000000000000000000000000000000000001","issuerAddress":"0x1111111111111111111111111111111111111111","subjectAddress":"0x1111111111111111111111111111111111111111","digest":"0xabc1230000000000000000000000000000000000000000000000000000000000","documentType":"regulatory-filing","label":"Quarterly return","registryAddress":"0x2222222222222222222222222222222222222222","transactionHash":"0x3333333333333333333333333333333333333333333333333333333333333333","blockNumber":"1904221","anchoredAt":"2026-04-02T09:15:00.000Z"}],"meta":{"count":1,"indexedThroughBlock":"1904999","nextCursor":null},"links":{"self":"/v2/reporting/anchors?digest=0xabc123&chainId=8453&limit=50","next":null}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_LOOKUP_REFUSED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0746"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_LOOKUP_REFUSED","status":422,"message":"The anchor question cannot be answered as asked","data":{"id":"DALP-0746","why":"An anchor lookup takes exactly one of a document digest, a subject identity or a registry address, and a verification takes the artifact's parts in order within the published ceilings. A page cursor the platform did not issue is refused the same way. `data.reason` names which of those the request broke.","fix":"Read `data.reason`. Send one of `digest`, `subject` or `registry` to read registry entries, or send each part's SHA-256 and byte length in the order of delivery, with `issuer`, to check a document you hold.","retryable":false,"category":"client","reason":"artifact-too-large"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reads a system's document anchor registry by the digest it stores, or by subject identity. The stored digest is a manifest digest over the artifact's parts, never the hash of the delivered file, so a holder checking a document they received calls `POST /v2/reporting/anchors/verify` and follows the `links.anchors` it hands back. Every registry entry carrying the digest comes back with the issuer identity, the block, and the transaction. Ask by `subject` instead to see every document one identity has anchored, or by `registry` to read one registry's whole ledger in append order, which is how a registry's own page fills: neither of the other two keys can open a screen onto a registry, because a digest needs the document already in hand and a subject needs the reader to know whose evidence to ask for. Entries are append-only and never replaced, so an organization that files quarterly accumulates one entry per filing rather than overwriting the last. Exactly one of `digest`, `subject` and `registry` is required. Because the history only grows, the answer is one bounded page in append order: follow `links.next` and send back `meta.nextCursor` verbatim until it is null. `meta.count` counts this page, never the history. `meta.indexedThroughBlock` travels with every page and reports how far the indexer has read, and it is what makes an empty page readable: it means no entry carrying this key stands at or below that block, never that the document was never anchored, because an anchor written above it has not been read yet. This read spans every registry on the chain and hands each entry back beside the registry that wrote it, so it is a history rather than a verdict: any system manager can publish an entry naming any issuer from a registry of their own, and deciding whether an entry is really an issuer's is what `POST /v2/reporting/anchors/verify` does. Repeating the request is safe.","summary":"Look up anchored document digests","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.anchorsWrite","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The entry an operator asked for, or the reason it did not land. `links.anchors` is the paged history under the digest this call computed, so the entry can be read back beside anything else committed to the same bytes. A second call describing the same document writes a second entry rather than replacing the first: the registry only appends, so an entry is superseded and never corrected.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"outcome":{"type":"string","enum":["confirmed","unconfirmed","pending"],"description":"`confirmed` means the entry is on chain and `entryId` names it. `pending` means the write outlived this request and is still running, which is normal where the organization's wallet sits behind an external approval policy; nothing needs to be resent. `unconfirmed` means the write did not land, and `reason` says why in operator-facing words."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the attempt ended as it did, in operator-facing words. Null when the entry confirmed. Never a provider payload."},"manifestDigest":{"type":"string","description":"The digest the parts produced, and the value the registry carries. This is what `POST /v2/reporting/anchors/verify` recomputes and what `GET /v2/reporting/anchors?digest=` reads by."},"subject":{"type":"string","description":"The identity the entry was written on."},"issuer":{"type":"string","description":"The identity that signed, which is the organization's own. Resolved from the signing credential and never from the request."},"registry":{"type":"string","description":"The document anchor registry the entry was written to, which is the one this system runs."},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entryId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The registry entry the write produced, or null when nothing was written. Derived on chain from the issuer and a nonce this request generated."},"transactionHash":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The transaction that produced the entry, or null when there is none to name yet."}},"required":["outcome","reason","manifestDigest","subject","issuer","registry","chainId","entryId","transactionHash"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"anchors":{"type":"string"}},"required":["self","anchors"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false,"description":"The entry an operator asked for, or the reason it did not land. `links.anchors` is the paged history under the digest this call computed, so the entry can be read back beside anything else committed to the same bytes. A second call describing the same document writes a second entry rather than replacing the first: the registry only appends, so an entry is superseded and never corrected.","examples":[{"data":{"outcome":"confirmed","reason":null,"manifestDigest":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","subject":"0x5c610E27CB09EcFDB3eFEE607E7dD133226D316c","issuer":"0x5c610E27CB09EcFDB3eFEE607E7dD133226D316c","registry":"0x2222222222222222222222222222222222222222","chainId":8453,"entryId":"0x9999999999999999999999999999999999999999999999999999999999999999","transactionHash":"0x3333333333333333333333333333333333333333333333333333333333333333"},"links":{"self":"/v2/reporting/anchors","anchors":"/v2/reporting/anchors?digest=0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&chainId=8453&limit=50"}}]},"examples":{"example-1":{"value":{"data":{"outcome":"confirmed","reason":null,"manifestDigest":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","subject":"0x5c610E27CB09EcFDB3eFEE607E7dD133226D316c","issuer":"0x5c610E27CB09EcFDB3eFEE607E7dD133226D316c","registry":"0x2222222222222222222222222222222222222222","chainId":8453,"entryId":"0x9999999999999999999999999999999999999999999999999999999999999999","transactionHash":"0x3333333333333333333333333333333333333333333333333333333333333333"},"links":{"self":"/v2/reporting/anchors","anchors":"/v2/reporting/anchors?digest=0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&chainId=8453&limit=50"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","ANCHOR_WRITE_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-0749","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_LOOKUP_REFUSED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0746"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_LOOKUP_REFUSED","status":422,"message":"The anchor question cannot be answered as asked","data":{"id":"DALP-0746","why":"An anchor lookup takes exactly one of a document digest, a subject identity or a registry address, and a verification takes the artifact's parts in order within the published ceilings. A page cursor the platform did not issue is refused the same way. `data.reason` names which of those the request broke.","fix":"Read `data.reason`. Send one of `digest`, `subject` or `registry` to read registry entries, or send each part's SHA-256 and byte length in the order of delivery, with `issuer`, to check a document you hold.","retryable":false,"category":"client","reason":"artifact-too-large"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Writes one entry into the document anchor registry this organization's system runs, on a subject the caller names. This is the manual counterpart to the anchoring that fires on its own when a filing is discharged, and it exists because the registry's subject is a free contract parameter: a board resolution belongs on an organization's own identity and an offering circular on a token's, and neither is a filing. **The entry is permanent and public.** The registry carries no update and no delete, so a wrong digest or a mislabelled entry can never be corrected, only superseded by a further entry, and `disclosureConfirmed` must be `true` for that reason rather than being inferred from the request. Send the document's `parts` in delivery order, each with the SHA-256 of its bytes and its byte length, exactly as `POST /v2/reporting/anchors/verify` takes them: the registry stores a manifest digest computed over those parts and never the hash of a delivered file, so anchoring a file hash would produce an entry no holder could ever verify. `label` is the one free-text field and it is published forever, so it is refused when it carries an organization identifier or any character that could form a path or a URL; `documentType` is a closed set for the same reason. The issuer is never a parameter: it is this organization's own identity, resolved from the credential that signs, and the call is refused unless that identity is listed for the document-hash topic in this system's own trusted-issuer registry, its registration is active, and a managed signer holds a claim key on it. `data.outcome` carries the verdict rather than the status code, because a chain that was reached and declined is the outcome of an attempt that was allowed to happen: `confirmed` names the entry in `data.entryId`, `pending` means the write outlived the request and is still running, which is normal behind an external approval policy, and `unconfirmed` means it did not land and `data.reason` says why. Everything decided before anything was published is a refusal instead, answering `ANCHOR_WRITE_REFUSED` with `data.reason` naming which check declined. Repeating the request is **not** safe: the registry only appends, so a second call describing the same document writes a second entry rather than replacing the first. Gated as enabling anchoring is: an organization owner or a platform administrator, on a freshly resolved session that is not an operator acting as somebody else.","summary":"Anchor a document by hand","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingAnchorWriteInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/anchors/verify":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.filings.anchorsVerify","parameters":[],"responses":{"200":{"description":"Whether the named issuer committed to exactly the bytes described, and the entries that say so. The answer is drawn only from the document anchor registry the issuer's own system runs, resolved here from the identity you named: an entry naming an issuer proves nothing on its own, because any system manager can publish one from a registry of their own. Only the affirmative answer is ever asserted: `meta.indexedThroughBlock` bounds the negative one, because an entry written above that block has not been read yet and no read here can prove a document was never anchored. It is null only where no block bounds the answer, which is the `registry-unresolved` case. `links.anchors` is the same question as a paged history, under the digest this call computed, and it answers across every issuer and every registry rather than the one pair named here.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["anchored","not-found","not-indexed","registry-unresolved"],"description":"`anchored` when the named issuer committed to exactly these bytes in the document anchor registry their own system runs. `not-found` when no entry of theirs stands in that registry at or below `meta.indexedThroughBlock`, which is the whole of the claim: an anchor written above that block has not been read yet, so this is never a statement that the document was not anchored. `not-indexed` when the indexer has read no block on this chain at all, where there is no block to have looked up to. `registry-unresolved` when no system on this chain answers for the named issuer, when more than one does, or when the system that does runs no live registry: nothing was read, so this says nothing about the document either way."},"manifestDigest":{"type":"string","description":"The registry digest these parts produce. This, not the hash of the file, is the value the registry stores; it is returned so the full history can be read at `/v2/reporting/anchors`."},"entries":{"type":"array","items":{"$ref":"#/components/schemas/ReportingDocumentAnchor"}}},"required":["status","manifestDigest","entries"],"additionalProperties":false},"meta":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"indexedThroughBlock":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["count","indexedThroughBlock"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"anchors":{"type":"string"}},"required":["self","anchors"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false,"description":"Whether the named issuer committed to exactly the bytes described, and the entries that say so. The answer is drawn only from the document anchor registry the issuer's own system runs, resolved here from the identity you named: an entry naming an issuer proves nothing on its own, because any system manager can publish one from a registry of their own. Only the affirmative answer is ever asserted: `meta.indexedThroughBlock` bounds the negative one, because an entry written above that block has not been read yet and no read here can prove a document was never anchored. It is null only where no block bounds the answer, which is the `registry-unresolved` case. `links.anchors` is the same question as a paged history, under the digest this call computed, and it answers across every issuer and every registry rather than the one pair named here.","examples":[{"data":{"status":"anchored","manifestDigest":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","entries":[{"entryId":"0x9999999999999999999999999999999999999999999999999999999999999999","issuerAddress":"0x1111111111111111111111111111111111111111","subjectAddress":"0x1111111111111111111111111111111111111111","digest":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","documentType":"regulatory-filing","label":"Quarterly return","registryAddress":"0x2222222222222222222222222222222222222222","transactionHash":"0x3333333333333333333333333333333333333333333333333333333333333333","blockNumber":"1904221","anchoredAt":"2026-04-02T09:15:00.000Z"}]},"meta":{"count":1,"indexedThroughBlock":"1904999"},"links":{"self":"/v2/reporting/anchors/verify","anchors":"/v2/reporting/anchors?digest=0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&chainId=8453&limit=50"}}]},"examples":{"example-1":{"value":{"data":{"status":"anchored","manifestDigest":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","entries":[{"entryId":"0x9999999999999999999999999999999999999999999999999999999999999999","issuerAddress":"0x1111111111111111111111111111111111111111","subjectAddress":"0x1111111111111111111111111111111111111111","digest":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","documentType":"regulatory-filing","label":"Quarterly return","registryAddress":"0x2222222222222222222222222222222222222222","transactionHash":"0x3333333333333333333333333333333333333333333333333333333333333333","blockNumber":"1904221","anchoredAt":"2026-04-02T09:15:00.000Z"}]},"meta":{"count":1,"indexedThroughBlock":"1904999"},"links":{"self":"/v2/reporting/anchors/verify","anchors":"/v2/reporting/anchors?digest=0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&chainId=8453&limit=50"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_LOOKUP_REFUSED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0746"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_LOOKUP_REFUSED","status":422,"message":"The anchor question cannot be answered as asked","data":{"id":"DALP-0746","why":"An anchor lookup takes exactly one of a document digest, a subject identity or a registry address, and a verification takes the artifact's parts in order within the published ceilings. A page cursor the platform did not issue is refused the same way. `data.reason` names which of those the request broke.","fix":"Read `data.reason`. Send one of `digest`, `subject` or `registry` to read registry entries, or send each part's SHA-256 and byte length in the order of delivery, with `issuer`, to check a document you hold.","retryable":false,"category":"client","reason":"artifact-too-large"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Answers the question a document holder has: **is this exact file the one the issuer committed to on chain?** Send `issuer`, the identity contract of the organization you believe filed it, and the SHA-256 of each part of the artifact in the order it was delivered, together with each part's byte length; a single-file document is one part. The issuer is required and is what the answer is scoped to, in two steps: two organizations may file byte-identical artifacts, so a digest on its own names every commitment to those bytes and an answer drawn from the wrong one would report somebody else's filing as proof of yours; and an entry merely naming an issuer proves nothing either, because a system manager can publish one from a registry of their own, so the identity you name is also what resolves the document anchor registry the answer is read from: the one that issuer's own system runs. The registry does not store the hash of the file. It stores a second SHA-256 over a versioned preimage carrying every part's hash, position and length, and this endpoint computes that value so a holder never reconstructs the preimage themselves: a reconstruction that is subtly wrong yields a different digest and the same false report of tampering. `status` is `anchored` when that issuer committed to exactly these bytes in their own registry, `not-found` when no entry of theirs stands in it at or below `meta.indexedThroughBlock`, `not-indexed` when the indexer has read no block on this chain at all, and `registry-unresolved` when that registry cannot be named: no system on the chain answers for the issuer, more than one does, or the one that does runs no live registry. `registry-unresolved` is not a negative answer: nothing was read, so it says nothing about the document. There is no answer meaning the document was never anchored, because no read here can prove that: the entries are bounded by the block reported beside them, and an anchor written above it has not been read yet. `meta.indexedThroughBlock` travels with every answer that read a registry, and is what the negative is bounded by; it is null only where nothing was read. A request naming more parts, or more declared bytes, than a filing can carry is refused rather than answered. It is a POST because the body carries the parts, not because anything is written: nothing is, and repeating the request is safe.","summary":"Check a document against what the issuer anchored","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingAnchorVerificationInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailTenant","parameters":[{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"target","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"actorUserId","in":"query","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":false},{"name":"actorChannel","in":"query","schema":{"type":"string","enum":["admin","agent","participant","system"]},"required":false},{"name":"kind","in":"query","schema":{"type":"string","enum":["mutation","sensitive-read"]},"required":false},{"name":"route","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200},"required":false}],"responses":{"200":{"description":"Recorded actions in the requested window, oldest first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTrailEntry"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"aud_01JAV","requestId":"req_01JAV","kind":"mutation","actorUserId":"usr_compliance_lead","roleAtTime":"admin","organizationId":"org_1","participantId":null,"authSource":"session","apiKeyId":"example","impersonatedByUserId":"example","route":"reportingV2.obligationsPublish","method":"POST","pathTemplate":"/reporting/obligations/:obligationId/publish","target":"/api/v2/reporting/obligations/obl_mica_art_quarterly/publish","targetName":"example","reason":"example","actorChannel":"admin","before":false,"after":false,"makerUserId":"example","checkerUserId":"example","approvalId":"example","startedAt":"2026-08-21T12:49:00.000Z","finishedAt":"2026-08-21T12:49:00.180Z","outcome":"success","status":200,"transactions":[{"transactionId":"example","status":"RECEIVED","transactionHash":"example","revertReason":"example","outcome":"queued"}],"transactionOutcome":"queued"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/reporting/trail","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the recorded actions of the active organization in a time window. Reading the trail is itself recorded on the trail. Only this organization's rows are returned; platform-administration rows, which belong to no organization, are visible on the operator surface instead.","summary":"Read the audit trail","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail/operator":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailOperator","parameters":[{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"target","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"actorUserId","in":"query","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":false},{"name":"actorChannel","in":"query","schema":{"type":"string","enum":["admin","agent","participant","system"]},"required":false},{"name":"kind","in":"query","schema":{"type":"string","enum":["mutation","sensitive-read"]},"required":false},{"name":"route","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200},"required":false}],"responses":{"200":{"description":"Recorded actions in the requested window, oldest first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTrailEntry"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"aud_01JAV","requestId":"req_01JAV","kind":"mutation","actorUserId":"usr_compliance_lead","roleAtTime":"admin","organizationId":"org_1","participantId":null,"authSource":"session","apiKeyId":"example","impersonatedByUserId":"example","route":"reportingV2.obligationsPublish","method":"POST","pathTemplate":"/reporting/obligations/:obligationId/publish","target":"/api/v2/reporting/obligations/obl_mica_art_quarterly/publish","targetName":"example","reason":"example","actorChannel":"admin","before":false,"after":false,"makerUserId":"example","checkerUserId":"example","approvalId":"example","startedAt":"2026-08-21T12:49:00.000Z","finishedAt":"2026-08-21T12:49:00.180Z","outcome":"success","status":200,"transactions":[{"transactionId":"example","status":"RECEIVED","transactionHash":"example","revertReason":"example","outcome":"queued"}],"transactionOutcome":"queued"}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/reporting/trail","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns recorded actions across every organization, including platform-administration rows that belong to none. Requires platform administration, and the access is itself recorded: a cross-organization read of the audit trail is the most sensitive read on the platform.","summary":"Read the audit trail across organizations","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail/resource":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailForResource","parameters":[{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"resource","in":"query","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"Recorded actions in the requested window, oldest first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTrailEntry"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"aud_01JAV","requestId":"req_01JAV","kind":"mutation","actorUserId":"usr_compliance_lead","roleAtTime":"admin","organizationId":"org_1","participantId":null,"authSource":"session","apiKeyId":"example","impersonatedByUserId":"example","route":"reportingV2.obligationsPublish","method":"POST","pathTemplate":"/reporting/obligations/:obligationId/publish","target":"/api/v2/reporting/obligations/obl_mica_art_quarterly/publish","targetName":"example","reason":"example","actorChannel":"admin","before":false,"after":false,"makerUserId":"example","checkerUserId":"example","approvalId":"example","startedAt":"2026-08-21T12:49:00.000Z","finishedAt":"2026-08-21T12:49:00.180Z","outcome":"success","status":200,"transactions":[{"transactionId":"example","status":"RECEIVED","transactionHash":"example","revertReason":"example","outcome":"queued"}],"transactionOutcome":"queued"}],"meta":{"total":1},"links":{"self":"/v2/reporting/trail"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every recorded action against one resource, across every actor and every route that touched it. This is the shape an investigation asks for: what happened to this thing, rather than what did this person do.","summary":"Read one resource's history","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail/export":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailExport","parameters":[{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"target","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"actorUserId","in":"query","schema":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"required":false},{"name":"actorChannel","in":"query","schema":{"type":"string","enum":["admin","agent","participant","system"]},"required":false},{"name":"kind","in":"query","schema":{"type":"string","enum":["mutation","sensitive-read"]},"required":false},{"name":"route","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Success","content":{"text/csv; charset=utf-8":{"schema":{"type":"string","format":"binary"},"x-effect-stream":{"encoding":"uint8array"},"examples":{"example-1":{"value":"example"}}}},"headers":{"content-disposition":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail/{entryId}":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailEntry","parameters":[{"name":"entryId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true}],"responses":{"200":{"description":"One recorded action.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingTrailEntry"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"aud_01JAV","requestId":"req_01JAV","kind":"mutation","actorUserId":"usr_compliance_lead","roleAtTime":"admin","organizationId":"org_1","participantId":null,"authSource":"session","apiKeyId":"example","impersonatedByUserId":"example","route":"reportingV2.obligationsPublish","method":"POST","pathTemplate":"/reporting/obligations/:obligationId/publish","target":"/api/v2/reporting/obligations/obl_mica_art_quarterly/publish","targetName":"example","reason":"example","actorChannel":"admin","before":false,"after":false,"makerUserId":"example","checkerUserId":"example","approvalId":"example","startedAt":"2026-08-21T12:49:00.000Z","finishedAt":"2026-08-21T12:49:00.180Z","outcome":"success","status":200,"transactions":[{"transactionId":"example","status":"RECEIVED","transactionHash":"example","revertReason":"example","outcome":"queued"}],"transactionOutcome":"queued"},"links":{"self":"/v2/reporting/trail/aud_01JAV"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one recorded action. An entry belonging to another organization answers 404 rather than 403: a 403 would confirm the identifier exists, which is itself a cross-organization disclosure.","summary":"Read one audit trail entry","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail/integrity":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailIntegrity","parameters":[{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["intact"]},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"headHash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","rowCount","headHash"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["broken"]},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"firstBrokenRowId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"brokenAnchorId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"reason":{"type":"string","enum":["prev-hash","row-hash","anchor"]},"expectedHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"actualHash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","rowCount","firstBrokenRowId","brokenAnchorId","reason","expectedHash","actualHash"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"status":"intact","rowCount":0,"headHash":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/trail/operator/integrity":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.trail.trailOperatorIntegrity","parameters":[{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["intact"]},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"headHash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","rowCount","headHash"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["broken"]},"rowCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"firstBrokenRowId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"brokenAnchorId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"reason":{"type":"string","enum":["prev-hash","row-hash","anchor"]},"expectedHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"actualHash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","rowCount","firstBrokenRowId","brokenAnchorId","reason","expectedHash","actualHash"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"status":"intact","rowCount":0,"headHash":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/capabilities":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.capability.capabilityGet","parameters":[],"responses":{"200":{"description":"The reports this deployment can produce for the active organization.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingCapabilities"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"reportKinds":["holder-register"],"reportFields":[{"reportKind":"holder-register","fields":["token"]}],"enabled":false,"surfaces":{"anchors":false,"filings":false,"obligations":true,"calendar":true,"trail":true,"dailyTransactions":false}},"links":{"self":"/v2/reporting/capabilities"}}}}}},"headers":{"etag":{"schema":{"type":"string"},"required":true},"cache-control":{"schema":{"type":"string"},"required":true}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FILING_ACT_REFUSED","OBLIGATION_IMMUTABLE","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REACH_BACK_EXCEEDED","REPORTING_FILING_ROW_VERSION_CONFLICT","REPORTING_GENERATION_CONFLICT","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SIGN_OFF_REFUSED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0718","DALP-0722","DALP-0723","DALP-0724","DALP-0725","DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14260","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["APPROVER_SHORTFALL","CONTRACT_ERROR","OBLIGATION_INVALID","REPORTING_COVERAGE_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0719","DALP-0720","DALP-0726"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"APPROVER_SHORTFALL","status":422,"message":"The organization has too few approvers to publish","data":{"id":"DALP-0719","why":"The organization has fewer approvers than maker-checker publishing requires.","fix":"Give the organization a second owner, then publish again.","retryable":false,"category":"client","approvers":1,"required":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the platform-native reports this deployment can produce for the active organization. Read it before you build against a report identifier. Repeating the request is safe.","summary":"Read reporting capabilities","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/statements":{"get":{"tags":["Accounts and portfolio"],"operationId":"reporting.statements.statementsList","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"A page of investor statements and the total count.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingInvestorStatement"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","chainId":0,"account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","periodStart":"example","periodEnd":"example","openingBlock":"example","closingBlock":"example","reconciled":false,"formats":["csv"],"createdAt":"example"}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of monthly statements for the caller's wallets in the request organization and chain. Repeating the request is safe.","summary":"List investor statements","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Accounts and portfolio"],"operationId":"reporting.statements.statementsGenerate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The generated investor statement summary.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingInvestorStatement"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"019c0000-0000-7000-8000-000000000001","chainId":8453,"account":"0x90F79bf6EB2c4f870365E785982E1f101E93b906","periodStart":"2026-01-01T00:00:00.000Z","periodEnd":"2026-01-31T23:59:59.999Z","openingBlock":"123456","closingBlock":"124000","reconciled":true,"formats":["csv","pdf"],"createdAt":"2026-02-01T00:00:00.000Z"},"links":{"self":"/api/v2/reporting/statements"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","STATEMENT_RANGE_REFUSED","STATEMENT_ROW_CEILING_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0754","DALP-200387"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"STATEMENT_RANGE_REFUSED","status":422,"message":"No statement can be produced for this range yet","data":{"id":"DALP-0754","why":"A statement covers only blocks that are final on the chain, and the chain has not finalized the block at the end of the requested range yet. `data.periodEnd` is the inclusive end of the range the request asked for.","fix":"Choose an `end` before the newest final block, or send the same request again after the chain finalizes the block at `data.periodEnd`.","retryable":true,"category":"domain","periodEnd":"0xabababababababababababababababababababab","reason":"range-not-final"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Generates an investor statement for the requested wallet and period. The returned summary identifies the period, covered block range, available file formats, and whether the statement has been reconciled.","summary":"Generate an investor statement","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"start":{"$ref":"#/components/schemas/TimestampEncoded"},"end":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["holder","start","end"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/statements/{statementId}/download":{"get":{"tags":["Accounts and portfolio"],"operationId":"reporting.statements.statementsDownload","parameters":[{"name":"statementId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"format","in":"query","schema":{"type":"string","enum":["csv","xlsx","pdf"]},"required":true}],"responses":{"200":{"description":"A short-lived statement download URL with its digest and content length.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingInvestorStatementDownload"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"statementId":"00000000-0000-7000-8000-000000000000","format":"csv","downloadUrl":"example","expiresAt":"example","digest":"example","contentLength":0,"mimeType":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a short-lived download URL for the CSV or PDF edition of a statement belonging to one of the caller's wallets. Repeating the request is safe.","summary":"Download an investor statement","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/statements/policy":{"get":{"tags":["Accounts and portfolio"],"operationId":"reporting.statements.statementsPolicyGet","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"cadence":{"type":"string","enum":["daily","weekly","monthly","quarterly"]},"sections":{"type":"array","prefixItems":[{"type":"string","enum":["positions","portfolio","movements","pnl","fees","deposits-withdrawals","corporate-actions"]}],"minItems":1,"items":{"type":"string","enum":["positions","portfolio","movements","pnl","fees","deposits-withdrawals","corporate-actions"]}},"formats":{"type":"array","prefixItems":[{"type":"string","enum":["csv","xlsx","pdf"]}],"minItems":1,"items":{"type":"string","enum":["csv","xlsx","pdf"]}}},"required":["cadence","sections","formats"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"cadence":"daily","sections":["positions"],"formats":["csv"]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"put":{"tags":["Accounts and portfolio"],"operationId":"reporting.statements.statementsPolicyPut","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"cadence":{"type":"string","enum":["daily","weekly","monthly","quarterly"]},"sections":{"type":"array","prefixItems":[{"type":"string","enum":["positions","portfolio","movements","pnl","fees","deposits-withdrawals","corporate-actions"]}],"minItems":1,"items":{"type":"string","enum":["positions","portfolio","movements","pnl","fees","deposits-withdrawals","corporate-actions"]}},"formats":{"type":"array","prefixItems":[{"type":"string","enum":["csv","xlsx","pdf"]}],"minItems":1,"items":{"type":"string","enum":["csv","xlsx","pdf"]}}},"required":["cadence","sections","formats"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"cadence":"daily","sections":["positions"],"formats":["csv"]},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingStatementPolicyWrite"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsGet","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"atBlock","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false}],"responses":{"200":{"description":"The shareholder list's record block, totals and reconciliation.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingShareholderListSummary"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":1,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Example Share","symbol":"EXS","decimals":18,"recordBlock":"1234","finalBlock":"1240","recordedAt":"2026-01-15T10:00:00.000Z","balancesSince":"2026-01-15T09:30:00.000Z","holderCount":3,"sharesHeld":"100","totalSupply":"100","reconciled":true,"ownershipBasis":"on-chain-register","formats":["csv","xlsx","pdf"]},"links":{"self":"/api/v2/reporting/shareholder-lists/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the record block, holder count, shares held and total supply of the security in the path, read at `atBlock` or at the newest final block, and whether the holders account for the whole supply. Needs a reporting role on the organization's system. Repeating the request is safe.","summary":"Read a shareholder list","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/download":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsDownload","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"atBlock","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false},{"name":"format","in":"query","schema":{"type":"string","enum":["csv","xlsx","pdf"]},"required":true}],"responses":{"200":{"description":"The shareholder list file in the requested format.","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.artifact.UNWRITABLE","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14085","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the CSV, XLSX or PDF shareholder list of the security in the path: every wallet holding it at `atBlock` or at the newest final block, with its registered identity, country, balance and share of supply. Needs a reporting role on the organization's system. Repeating the request is safe.","summary":"Download a shareholder list","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/record-blocks":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsRecordBlockGet","parameters":[{"name":"at","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingShareholderListRecordBlock"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":0,"at":"example","recordBlock":"example","recordedAt":"example","finalBlock":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/registrar-file":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsRegistrarFile","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"atBlock","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false},{"name":"profile","in":"query","schema":{"anyOf":[{"type":"string","enum":["dalp-registrar-v1"]}]},"required":false}],"responses":{"200":{"description":"The Registrar file as CSV.","content":{"text/csv; charset=utf-8":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the holder register of the security in the path as CSV in the Registrar's layout: one row per wallet holding it at `atBlock` or at the newest final block, with the columns holderWallet, identityReference, jurisdiction and quantity. The quantity is in the security's own units. Needs a reporting role on the organization's system. Repeating the request is safe.","summary":"Download a Registrar file","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/registrar-reconciliations":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsRegistrarReconciliationsCreate","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The row-by-row comparison with totals, or the reason the file was rejected.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingRegistrarReconciliationResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"Reconciled","chainId":1,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","recordBlock":"1234","decimals":2,"counts":{"matched":1,"quantityMismatch":1,"missingOnChain":0,"missingInRegister":0},"registrarTotal":"1000","onChainTotal":"1001","totalSupply":"1001","reconciled":false,"rows":[{"holderWallet":"0x52908400098527886E0F7030069857D2E4169EE7","outcome":"matched","registrarQuantity":"600","onChainQuantity":"600"},{"holderWallet":"0x8617E340B3D01FA5F11F306F4090FD50E238070D","outcome":"quantity-mismatch","registrarQuantity":"400","onChainQuantity":"401"}]},"links":{"self":"/api/v2/reporting/shareholder-lists/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/registrar-reconciliations"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Compares the Registrar's CSV in `fileData` with the holders of the security in the path at `atBlock` or at the newest final block. Each wallet is matched, a quantity mismatch, missing on chain or missing in the register, and the answer carries the file total, the on-chain total and the total supply. A file that cannot be read is answered as Rejected with the line and value, and nothing is compared. Nothing is stored; needs a reporting role on the organization's system. Repeating the request is safe.","summary":"Reconcile a Registrar file","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingShareholderListRegistrarReconciliationCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/deliveries":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsDeliveriesCreate","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingShareholderListDeliverySummary"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false,"examples":[{"data":{"id":"0192f3a0-0000-7000-8000-000000000001","chainId":1,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","recordBlock":"1200","trigger":"scheduled","ownershipBasis":"on-chain-register","supersedesId":null,"supersededById":null,"tradingDay":null,"correctionReason":null,"status":"pending","requestedBy":"user_0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","attempts":0,"lastError":null,"createdAt":"2026-10-01T00:00:00.000Z","settledAt":null,"holderCount":null,"refusal":null,"notice":"pending","noticeAttempts":0,"parts":null},"links":{"self":"/api/v2/reporting/shareholder-lists/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/deliveries"}}]},"examples":{"example-1":{"value":{"data":{"id":"0192f3a0-0000-7000-8000-000000000001","chainId":1,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","recordBlock":"1200","trigger":"scheduled","ownershipBasis":"on-chain-register","supersedesId":null,"supersededById":null,"tradingDay":null,"correctionReason":null,"status":"pending","requestedBy":"user_0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","attempts":0,"lastError":null,"createdAt":"2026-10-01T00:00:00.000Z","settledAt":null,"holderCount":null,"refusal":null,"notice":"pending","noticeAttempts":0,"parts":null},"links":{"self":"/api/v2/reporting/shareholder-lists/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/deliveries"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingShareholderListDeliveryCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsDeliveriesList","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingShareholderListDeliverySummary_1"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"canSchedule":{"type":"boolean","description":"True when the caller may deliver a shareholder list to the issuer: the same permission that the schedule call enforces."}},"required":["total","canSchedule"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","chainId":0,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","recordBlock":"example","trigger":"auction-settled","ownershipBasis":"on-chain-register","supersedesId":"00000000-0000-7000-8000-000000000000","supersededById":"00000000-0000-7000-8000-000000000000","tradingDay":"1970-01-01","correctionReason":"bust","status":"pending","requestedBy":"example","attempts":0,"lastError":"example","createdAt":"example","settledAt":"example","holderCount":0,"refusal":"feature-not-attached","notice":"pending","noticeAttempts":0,"parts":{"csv":{"objectKey":"example","digest":"example","contentLength":0},"xlsx":{"objectKey":"example","digest":"example","contentLength":0},"pdf":{"objectKey":"example","digest":"example","contentLength":0}}}],"meta":{"total":0,"facets":{},"canSchedule":false},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/deliveries/{deliveryId}/download":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsDeliveriesDownload","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"deliveryId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"name":"format","in":"query","schema":{"type":"string","enum":["csv","xlsx","pdf"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.artifact.UNWRITABLE","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14085","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/beneficial-owner-declarations":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsBeneficialOwnerDeclarationsCreate","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingBeneficialOwnerDeclarationResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"Declared","id":"00000000-0000-7000-8000-000000000000","chainId":0,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nomineeWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","asOfBlock":"example","decimals":0,"ownerCount":0,"withIdentities":false,"total":"example","filedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingBeneficialOwnerDeclarationCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/shareholder-lists/{tokenAddress}/beneficial-owners":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.shareholderLists.shareholderListsBeneficialOwnersGet","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"atBlock","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false},{"name":"dividendId","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingBeneficialOwnerRegister"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"chainId":0,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","decimals":0,"recordBlock":"example","totalSupply":"example","sharesHeld":"example","reconciled":false,"ownerCount":0,"lookedThroughWallets":0,"staleWallets":0,"rows":[{"holderWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","basis":"direct","ownerReference":"example","jurisdiction":"example","quantity":"example","legalName":"example","idType":"passport","idNumber":"example","investorCategory":"retail","declarationId":"00000000-0000-7000-8000-000000000000","declaredAtBlock":"example","entitlement":"example"}],"dividend":{"dividendId":"0","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amountPerShare":"example","payoutAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","payoutDecimals":0,"recordDate":"example","nominees":[{"holderWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","declarationId":"00000000-0000-7000-8000-000000000000","entitlement":"example","allocated":"example","unallocated":"example"}]}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/configuration":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationConfigurationGet","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Returns the statement profile and cut-off of a mirror token.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingMirrorReconciliationConfiguration"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","profile":{"name":"example","delimiter":",","walletColumn":"example","quantityColumn":"example","isinColumn":"example"},"cutoff":null,"updatedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the statement profile and cut-off of a mirror token. A token nobody configured answers the default CSV profile and a null cut-off.","summary":"Read a mirror token's reconciliation configuration","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationConfigurationReplace","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Sets the named CSV layout the custodian or Registrar statement uses and the cut-off of the daily run.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingMirrorReconciliationConfiguration"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","profile":{"name":"example","delimiter":",","walletColumn":"example","quantityColumn":"example","isinColumn":"example"},"cutoff":null,"updatedAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets the named CSV layout the custodian or Registrar statement uses and the cut-off of the daily run. The organisation owner or a platform administrator may call it. A token that is not a mirror token answers not found.","summary":"Replace a mirror token's reconciliation configuration","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingMirrorReconciliationConfigurationReplace"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/statements":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationStatementsCreate","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Stores the custodian or Registrar statement of a date as its next numbered version, read with the token's profile.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingMirrorStatementUploadResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"Stored","statement":{"id":"00000000-0000-7000-8000-000000000000","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","statementDate":"1970-01-01","version":0,"profile":{"name":"example","delimiter":",","walletColumn":"example","quantityColumn":"example","isinColumn":"example"},"contentDigest":"example","rowCount":0,"uploadedAt":"example"},"created":false},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stores the custodian or Registrar statement of a date as its next numbered version, read with the token's profile. Sending the text of the date's latest version again stores nothing and answers that version. A file the profile cannot read answers Rejected, naming the line.","summary":"Store a position statement for a mirror token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingMirrorStatementUpload"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationStatementsList","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false}],"responses":{"200":{"description":"Lists every stored statement version, newest date and version first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingMirrorStatementVersion"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","statementDate":"1970-01-01","version":0,"profile":{"name":"example","delimiter":",","walletColumn":"example","quantityColumn":"example","isinColumn":"example"},"contentDigest":"example","rowCount":0,"uploadedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists every stored statement version, newest date and version first.","summary":"List a mirror token's position statements","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/runs":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationRunsList","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false}],"responses":{"200":{"description":"Lists every daily run with its outcome (clear, break or no-statement) and number of breaks, newest date and version first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingMirrorReconciliationRunSummary"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","runDate":"1970-01-01","version":0,"outcome":"clear","cutoffAt":"example","recordBlock":"example","statementId":"00000000-0000-7000-8000-000000000000","statementVersion":0,"matchedCount":0,"totals":{"statementTotal":"example","onChainTotal":"example","totalSupply":"example","collateralClaim":"example","supplyMatches":false,"collateralMatches":false},"createdAt":"example","breakCount":0}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists every daily run with its outcome (clear, break or no-statement) and number of breaks, newest date and version first.","summary":"List a mirror token's reconciliation runs","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/runs/{runDate}":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationRunsGet","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"runDate","in":"path","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"required":true},{"name":"version","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Returns the run of a date with its totals and every investor line that does not match.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingMirrorReconciliationRun"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","runDate":"1970-01-01","version":0,"outcome":"clear","cutoffAt":"example","recordBlock":"example","statementId":"00000000-0000-7000-8000-000000000000","statementVersion":0,"matchedCount":0,"totals":{"statementTotal":"example","onChainTotal":"example","totalSupply":"example","collateralClaim":"example","supplyMatches":false,"collateralMatches":false},"lines":[{"holderWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","statementQuantity":"example","onChainQuantity":"example","difference":"example","outcome":"quantity-mismatch"}],"createdAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the run of a date with its totals and every investor line that does not match. Without a version, the date's latest run.","summary":"Read a mirror token's reconciliation run","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/runs/{runDate}/file":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationRunsFile","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"runDate","in":"path","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"required":true},{"name":"version","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Returns the investor lines of the run as CSV, one row per line that does not match.","content":{"text/csv; charset=utf-8":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the investor lines of the run as CSV, one row per line that does not match.","summary":"Export a mirror token's reconciliation run as CSV","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/settlement-feeds":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationSettlementFeedsList","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false}],"responses":{"200":{"description":"Lists the daily settlement feed files for the custodian or registrar, newest value date and version first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingMirrorSettlementFeedVersion"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","valueDate":"1970-01-01","version":0,"contentDigest":"example","movementCount":0,"createdAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the daily settlement feed files for the custodian or registrar, newest value date and version first.","summary":"List a mirror token's settlement feed files","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/settlement-feeds/{valueDate}/file":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationSettlementFeedsFile","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"valueDate","in":"path","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"required":true},{"name":"version","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Returns the settlement feed of a value date as CSV: every settled fill, bust, mint, burn and corporate-action movement, with the parties' OnchainID addresses.","content":{"text/csv; charset=utf-8":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the settlement feed of a value date as CSV: every settled fill, bust, mint, burn and corporate-action movement, with the parties' OnchainID addresses. Without a version, the date's latest file.","summary":"Download a mirror token's settlement feed file","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/mirror-reconciliations/{tokenAddress}/settlement-feeds/{valueDate}/replays":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.mirrorReconciliations.mirrorReconciliationSettlementFeedsReplay","parameters":[{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"valueDate","in":"path","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Rebuilds the settlement feed of a value date from the chain and says whether it equals the stored latest file byte for byte.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingMirrorSettlementFeedReplay"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feed":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","valueDate":"1970-01-01","version":0,"contentDigest":"example","movementCount":0,"createdAt":"example"},"identical":false},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Rebuilds the settlement feed of a value date from the chain and says whether it equals the stored latest file byte for byte. It stores nothing; the daily run stores a changed file as the date's next version.","summary":"Replay a mirror token's settlement feed","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/custodian-watch":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.custodianWatch.custodianWatchGet","parameters":[],"responses":{"200":{"description":"Returns the organisation's custodian watch: the notice period it asks of upgrades.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingCustodianWatchSubscription"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"upgradeNoticeBusinessDays":0,"createdAt":"example","updatedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the organisation's custodian watch: the notice period it asks of upgrades. Answers not found while the organisation has not subscribed.","summary":"Read the organisation's custodian watch","x-dalp-auth":"session-or-api-key"},"put":{"tags":["Regulatory reporting"],"operationId":"reporting.custodianWatch.custodianWatchReplace","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Subscribes the organisation, or replaces its notice period.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingCustodianWatchSubscription"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"upgradeNoticeBusinessDays":0,"createdAt":"example","updatedAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Subscribes the organisation, or replaces its notice period. From then on a privileged action on a token it custodies (a forced transfer, recovery, freeze, unfreeze, mint, burn, pause or role change) by a wallet outside the organisation opens an operations case, which sends the `operations.case.opened` webhook and appears in the Console. A factory upgrade that touches such tokens waits for the longest notice period among its custodians. The organisation owner or a platform administrator may call it.","summary":"Subscribe to or replace the custodian watch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingCustodianWatchSubscriptionReplace"}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Regulatory reporting"],"operationId":"reporting.custodianWatch.custodianWatchDelete","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Removes the organisation's custodian watch and answers the subscription it removed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingCustodianWatchSubscription"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"upgradeNoticeBusinessDays":0,"createdAt":"example","updatedAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the organisation's custodian watch and answers the subscription it removed. Cases already opened stay.","summary":"Unsubscribe from the custodian watch","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/custodian-watch/scheduled-upgrades":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.custodianWatch.scheduledUpgradesList","parameters":[{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false}],"responses":{"200":{"description":"Lists the upgrades the organisation scheduled on the chain of the request, newest first, with the instant each may first run.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingScheduledUpgrade"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","state":"scheduled","emergency":false,"reason":"example","scheduledAt":"example","earliestApplyAt":"example","notifiedCustodians":0,"appliedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the upgrades the organisation scheduled on the chain of the request, newest first, with the instant each may first run.","summary":"List scheduled token factory upgrades","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Regulatory reporting"],"operationId":"reporting.custodianWatch.scheduledUpgradesCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Records an upgrade of a token factory of the organisation's system and notifies every custodian organisation holding tokens of it at once.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingScheduledUpgrade"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","state":"scheduled","emergency":false,"reason":"example","scheduledAt":"example","earliestApplyAt":"example","notifiedCustodians":0,"appliedAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records an upgrade of a token factory of the organisation's system and notifies every custodian organisation holding tokens of it at once. The system migration only upgrades that factory after the longest notice among those custodians. An emergency upgrade bypasses the notice, needs a reason, and still notifies the custodians at once. The organisation owner or a platform administrator may call it.","summary":"Schedule a token factory upgrade","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportingScheduledUpgradeCreate"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/custodian-watch/scheduled-upgrades/{upgradeId}":{"delete":{"tags":["Regulatory reporting"],"operationId":"reporting.custodianWatch.scheduledUpgradesCancel","parameters":[{"name":"upgradeId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Cancels an upgrade that has not run and closes the notices its custodians were sent.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingScheduledUpgrade"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","chainId":11155111,"systemAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","factoryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","state":"scheduled","emergency":false,"reason":"example","scheduledAt":"example","earliestApplyAt":"example","notifiedCustodians":0,"appliedAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Cancels an upgrade that has not run and closes the notices its custodians were sent. The record stays in the list as cancelled. An upgrade that already ran, or one the organisation did not schedule, answers not found.","summary":"Cancel a scheduled token factory upgrade","x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/confirmations":{"get":{"tags":["Accounts and portfolio"],"operationId":"reporting.confirmations.confirmationsList","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"transactionHash","in":"query","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTransactionConfirmation"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","chainId":0,"account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"transfer","direction":"in","counterparty":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"example","decimals":0,"amount":"example","fees":[{"side":"buy","feeType":"example","amount":"example","vatAmount":"example"}],"blockNumber":"example","logIndex":0,"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","occurredAt":"example"}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/confirmations/{confirmationId}":{"get":{"tags":["Accounts and portfolio"],"operationId":"reporting.confirmations.confirmationsGet","parameters":[{"name":"confirmationId","in":"path","schema":{"type":"string","pattern":"^0x[0-9a-f]{64}-(?:0|[1-9][0-9]{0,8})-0x[0-9a-f]{40}$","description":"Identifies one confirmation: the movement's transaction hash, its log index and the confirmed wallet, joined by hyphens in lowercase hex.","examples":["0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingTransactionConfirmation"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd","chainId":0,"account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"transfer","direction":"in","counterparty":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"example","decimals":0,"amount":"example","fees":[{"side":"buy","feeType":"example","amount":"example","vatAmount":"example"}],"blockNumber":"example","logIndex":0,"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","occurredAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/confirmations/{confirmationId}/artifacts":{"get":{"tags":["Accounts and portfolio"],"operationId":"reporting.confirmations.confirmationsDownload","parameters":[{"name":"confirmationId","in":"path","schema":{"type":"string","pattern":"^0x[0-9a-f]{64}-(?:0|[1-9][0-9]{0,8})-0x[0-9a-f]{40}$","description":"Identifies one confirmation: the movement's transaction hash, its log index and the confirmed wallet, joined by hyphens in lowercase hex.","examples":["0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"]},"required":true},{"name":"format","in":"query","schema":{"type":"string","enum":["csv","xlsx"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/daily-transactions":{"post":{"tags":["Regulatory reporting"],"operationId":"reporting.dailyTransactions.dailyTransactionsGenerate","parameters":[],"responses":{"200":{"description":"Success","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","reporting.daily-transactions.ROW_LIMIT_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-206300"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"reporting.daily-transactions.ROW_LIMIT_EXCEEDED","status":422,"message":"The date range holds too many rows for one report","data":{"id":"DALP-206300","why":"The requested range holds more rows than one daily transaction report carries. The platform refuses the request instead of returning a file that stops partway through the range.","fix":"Request a shorter date range and download the report in several parts.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"start":{"$ref":"#/components/schemas/ReportingCalendarDate"},"end":{"$ref":"#/components/schemas/ReportingCalendarDate"},"timeZone":{"type":"string"},"format":{"type":"string","enum":["csv","xlsx"]}},"required":["start","end","format"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/reporting/fund-registers":{"get":{"tags":["Regulatory reporting"],"operationId":"reporting.fundRegisters.fundRegistersGet","parameters":[{"name":"classes","in":"query","schema":{"type":"string","pattern":"^\\d{1,10}:0x[\\dA-Fa-f]{40}(?:,\\d{1,10}:0x[\\dA-Fa-f]{40})*$","examples":["1:0x71C7656EC7ab88b098defB751B7401B5f6d8976F,8453:0x5555555555555555555555555555555555555555"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ReportingFundRegister"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false,"examples":[{"data":{"ownershipBasis":"on-chain-register","navCheck":"consistent","currency":"USD","classes":[{"chainId":99999,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Short-Dated Income Fund A","symbol":"SDIF-A","decimals":6,"recordBlock":"7000","holderCount":1,"units":"100","totalSupply":"100","reconciled":true,"nav":{"price":"10.25","currency":"USD","updatedAt":"2026-10-18T16:00:00.000Z"},"value":"1025"},{"chainId":11155111,"tokenAddress":"0x5555555555555555555555555555555555555555","name":"Short-Dated Income Fund E","symbol":"SDIF-E","decimals":18,"recordBlock":"5200000","holderCount":1,"units":"50","totalSupply":"50","reconciled":true,"nav":{"price":"10.25","currency":"USD","updatedAt":"2026-10-18T16:00:00.000Z"},"value":"512.5"}],"holders":[{"account":"0x1111111111111111111111111111111111111111","positions":[{"chainId":99999,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","units":"100"},{"chainId":11155111,"tokenAddress":"0x5555555555555555555555555555555555555555","units":"50"}],"units":"150","value":"1537.5"}],"holderCount":1,"units":"150","value":"1537.5"},"links":{"self":"/api/v2/reporting/fund-registers?classes=99999:0x71C7656EC7ab88b098defB751B7401B5f6d8976F,11155111:0x5555555555555555555555555555555555555555"}}]},"examples":{"example-1":{"value":{"data":{"ownershipBasis":"on-chain-register","navCheck":"consistent","currency":"USD","classes":[{"chainId":99999,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Short-Dated Income Fund A","symbol":"SDIF-A","decimals":6,"recordBlock":"7000","holderCount":1,"units":"100","totalSupply":"100","reconciled":true,"nav":{"price":"10.25","currency":"USD","updatedAt":"2026-10-18T16:00:00.000Z"},"value":"1025"},{"chainId":11155111,"tokenAddress":"0x5555555555555555555555555555555555555555","name":"Short-Dated Income Fund E","symbol":"SDIF-E","decimals":18,"recordBlock":"5200000","holderCount":1,"units":"50","totalSupply":"50","reconciled":true,"nav":{"price":"10.25","currency":"USD","updatedAt":"2026-10-18T16:00:00.000Z"},"value":"512.5"}],"holders":[{"account":"0x1111111111111111111111111111111111111111","positions":[{"chainId":99999,"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","units":"100"},{"chainId":11155111,"tokenAddress":"0x5555555555555555555555555555555555555555","units":"50"}],"units":"150","value":"1537.5"}],"holderCount":1,"units":"150","value":"1537.5"},"links":{"self":"/api/v2/reporting/fund-registers?classes=99999:0x71C7656EC7ab88b098defB751B7401B5f6d8976F,11155111:0x5555555555555555555555555555555555555555"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","FILING_NOT_FOUND","OBLIGATION_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SHAREHOLDER_LIST_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0728","DALP-0744","DALP-0752","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["ANCHOR_ENABLEMENT_REFUSED","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0727","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ANCHOR_ENABLEMENT_REFUSED","status":409,"message":"The anchoring change was refused","data":{"id":"DALP-0727","why":"A check refused turning anchoring on or off for this obligation, or accepting a missing anchor. `data.reason` names which check.","fix":"Read `data.reason`. For `disclosure-not-confirmed`, confirm the disclosure with a written reason. For `no-published-version`, publish a version of the obligation. For `blocking-severity-unavailable`, choose a warning severity where publication is the fulfilment act. For `issuer-untrusted` or `issuer-unresolved`, register the issuer as trusted for the document-hash topic. For `already-disabled`, `no-standing-exception` or `already-overridden`, send no further request.","retryable":false,"category":"domain","reason":"disclosure-not-confirmed"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","SHAREHOLDER_LIST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0753"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"SHAREHOLDER_LIST_REFUSED","status":422,"message":"No shareholder list can be read at this block","data":{"id":"DALP-0753","why":"The security's balance history does not reach the record block, or the record block is not final yet. `data.reason` names which, and `data.boundaryBlock` is the block the history starts at, the block the feature was detached at, or the newest final block.","fix":"For `feature-not-attached`, the security never had a historical-balances feature, so it has no record block to list. For `feature-detached`, the feature was detached at `data.boundaryBlock`: choose a record block before that block. For `enablement-after-record-block`, choose a record block at or after `data.boundaryBlock`. For `history-incomplete`, no record block can be listed, because the security had supply before the feature was attached; `data.boundaryBlock` is the block the feature was attached at. For `record-block-not-final`, wait until that block is final, or leave the block out to use the newest final block.","retryable":false,"category":"domain","reason":"feature-not-attached","recordBlock":"0xabababababababababababababababababababab","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","reporting.dependency.REFUSED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14088","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","REPORTING_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307","DALP-9320","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/xvp-settlements":{"get":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/list","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["name","-name","cutoffDate","-cutoffDate","createdAt","-createdAt","createdOffset","-createdOffset","recordTime","-recordTime"],"description":"JSON:API sort param. Prefix with - for descending. Sortable fields: name, cutoffDate, createdAt"},"required":false},{"name":"participant","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"name":"systemAddon","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"name":"family","in":"query","schema":{"type":"string","enum":["evm","canton"],"description":"Chain family discriminator for wallet identity, payloads, and signing requests"},"required":false},{"name":"network","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"kind","in":"query","schema":{"type":"string","enum":["allocation","request"]},"required":false},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"required":false},{"name":"authorizerParty","in":"query","schema":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"required":false},{"name":"authorizerProvider","in":"query","schema":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"required":false},{"name":"settleAt","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"expiresAt","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"createdOffset","in":"query","schema":{"type":"string","pattern":"^\\d+$","description":"Ledger offset of the update that produced the row, as a decimal string.","examples":["42"]},"required":false},{"name":"recordTime","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"participant":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"systemAddon":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"family":{"type":"string","enum":["evm","canton"],"description":"Chain family discriminator for wallet identity, payloads, and signing requests"},"kind":{"type":"string","enum":["allocation","request"]},"escrow":{"anyOf":[{"type":"string","enum":["held"]}],"description":"held keeps EVM settlements whose contract still holds money no settlement step will move: escrow left after a cancellation or after the cutoff (measured against indexed chain time) without a revealed secret, or an amount parked for a participant to claim."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of XvP settlements in the active system. Narrow on `data[].family` before reading any other field: an `evm` row is an indexed settlement with its approvals and votes and `userApproved` relative to the authenticated caller, a `canton` row is a ledger allocation or allocation request with its legs and offsets. Families are blocked, not interleaved: every matching EVM settlement comes first, then every Canton allocation, and `meta.total` spans both. `filter[family]` selects one family; `filter[network]` narrows to one chain id or Canton network.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementListRow"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Northwind Series A vs Fabrikam USDC","hasExternalFlows":false,"cutoffDate":"2026-04-20T16:00:00.000Z","createdAt":"2026-03-15T09:12:41.000Z","createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false},"secretRevealTx":"0x0000000000000000000000000000000000000000000000000000000000000000","executed":false,"cancelled":false,"withdrawn":false,"allApprovedAt":null,"approvalsCount":1,"cancelVotesCount":0,"localSendersCount":2,"progress":{"value":0.5,"max":1},"localParticipantsCount":2,"userApproved":true,"userLocalParticipant":true,"userHasParkedAmount":false,"userIsSender":true}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/addons/xvp-settlements?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/xvp-settlements?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/xvp-settlements?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.http.CALLER_WALLETS_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14433","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of XvP settlements in the active system and participant scope, across chain families. Every row carries `family`: an `evm` row is an indexed settlement keyed by its contract address, with its approvals, cancel votes and per-caller `userApproved` and `userIsSender` (one of the caller's wallets sends a leg on this chain, so the approval is the caller's to give); a `canton` row is one allocation or allocation request the ledger disclosed to the caller's parties, with its legs, executors and the offsets that name it. Default sort is `createdAt`; the EVM block filters on `name`, `cutoffDate`, `participant` or `systemAddon`, the Canton block on `kind`, `instrumentAdmin`, `authorizerParty`, `authorizerProvider`, `settleAt`, `expiresAt`, `createdOffset` or `recordTime`, and the two are blocked rather than interleaved, EVM first. Narrow to one family with `filter[family]`, or with `X-Chain-Id` for EVM or `X-Network-Id` for Canton; send neither for both. A family filter naming a family the collection serves is a valid empty page; a filter only the other family has a column for answers 422. Repeating the request is safe.","summary":"Page XvP settlements","x-dalp-auth":"session-or-api-key"},"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpCreateSettledData"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","settlementId":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12233","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues an exchange-versus-payment settlement. At least one flow must be local. A cross-chain settlement also needs a `secret` or `hashlock`. The 202 body carries a `statusUrl` you poll until the settlement is indexed. Do not submit a second create until you have read the first attempt's status. The body's shape selects the chain family: an EVM body names the factory and the flows and queues a deployment, and a Canton body names `instrumentAdmin`, the settlement and its legs and asks the named authorizer to escrow its sides on the ledger, answering with the operation the ledger accepted.","summary":"Queue a settlement","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpCreatePayload"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-2001","DALP-2003","DALP-2011","DALP-2012"]}},"/api/v2/addons/xvp-settlements/{settlementAddress}":{"get":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/read","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The requested XvP settlement with approvals, cancel votes, asset flows, whether a secret is stored, and, for the settlement's parties, the secret once it is revealed on chain.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpSettlementRead"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Northwind Series A vs Fabrikam USDC","hasExternalFlows":false,"cutoffDate":"2026-04-20T16:00:00.000Z","createdAt":"2026-03-15T09:12:41.000Z","createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false},"executed":false,"cancelled":false,"withdrawn":false,"allApprovedAt":null,"approvalsCount":1,"cancelVotesCount":0,"localSendersCount":2,"progress":{"value":0.5,"max":1},"localParticipantsCount":2,"secretRevealedAt":null,"secretRevealTx":null,"secretRevealedBy":null,"systemAddon":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"hashlock":"0x0000000000000000000000000000000000000000000000000000000000000000","secretRevealed":false,"secret":null,"autoExecute":false,"approvals":[{"id":"approval:treasury","approved":true,"timestamp":"2026-03-15T10:00:00.000Z","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}],"cancelVotes":[{"id":"example","votedAt":"example","active":false,"account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}],"flows":[{"id":"flow:ncb","legIndex":0,"assetId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","from":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","to":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"125000","externalChainId":0,"isExternal":false,"externalAssetDecimals":null}],"parkedAmounts":[{"id":"example","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"assetId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0"}],"escrowPositions":[{"id":"example","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"assetId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","locked":"0","refunded":"0"}],"hasStoredSecret":false,"userApproved":true,"userIsSender":true},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.http.CALLER_WALLETS_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14433","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one XvP settlement with approvals, cancel votes, asset flows, whether a secret is stored, and, for the settlement's parties, the secret once it is revealed on chain. A settlement the indexer has not seen answers 404. Repeating the request is safe.","summary":"Read an indexed XvP settlement","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/xvp-settlements/{settlementAddress}/secret-decryptions":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/decrypt","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The decrypted hashlock pre-image and its keccak256 hashlock. Use `secret` only to reveal or execute.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpDecryptOutput"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"secret":"0x6e6f72746877696e642d7365726965732d612d707265696d616765","hashlock":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/secret-decryptions"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.http.CALLER_WALLETS_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14433","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Decrypts the stored hashlock secret after the caller passes wallet verification (`walletVerification` with an `X-Step-Up-Challenge`) and the authorized wallet signs the request. A request without the proof or the challenge answers 400, and a wrong code answers 403. A missing stored secret answers 404. Repeating the request after a success returns the same secret.","summary":"Decrypt a stored XvP secret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpDecryptBody"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/xvp-settlements/{settlementAddress}/approvals":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/approve","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":1,"description":"The settlement's contract address on EVM, or the caller's `settlementId` on Canton, which must equal the body's."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpApproveSettledData"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/approvals"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTLEMENT_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14431","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12233","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the caller's approval and any required token allowances as one operation. Only a local sender may approve. Poll the 202 `statusUrl` before you treat the approval as recorded. The path names the settlement contract, so an EVM body carries only the signing proof. A Canton body is declared but cannot be addressed on this route until a typed Canton settlement route exists.","summary":"Queue an approval or allocation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpApprovePayload"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-2004","DALP-2005","DALP-4032"]},"delete":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/revokeApproval","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpApproveOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/approvals"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","XVP_APPROVAL_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0070","DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues revocation of the caller's approval on a settlement that has not executed. Poll the 202 `statusUrl` before you treat the approval as gone.","summary":"Queue an XvP approval revocation","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpSettlementWriteBody"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-2004","DALP-2005","DALP-2006"]}},"/api/v2/addons/xvp-settlements/{settlementAddress}/executions":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/execute","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":1,"description":"The settlement's contract address on EVM, or the caller's `settlementId` on Canton, which must equal the body's."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpExecuteSettledData"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/executions"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_RESOURCE_NOT_FOUND","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-14251","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_RESOURCE_NOT_FOUND","status":404,"message":"Canton resource not found","data":{"id":"DALP-14251","why":"The Canton resource is absent, or it is not disclosed to the active organization.","fix":"Use a Canton resource returned for the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9314","DALP-9325","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_ALLOCATION_REQUEST_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12230"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_ALLOCATION_REQUEST_EXPIRED","status":410,"message":"The Canton allocation request expired","data":{"id":"DALP-12230","why":"The settlement allocation request passed its execution window before the allocation was made, so the platform cannot allocate against it.","fix":"Create a new allocation request with an execution window that has not passed.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12234","DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9313","DALP-9328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_CAPABILITY_UNAVAILABLE","DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12233","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_CAPABILITY_UNAVAILABLE","status":503,"message":"A required Canton capability is unavailable","data":{"id":"DALP-12233","why":"The Canton participant or a service it depends on did not provide a capability this operation needs, so the platform did not complete the request.","fix":"Retry later. If the refusal persists, ask an operator to restore the Canton participant connection.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues settlement of an approved XvP after every required approval (and hashlock reveal, when required) is in place. Poll the 202 `statusUrl` before you treat the flows as moved. The path names the settlement contract, so an EVM body carries only the signing proof. A Canton body is declared but cannot be addressed on this route until a typed Canton settlement route exists.","summary":"Queue execution or settlement","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpExecutePayload"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-2004","DALP-2005","DALP-2007","DALP-2008","DALP-2009","DALP-4033"]}},"/api/v2/addons/xvp-settlements/{settlementAddress}/cancellation-requests":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/cancel","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpApproveOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/cancellation-requests"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a cancellation vote on a settlement that has not executed. Cancellation completes only after the required votes land. Poll the 202 `statusUrl` before you treat the settlement as canceled.","summary":"Queue an XvP cancellation vote","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpSettlementWriteBody"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-2004","DALP-2005","DALP-4034"]}},"/api/v2/addons/xvp-settlements/{settlementAddress}/expiry-withdrawals":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/withdrawExpired","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpApproveOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/expiry-withdrawals"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues return of escrowed assets after the settlement cutoff has passed without execution. Poll the 202 `statusUrl` before you treat the assets as returned.","summary":"Queue withdrawal of an expired XvP","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpSettlementWriteBody"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-2004","DALP-2005","DALP-4136"]}},"/api/v2/addons/xvp-settlements/{settlementAddress}/parked-claims":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/claimParked","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpApproveOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/parked-claims"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Claims an amount the settlement holds for the caller because a token refused delivery, and sends it to the receiver in the body. The call uses `claimRefund` before execution and `claimSettled` after it. It is refused before queuing when nothing is parked for the acting wallet, when the secret is revealed before execution, or when the receiver is the settlement. Poll the 202 `statusUrl` before you treat the amount as claimed.","summary":"Queue a claim of a parked XvP amount","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpParkedClaimBody"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-3028","DALP-4456","DALP-4503","DALP-4291","DALP-9065"]}},"/api/v2/addons/xvp-settlements/{settlementAddress}/secrets":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/storeSecret","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirmation that the hashlock pre-image is stored for the settlement.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpStoreSecretOutput"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"settlementId":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","stored":true},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/secrets"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.http.CALLER_WALLETS_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14433","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Encrypts and stores the hashlock pre-image for the deployed settlement the path names. Poll the create `statusUrl` until the settlement is indexed to learn its address; a settlement the indexer has not seen answers 404. Only the settlement creator may store the secret. A second call with the same secret is idempotent and returns `stored: true`.","summary":"Store an XvP secret","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpStoreSecretBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/xvp-settlements/{settlementAddress}/secret-revelations":{"post":{"tags":["XvP settlements"],"operationId":"xvpV2.v2/addons/xvp/revealSecret","parameters":[{"name":"settlementAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted XvP write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/XvpRevealSecretOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","emailResults":[{"recipient":"ops@northwind.example","success":true}]},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/xvp-settlements/0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9/secret-revelations"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues on-chain publication of the hashlock pre-image so counterparties can execute. A settlement that does not require a reveal answers 409. Poll the 202 `statusUrl` before you treat the secret as public.","summary":"Queue an XvP secret reveal","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/XvpRevealSecretBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-2004","DALP-2005"]}},"/api/v2/addons/token-sales":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/list","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["saleStartTime","-saleStartTime","saleEndTime","-saleEndTime","totalSold","-totalSold","createdAt","-createdAt"],"description":"JSON:API sort param. Prefix with - for descending. Sortable fields: saleStartTime, saleEndTime, totalSold, createdAt"},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"saleEndTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"saleStartTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"systemAddon":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"token":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"totalSold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}],"allOf":[{"description":"Amount sold in base units, the value of `totalSoldExact`, not the decimal `totalSold` amount. For 5 tokens with 18 decimals, send `5000000000000000000`."}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of token sales in the active system. `status` is computed from the chain clock at read time.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleListItem"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x5FC8d32690cc91D4c39d9d3abcBD16989F875707","token":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","symbol":"NCB","decimals":18},"status":"PUBLIC_SALE","saleStartTime":"2026-04-01T08:00:00.000Z","saleEndTime":"2026-12-31T17:00:00.000Z","presaleEndTime":"2026-04-15T17:00:00.000Z","createdAt":"2026-03-15T09:12:41.000Z","totalSold":"125000","totalSoldExact":"125000000000000000000000","hardCap":"500000","hardCapExact":"500000000000000000000000","progress":{"value":0.25,"max":1,"marker":0.5}}],"meta":{"total":1},"links":{"self":"/v2/addons/token-sales?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/token-sales?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/token-sales?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","TOKEN_SALE_ADDON_NOT_IN_OWNER_SCOPE_AUTHENTICATED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0357","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of token sales in the active chain and system. Default sort is `saleStartTime`. Filter by start or end time, sold token, factory, or amount sold. Status is computed from the chain clock at read time, so do not filter on it. Repeating the request is safe.","summary":"List token sales","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleCreateSettledData"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","tokenSaleId":"0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.APPROVER_SHORTFALL","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-12412"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues deployment of a new sale for a token the caller manages. Send hard cap and duration; optional payment currencies, limits, vesting, and presale apply at create. The 202 body carries a `statusUrl` you poll until the sale is indexed. Do not submit a second create until you have read the first attempt's status. The body's shape selects the chain family: an EVM body names the sold token by contract address, and a Canton body names `instrumentAdmin` and opens the sale on the ledger as the party wallet it carries, answering with the id of the contract it created.","summary":"Create a token sale","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleCreateInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4222","DALP-4238"]}},"/api/v2/addons/token-sales/investments":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/investments","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["saleStartTime","-saleStartTime","saleEndTime","-saleEndTime","totalSold","-totalSold","createdAt","-createdAt"],"description":"JSON:API sort param. Prefix with - for descending. Sortable fields: saleStartTime, saleEndTime, totalSold, createdAt"},"required":false},{"name":"purchasedFrom","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"purchasedTo","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"purchasedFrom":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"purchasedTo":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"investableNow":{"type":"string","enum":["true","false"],"description":"A sale is investable now when chain time is at or after its start and before its end, and one of these holds: its status at chain time is PUBLIC_SALE; it is PRESALE and its presale window has already closed at chain time; or it is PRESALE and a caller wallet is on its presale whitelist."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of the authenticated caller's sale positions. An empty position marks a sale the caller can discover but has not bought.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleInvestmentItem"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"},"status":"PUBLIC_SALE","saleStartTime":"2026-04-01T08:00:00.000Z","saleEndTime":"2026-12-31T17:00:00.000Z","presaleEndTime":"2026-04-15T17:00:00.000Z","createdAt":"2026-03-15T09:12:41.000Z","totalSold":"125000","totalSoldExact":"125000000000000000000000","hardCap":"500000","hardCapExact":"500000000000000000000000","progress":{"value":0.25,"max":1,"marker":0.5},"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","position":{"buyerAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"purchased":"10000","purchasedExact":"10000000000000000000000","withdrawn":"2500","withdrawnExact":"2500000000000000000000","claimableNow":"2500","claimableNowExact":"2500000000000000000000","nextUnlockAt":"2026-06-30T08:00:00.000Z","pendingReason":null,"contributedByCurrency":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"10000","amountExact":"10000000000"}],"refundableByCurrency":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"example","amountExact":"0"}],"progress":{"value":0.25,"max":1,"marker":null},"vestedProgress":{"value":0.5,"max":1,"marker":null}},"participated":true,"discoverable":true,"coverPhotoUrl":null,"logoUrl":null}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/addons/token-sales/investments?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/token-sales/investments?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/token-sales/investments?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.http.CALLER_WALLETS_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14433","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the authenticated caller's token-sale positions across sales in the active system. Use this to show what the caller bought, can claim, or can refund. Repeating the request is safe.","summary":"List the caller's sale positions","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/operations":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/operationsList","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["saleStartTime","-saleStartTime","saleEndTime","-saleEndTime","totalSold","-totalSold","createdAt","-createdAt"],"description":"JSON:API sort param. Prefix with - for descending. Sortable fields: saleStartTime, saleEndTime, totalSold, createdAt"},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"saleEndTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"saleStartTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"systemAddon":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"token":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"totalSold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}],"allOf":[{"description":"Amount sold in base units, the value of `totalSoldExact`, not the decimal `totalSold` amount. For 5 tokens with 18 decimals, send `5000000000000000000`."}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of sales the authenticated manager may operate. `alert` is computed at read time from the chain clock and is never stored.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleOperationsItem"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"},"status":"PUBLIC_SALE","saleStartTime":"2026-04-01T08:00:00.000Z","saleEndTime":"2026-12-31T17:00:00.000Z","presaleEndTime":"2026-04-15T17:00:00.000Z","createdAt":"2026-03-15T09:12:41.000Z","totalSold":"125000","totalSoldExact":"125000000000000000000000","hardCap":"500000","hardCapExact":"500000000000000000000000","progress":{"value":0.25,"max":1,"marker":0.5},"alert":"near-cap","investorCount":18,"paymentCurrencies":[{"currency":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"},"accepted":false}],"price":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","priceRatio":"example"}],"presalePriceRatio":"example","raised":[{"currency":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"},"amount":"example","amountExact":"0"}]}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/addons/token-sales/operations?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/token-sales/operations?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/token-sales/operations?sort=saleStartTime&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","TOKEN_SALE_ADDON_NOT_IN_OWNER_SCOPE_AUTHENTICATED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0357","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of token sales the authenticated manager may operate. A caller without sale-manager permission is rejected. Repeating the request is safe.","summary":"List manager sale operations","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/current-time":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/currentTime","parameters":[],"responses":{"200":{"description":"Chain-head time the platform uses to compare against sale windows. Do not compare those windows to the wall clock.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleCurrentTimeOutput"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"currentTimestamp":"2026-04-02T09:14:07.000Z"},"links":{"self":"/v2/addons/token-sales/current-time"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the active chain-head timestamp the platform uses to schedule sale windows. Compare this to `saleStartTime` and `saleEndTime` rather than the wall clock. Repeating the request is safe.","summary":"Read sale chain time","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/read","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"buyerAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"name":"live","in":"query","schema":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"required":false},{"name":"amount","in":"query","schema":{"type":"string","pattern":"^[0-9]+$","description":"Non-negative uint256 asset amount decoded to a bigint"},"required":false}],"responses":{"200":{"description":"The requested sale plus the caller's position, eligibility, and access-control snapshot. Indexed unless `live=true` was sent.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleReadResponse"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example","isExternal":false},"status":"PUBLIC_SALE","saleStartTime":"2026-04-01T08:00:00.000Z","saleEndTime":"2026-12-31T17:00:00.000Z","presaleEndTime":"2026-04-15T17:00:00.000Z","createdAt":"2026-03-15T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","pausedAt":null,"pausedBy":null,"finalizedAt":null,"totalSold":"125000","totalSoldExact":"125000000000000000000000","hardCap":"500000","hardCapExact":"500000000000000000000000","minPurchase":"1000","minPurchaseExact":"1000000000000000000000","maxPurchase":"50000","maxPurchaseExact":"50000000000000000000000","purchaseIncrement":"example","purchaseIncrementExact":"0","softCap":"250000","softCapExact":"250000000000000000000000","softCapShare":0.5,"progress":{"value":0.25,"max":1,"marker":0.5},"vestingProgress":{"value":0,"max":1,"marker":0.25},"softCapReached":false,"presalePriceRatio":"900000000000000000","presaleMaxPerAddress":"10000000000000000000000","vestingEnabled":true,"vestingStartTime":"2027-01-01T08:00:00.000Z","vestingDuration":"31536000","vestingCliff":"7884000","termsHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","termsDocuments":[{"id":"example","fileName":"example","title":"example","fileHash":"example"}],"termsDocumentsHash":"example","failedAt":null,"paymentCurrencies":[{"id":"pay:usdc","currency":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"USD Coin"},"priceRatio":"1000000000000000000","accepted":true}],"purchases":[{"id":"purchase:treasury","buyer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"paymentCurrency":{"id":"pay:usdc","currency":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"USD Coin"},"priceRatio":"1000000000000000000","accepted":true},"paymentAmount":"10000","paymentAmountExact":"10000000000","tokenAmount":"10000","tokenAmountExact":"10000000000000000000000","purchasedAt":"2026-04-02T09:14:07.000Z","txHash":"0x9f2c1e4b7a6d3c8e5b0a1f4d7c2e9b6a3d8f5c1e4b7a0d3c6e9f2b5a8d1c4e7f","phase":"PUBLIC_SALE"}],"whitelistEntries":[{"id":"example","investor":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"isWhitelisted":false,"updatedAt":"example"}],"whitelistActive":false,"systemAddon":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"hasAcknowledgedTerms":true,"position":{"buyerAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"purchased":"10000","purchasedExact":"10000000000000000000000","withdrawn":"2500","withdrawnExact":"2500000000000000000000","claimableNow":"2500","claimableNowExact":"2500000000000000000000","nextUnlockAt":"2026-06-30T08:00:00.000Z","pendingReason":null,"contributedByCurrency":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"10000","amountExact":"10000000000"}],"refundableByCurrency":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"example","amountExact":"0"}],"progress":{"value":0.25,"max":1,"marker":null},"vestedProgress":{"value":0.5,"max":1,"marker":null}},"eligibility":null,"accessControl":null,"coverPhotoUrl":null,"logoUrl":null},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.http.CALLER_WALLETS_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14433","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.DOCUMENT_STORE_FAILED","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14093","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one sale, the caller's position, eligibility, and access-control snapshot. Send `live=true` and `amount` only for a pre-submit eligibility recheck; that path hits the chain and is slower. `purchases` and `whitelistEntries` hold every row for system admins, system token managers, and sale admins or funds managers on a token the caller's organization issued; every other caller sees only the rows for its own wallets. `buyerAddress` narrows both lists to one wallet within the rows the caller may already see, and never widens them. Repeating an indexer read is safe.","summary":"Read a token sale","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/cap-table":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/capTable","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The investor cap table for the named sale. Only a sale manager may read this.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleCapTableResponse"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"saleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","investorCount":1,"totalTokenAllocated":"10000","totalTokenAllocatedExact":"10000000000000000000000","rows":[{"buyer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"identityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Northwind Coffee Treasury","kycStatus":"registered","country":"US","paymentCurrency":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"USDC"},"purchaseCount":1,"totalPaymentAmount":"10000","totalPaymentAmountExact":"10000000000","totalTokenAmount":"10000","totalTokenAmountExact":"10000000000000000000000","cancelledTokenAmount":"0","cancelledTokenAmountExact":"0","undeliveredTokenAmount":"10000","undeliveredTokenAmountExact":"10000000000000000000000","undeliverable":false,"recoveredWalletDeliverable":false,"releasable":false,"refundPaid":"0","refundPaidExact":"0"}]},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/cap-table"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the investor cap table for one sale. Only a sale manager may call this route. Repeating the request is safe.","summary":"Read a sale cap table","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/funding":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/funding","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"What the sale can still accept, read live from the chain. Size a funding request against `remainingExact`, never against an indexed balance.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleFundingOutput"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","hardCapExact":"1000000000000000000000000","totalSoldExact":"300000000000000000000000","balanceExact":"400000000000000000000000","queuedExact":"0","remainingExact":"300000000000000000000000","asOfBlockNumber":"0"},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/funding"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the token amount the sale can still accept, and the hard cap, sold total, live balance, and in-flight mint total it comes from. Every figure is read from the chain, so a lagging indexer cannot inflate it. Repeating the request is safe. This read takes no lock, so the headroom can drop before you send the funding request. Handle the refusal that request returns, which carries the amount left at that moment.","summary":"Read sale funding headroom","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/fund":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/fund","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleFundOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"mintedExact":"300000000000000000000000","remainingExact":"0"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/fund"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","TOKEN_MINT_MATURITY_REDEMPTION_MATURED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9077","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE","settlement.http.WRITE_OUTCOME_UNKNOWN"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326","DALP-14092"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Mints tokens to the sale so it has stock to sell. Omit `amount` to send exactly what the sale can still accept, which makes a repeated call top up only the shortfall. An amount larger than the sale can accept is refused with the real remaining figure rather than trimmed, so the operator sees the number they got wrong.","summary":"Fund a sale","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleFundInput"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043","DALP-9077"]}},"/api/v2/addons/token-sales/preflights":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/createPreflight","parameters":[],"responses":{"200":{"description":"The offering create would be accepted now. Nothing was signed, queued or held for approval. The refusals it can return are the ones `create` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleCreatePreflightOutput"},"examples":{"example-1":{"value":{"action":"create"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.APPROVER_SHORTFALL","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-12412"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleCreatePreflightInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4222","DALP-4238"]}},"/api/v2/addons/token-sales/{saleAddress}/transitions":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/transition","parameters":[{"name":"saleAddress","in":"path","schema":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform.","allOf":[{"pattern":"^(?!0[xX])","description":"Contract id of a Canton sale. A segment starting with 0x is an EVM address and must decode as one."}]}]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleTransitionSettledData"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/transitions"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.APPROVER_SHORTFALL","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-12412"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues one lifecycle transition, named by `to`. `active` activates a setup sale into its presale or public window, or resumes a paused sale; `public-sale` opens a presale to the public; `paused` blocks new purchases; `ended` closes the sale window early; `finalized` records soft-cap success or failure once the window has ended. The contract decides whether the sale can make the move, and refuses one it cannot with the same contract error the sale would raise on-chain. Poll the 202 `statusUrl` before you treat the sale as moved. The body's shape selects the chain family: an EVM sale is named by its contract address in the path, and a Canton sale by the contract id a platform read returned, with `instrumentAdmin` in the body, which retires the sale capability and is the only transition the ledger knows. Activating a setup sale whose uploaded terms documents have no committed terms hash is refused with 422; set the terms first.","summary":"Move a token sale to a lifecycle state","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleTransitionInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4250","DALP-4251","DALP-4182","DALP-4260"]}},"/api/v2/addons/token-sales/{saleAddress}/purchases":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/buy","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleBuySettledData"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/purchases"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTLEMENT_INSUFFICIENT_BALANCE","TOKEN_SALE_PURCHASE_OFF_GRID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-0686","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14431","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a purchase in the named payment currency. `minTokenAmount` is the slippage floor. The caller must have acknowledged terms when the sale requires them. A sale whose terms documents are not yet committed on the sale contract refuses purchases with 422. Poll the 202 `statusUrl` before you treat the purchase as filled. The body's shape selects the chain family: an EVM sale is named by its contract address, and a Canton sale by the contract id a platform read returned, which submits the sale's purchase choice against the investor's and the treasury's allocations in one delivery-versus-payment submission.","summary":"Buy tokens in a sale","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleBuyInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4252","DALP-4253","DALP-4254","DALP-4255"]}},"/api/v2/addons/token-sales/{saleAddress}/purchase-preflights":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/buyPreflight","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The purchase would be accepted now. Nothing was signed, queued or held. The refusals it can return are the ones `buy` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleBuyPreflightOutput"},"examples":{"example-1":{"value":{"action":"buy"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTLEMENT_INSUFFICIENT_BALANCE","TOKEN_SALE_PURCHASE_OFF_GRID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-0686","DALP-12299","DALP-12308","DALP-14261","DALP-14431","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleBuyPreflightInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4252","DALP-4253","DALP-4254","DALP-4255"]}},"/api/v2/addons/token-sales/{saleAddress}/fund-withdrawals":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/withdrawFunds","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/fund-withdrawals"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TOKEN_SALE_CANNOT_WITHDRAW_SALE_TOKEN_CURRENCY","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-0679","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues withdrawal of collected payment currencies after a successful sale. Only a sale manager may call this. Poll the 202 `statusUrl` before you treat the funds as moved.","summary":"Withdraw sale proceeds","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleWithdrawFundsInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/token-withdrawals":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/withdrawTokens","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/token-withdrawals"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a claim of vested purchased tokens for the authenticated buyer. Poll the 202 `statusUrl` before you treat the tokens as received.","summary":"Withdraw purchased tokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleMutationInput"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/recovered-wallet-deliveries":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/withdrawTokensFor","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleWithdrawTokensForInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4264","DALP-4283","DALP-4479","DALP-4480"]}},"/api/v2/addons/token-sales/{saleAddress}/unsold-token-withdrawals":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/withdrawUnsoldTokens","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/unsold-token-withdrawals"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues return of unsold inventory to the manager after the sale has ended. Poll the 202 `statusUrl` before you treat the tokens as returned.","summary":"Withdraw unsold tokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleWithdrawUnsoldTokensInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/undeliverable-purchase-refunds":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/refundUndeliverablePurchase","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/undeliverable-purchase-refunds"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the release of a buyer's undelivered tokens back to a sale that finalized as successful, for a buyer the sale can no longer deliver to (for example a frozen wallet or a lapsed identity verification). The sale records a refund of the undelivered share of the buyer's payment; pay it out per currency with `POST /api/v2/addons/token-sales/{saleAddress}/undeliverable-refund-payments`. Needs the funds-manager role on the sale; refused with 422 before anything is queued when the sale has not finalized as successful. The chain refuses the write while the buyer can still receive the tokens; the cap table's `releasable` flag says ahead of time whether it would succeed. Poll the 202 `statusUrl` before you treat the tokens as released.","summary":"Refund an undeliverable purchase","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleRefundUndeliverablePurchaseInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003","DALP-4240","DALP-4460","DALP-4461","DALP-4462","DALP-4480"]}},"/api/v2/addons/token-sales/{saleAddress}/undeliverable-refund-payments":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/payUndeliverableRefund","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/undeliverable-refund-payments"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the payout, in one payment currency, of the refund the sale recorded when a buyer's undeliverable purchase was released. The sale pays it to the buyer's wallet, or to the wallet that replaced it through identity recovery, never to the caller. Any caller in the sale's organisation may send it, matching the contract. The chain refuses the write when nothing is owed in that currency. Pay each currency the buyer paid in on its own; the cap table's `refundPaid` shows what each currency has paid. Poll the 202 `statusUrl` before you treat the refund as paid.","summary":"Pay out an undeliverable-purchase refund","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSalePayUndeliverableRefundInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4240","DALP-4480"]}},"/api/v2/addons/token-sales/{saleAddress}/recovered-wallet-refund-claims":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/claimRefundForRecoveredWallet","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleClaimRefundForRecoveredWalletInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4240","DALP-4282","DALP-4479","DALP-4480"]}},"/api/v2/addons/token-sales/{saleAddress}/purchase-increment":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/setPurchaseIncrement","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSalePurchaseIncrementInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/extension":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/extendSale","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleExtendInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/investor-allocations":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/setInvestorAllocations","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleSetInvestorAllocationsInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4493"]},"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/investorAllocations","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["createdAt","-createdAt"],"description":"JSON:API sort param. Sortable fields: createdAt. Prefix with - for descending.","examples":["createdAt","-createdAt"]},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"investor":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleInvestorAllocation"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"investor":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","cap":"example","capExact":"0","purchased":"example","purchasedExact":"0","remaining":"example","remainingExact":"0","updatedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/term-acknowledgements":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/acknowledgeTerms","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/term-acknowledgements"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the caller's acknowledgement of the sale terms hash. Refused with 422 when the sale's current terms documents differ from the terms hash committed on the sale contract; answered with a retryable 503 when the terms documents or the committed hash cannot be read. A purchase that requires terms fails until this settles. Poll the 202 `statusUrl` before you submit a buy.","summary":"Acknowledge sale terms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleMutationInput"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4258"]}},"/api/v2/addons/token-sales/{saleAddress}/terms":{"put":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/setTerms","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/terms"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original PUT unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the one-time commitment of the sale's terms hash, derived from the current public `terms` documents. A sale admin calls it while the sale is in setup and no terms are set yet; the hash cannot change afterwards. Send `expectedTermsHash`, the `termsDocumentsHash` you displayed for review, and the request is refused with 422 and records nothing if the terms documents changed since. Poll the 202 `statusUrl` before you activate the sale.","summary":"Set the sale terms","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleSetTermsInput"}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4312"]}},"/api/v2/addons/token-sales/{saleAddress}/refund-claims":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/claimRefund","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/refund-claims"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues a refund of the caller's contribution after a sale fails its soft cap. Poll the 202 `statusUrl` before you treat the refund as paid.","summary":"Claim a sale refund","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleClaimRefundInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4256","DALP-4531"]}},"/api/v2/addons/token-sales/investment-settlements":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/settleInvestments","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitPerItem"}],"responses":{"200":{"description":"One result per claim or refund, in the order the sales were named. settled carries the mined transaction, queued a transaction the queue accepted, failed and skipped a reason and a message.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleSettlementRun"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"items":[{"saleAddress":"0x00000000000000000000000000000000000000d1","kind":"claim","currency":null,"amountExact":"75000000000000000000","status":"queued","transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","transactionHash":null,"reason":null,"message":null},{"saleAddress":"0x00000000000000000000000000000000000000d2","kind":"refund","currency":"0x00000000000000000000000000000000000000c2","amountExact":"40000000","status":"failed","transactionId":null,"transactionHash":null,"reason":"refused","message":"The sale refused the refund."}]},"links":{"self":"/v2/addons/token-sales/investment-settlements"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Verifies the wallet once, then settles each named sale for the acting wallet: a successful sale withdraws the tokens it owes now, a failed sale refunds each payment currency it still holds. Each claim or refund is its own queued transaction, sent one after another, and a failed one does not stop the others. A sale that owes the wallet nothing comes back skipped. Answers 200 with one result per claim or refund. Name at most 20 sales per request. Repeat with the same idempotency key to get the same transactions back instead of sending new ones. A browser wallet cannot settle several sales in one request; it signs each claim or refund on the sale's own routes.","summary":"Claim tokens and refunds from ended sales","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleSettlementInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/presale-whitelist-entries":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/addToPresaleWhitelist","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/presale-whitelist-entries"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues addition of investor addresses to the presale whitelist. Poll the 202 `statusUrl` before you treat the addresses as admitted.","summary":"Add presale whitelist entries","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleAddToPresaleWhitelistInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"delete":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/removeFromPresaleWhitelist","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x00000000000000000000000000000000000000d1/presale-whitelist-entries"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues removal of investor addresses from the presale whitelist. Poll the 202 `statusUrl` before you treat the addresses as removed.","summary":"Remove presale whitelist entries","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleRemoveFromPresaleWhitelistInput"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/role-sets":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/setRoles","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted sale write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleRoleSetOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accounts":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"grant":["saleAdmin"],"revoke":["fundsManager"]},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/role-sets"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ROLE_SEGREGATION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-14425","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Grants and revokes sale roles for one participant or one wallet as one change on the sale's token. Name the target by participantId, which covers every actable wallet of the participant, or by address. The caller needs the token's administrator role; a caller without it is refused with 403 before any transaction. Roles already in the requested state are skipped, and a request that changes nothing answers 200 with no transaction. Poll the 202 `statusUrl` before you treat the roles as changed.","summary":"Set sale roles","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleRoleSetBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]}},"/api/v2/addons/token-sales/{saleAddress}/document-uploads":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/documentsGetUploadUrl","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Time-limited PUT URL for a sale document. PUT the bytes, then confirm the upload.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SaleDocumentPresignedUpload"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"uploadUrl":"https://objects.northwind.example/upload/sale-terms.pdf","objectKey":"token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/brochure.pdf","expiresAt":"2026-04-02T10:14:07.000Z","method":"PUT","headers":{"content-type":"application/pdf"}},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/document-uploads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.DOCUMENT_STORE_FAILED","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14093","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a time-limited PUT URL for a sale document. PUT the bytes to the URL, then confirm the upload. Request a new URL if the previous one has expired. An upload URL for a terms document needs the Sale Admin role.","summary":"Create a sale document upload URL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleDocumentGetUploadUrlBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/documents":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/documentsConfirmUpload","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored sale document after the upload is confirmed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SaleDocument"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6c","chainId":11155111,"saleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","documentType":"brochure","visibility":"public","groupId":"doc_01j8f3k2m4n5p6q7r8s9t0v1","versionNumber":1,"isLatest":true,"fileName":"northwind-series-a-brochure.pdf","filePath":"token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/brochure.pdf","fileSize":248832,"mimeType":"application/pdf","fileHash":"example","title":"Northwind Series A brochure","description":"Investor brochure for the Series A sale.","uploadedAt":"2026-03-15T09:12:41.000Z"},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/documents"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.sale.TERMS_FIXED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12392","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.DOCUMENT_STORE_FAILED","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14093","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates the document record after the object has been uploaded. Send the object key returned by the upload URL. Repeating a confirm for an already recorded key is rejected. A terms document, or a document that replaces one, needs the Sale Admin role.","summary":"Confirm a sale document upload","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleDocumentConfirmUploadBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/documentsList","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["fileName","-fileName","documentType","-documentType","visibility","-visibility","mimeType","-mimeType","isLatest","-isLatest","fileSize","-fileSize","uploadedAt","-uploadedAt","createdAt","-createdAt"],"description":"JSON:API sort param. Prefix with - for descending. Sortable fields: fileName, documentType, visibility, mimeType, isLatest, fileSize, uploadedAt, createdAt"},"required":false}],"responses":{"200":{"description":"One page of documents visible on the named sale.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SaleDocumentListItem"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6c","saleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","documentType":"brochure","visibility":"public","groupId":"doc_01j8f3k2m4n5p6q7r8s9t0v1","versionNumber":1,"isLatest":true,"fileName":"northwind-series-a-terms.pdf","fileSize":248832,"mimeType":"application/pdf","fileHash":"example","title":"Northwind Series A terms","description":"Investor terms for the Series A sale.","uploadedAt":"2026-03-15T09:12:41.000Z","thumbnailUrl":null}],"meta":{"total":1,"facets":{}},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.DOCUMENT_STORE_FAILED","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14093","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of documents visible to the authenticated caller on the named sale. Repeating the request is safe.","summary":"List sale documents","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/documents/{documentId}/downloads":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/documentsGetDownloadUrl","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Time-limited GET URL for a sale document the caller may read.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SaleDocumentPresignedDownload"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"downloadUrl":"https://objects.northwind.example/download/sale-brochure.pdf","fileName":"northwind-series-a-brochure.pdf","mimeType":"application/pdf","expiresAt":"2026-04-02T10:14:07.000Z"},"links":{"self":"/v2/addons/token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/documents/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6c/downloads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.DOCUMENT_STORE_FAILED","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14093","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a time-limited GET URL for a sale document the caller may read. Request a new URL if the previous one has expired. This route does not change sale state.","summary":"Create a sale document download URL","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/documents/{documentId}":{"delete":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/documentsDelete","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Successful delete acknowledgement. `data` is `null` because the resource no longer exists. Treat HTTP 200 plus this body as confirmation, not as a leftover item.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementDeleted"},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","settlement.sale.TERMS_FIXED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12392","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.DOCUMENT_STORE_FAILED","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14093","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deletes a manager-owned sale document and its stored object. A document that is already gone answers 404. Deleting a terms document needs the Sale Admin role.","summary":"Delete a sale document","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/application-mode":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/applicationMode","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleApplicationMode"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"enabled":false,"basis":"pro-rata","modeSwitch":{"settable":false,"reason":"not-in-setup"},"greenshoe":{"maxBps":0,"exercise":"automatic","capacity":"0","exercised":"0","decided":false},"lockups":{"tiers":[{"claimTopic":"knowYourCustomer","tranches":[{"offsetSeconds":0,"bps":1}]}],"defaultTranches":[{"offsetSeconds":0,"bps":1}],"startedAt":"example"}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"put":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/applicationModeSet","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleApplicationModeOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"enabled":false,"basis":"pro-rata","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleApplicationModeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/greenshoe":{"put":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/greenshoeSet","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleGreenshoeOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"maxBps":0,"exercise":"automatic","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED","settlement.sale.IMPLEMENTATION_PREDATES_OFFERING_TERMS"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-200382"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleGreenshoeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/greenshoe/exercise":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/greenshoeExercise","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleGreenshoeExerciseOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"amount":"0","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED","settlement.sale.IMPLEMENTATION_PREDATES_OFFERING_TERMS"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-200382"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleGreenshoeExerciseInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/lockups":{"put":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/lockupsSet","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleLockupsOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tiers":[{"claimTopic":"knowYourCustomer","tranches":[{"offsetSeconds":0,"bps":1}]}],"defaultTranches":[{"offsetSeconds":0,"bps":1}],"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED","settlement.sale.IMPLEMENTATION_PREDATES_OFFERING_TERMS"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-200382"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleLockupsInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/applications":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/applicationsCreate","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","SETTLEMENT_INSUFFICIENT_BALANCE","TOKEN_SALE_PURCHASE_OFF_GRID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-0686","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14431","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleApplicationInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/applicationsList","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"recipient":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"scope":{"type":"string","enum":["own"],"description":"`own` narrows the list to the wallets the caller owns, also for a caller who manages the sale. Without it a manager reads every applicant."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"TokenSaleApplicationList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleApplicationList"},"examples":{"example-1":{"value":{"data":[{"applicant":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","demandExact":"0","allocatedExact":"0","status":"applied","payments":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paidExact":"0","refundExact":"0","keptExact":"0","deferredExact":"0","escrowHeld":false}],"lockup":{"amount":"0","unlockAt":"example","claimTopic":"knowYourCustomer","tranches":[{"amount":"0","unlockAt":"example"}]}}],"meta":{"total":0,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ","book":{"phase":"open","basis":"pro-rata","applicants":0,"offeringExact":"0","greenshoeExact":"0","totalDemandExact":"0","allocatedExact":"0","unissuedExact":"0","bookHash":"0x0000000000000000000000000000000000000000000000000000000000000000","payments":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","paidExact":"0","refundExact":"0","keptExact":"0"}],"runDigest":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/applications/{applicant}/transitions":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/applicationTransition","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"applicant","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleActivateOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleApplicationTransitionInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/allocation-runs":{"post":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/allocationRunsCreate","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleAllocationRunOutput"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"]},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.APPROVER_SHORTFALL","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-12412"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenSaleAllocationRunInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/allocation-runs/{runId}":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/allocationRunsRead","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"runId","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleAllocationRun"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"runId":"0x0000000000000000000000000000000000000000000000000000000000000000","recipient":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","basis":"pro-rata","offeringExact":"0","greenshoeExact":"0","softCapExact":"0","tokenSymbol":"example","tokenDecimals":0,"applicants":0,"allocatedExact":"0","kept":[{"currency":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","keptExact":"0","refundExact":"0"}],"bookHash":"0x0000000000000000000000000000000000000000000000000000000000000000","state":"awaiting-approval","approvalRequestId":"example","requestedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/commitments-chart":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/commitmentsChart","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleCommitmentsChart"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","committed":0,"cumulative":0}],"prior":[{"t":"example","committed":0,"cumulative":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false},"forecast":{"state":"projected","projectedTotal":0}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/token-sales/{saleAddress}/funnel":{"get":{"tags":["Primary offerings"],"operationId":"tokenSaleV2.v2/addons/tokenSale/funnel","parameters":[{"name":"saleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenSaleFunnelView"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"stages":[{"key":"example","label":"example","count":0}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops":{"get":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/list","parameters":[{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["createdAt","-createdAt"],"description":"JSON:API sort param. Sortable fields: createdAt. Prefix with - for descending.","examples":["createdAt","-createdAt"]},"required":false},{"name":"search","in":"query","schema":{"type":"string"},"required":false},{"name":"typeId","in":"query","schema":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop"],"description":"Airdrop factory variant"},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"search":{"type":"string"},"typeId":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop"],"description":"Airdrop factory variant"},"token":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of airdrops from factories registered in the active system. `meta.total` counts every matching airdrop.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AirdropListItem"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","typeId":"push-airdrop","name":"Northwind early-subscriber airdrop","token":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","symbol":"NCB","decimals":18},"merkleRoot":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","distributionCap":"100000","distributionCapExact":"100000000000000000000000","amountTransferred":"25000","amountTransferredExact":"25000000000000000000000","progress":{"value":0.25,"max":1,"marker":null},"withdrawalScheduled":false,"withdrawalEligibleAt":null,"vestingStrategy":null,"vestingInitializationDeadlineAt":null,"createdAt":"2026-03-04T09:12:41.000Z"}],"meta":{"total":1},"links":{"self":"/v2/addons/airdrops?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/addons/airdrops?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/addons/airdrops?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["AIRDROP_ADDON_NOT_FOUND","AIRDROP_NOT_FOUND_INDEXER","AIRDROP_NOT_IN_OWNER_SCOPE","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0683","DALP-0684","DALP-0685","DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of airdrop instances from every airdrop factory registered in the active system. Default sort is `createdAt`. Filter by `typeId` (push, vesting, or time-bound), `token`, `systemAddon`, or `name`. An airdrop appears only after the indexer processes its deploy. Repeating the request is safe.","summary":"List airdrops","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0683","DALP-0684","DALP-0685"]},"post":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a Canton airdrop the writes below then act on: `kind: \"campaign\"` creates a pull-claim campaign, whose entitled accounts claim for themselves inside the claim window, and `kind: \"push\"` creates an admin-distributed push campaign, whose grants the admin offers and then distributes. Both submit as the party wallet in the body and answer with the id of the contract they created, which every later entitlement, claim, grant or distribution names. This route serves Canton airdrops only: a body naming no `instrumentAdmin` is refused for the family, because no EVM airdrop creation exists for it to reach. The operation id is the submission id, so the status URL is the transaction-request read.","summary":"Create an airdrop","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropCreateInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropAddress}":{"get":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/read","parameters":[{"name":"airdropAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The requested airdrop and a `self` link. `recipientCount` is the indexed number of distinct recipients.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AirdropReadResponse"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","typeId":"push-airdrop","name":"Northwind early-subscriber airdrop","token":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","symbol":"NCB","decimals":18},"merkleRoot":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","distributionCap":"100000","distributionCapExact":"100000000000000000000000","amountTransferred":"25000","amountTransferredExact":"25000000000000000000000","progress":{"value":0.25,"max":1,"marker":null},"withdrawalScheduled":false,"withdrawalEligibleAt":null,"vestingStrategy":null,"vestingInitializationDeadlineAt":null,"createdAt":"2026-03-04T09:12:41.000Z","recipientCount":48},"links":{"self":"/v2/addons/airdrops/0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["AIRDROP_ADDON_NOT_FOUND","AIRDROP_NOT_FOUND_INDEXER","AIRDROP_NOT_IN_OWNER_SCOPE","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0683","DALP-0684","DALP-0685","DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one indexed airdrop, including recipient count, after confirming its factory belongs to the active system. An address that is not indexed answers 404. A factory outside this system answers 409. Repeating the request is safe.","summary":"Read an airdrop","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0683","DALP-0684","DALP-0685"]}},"/api/v2/addons/airdrops/{airdropAddress}/recipients":{"get":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/recipientsList","parameters":[{"name":"airdropAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AirdropRecipientItem"}},"meta":{"$ref":"#/components/schemas/SettlementCollectionMeta"},"links":{"$ref":"#/components/schemas/SettlementCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amountTransferred":"example","amountTransferredExact":"0","lastTransferredAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14249","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["AIRDROP_ADDON_NOT_FOUND","AIRDROP_NOT_FOUND_INDEXER","AIRDROP_NOT_IN_OWNER_SCOPE","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0683","DALP-0684","DALP-0685","DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"settlement.http.PRECONDITION_FAILED","status":422,"message":"A settlement precondition is not met","data":{"id":"DALP-12324","why":"The settlement cannot run the requested operation until one of its preconditions is satisfied.","fix":"Satisfy the precondition, then send the request again.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0683","DALP-0684","DALP-0685"]}},"/api/v2/addons/airdrops/{airdropId}/entitlements":{"post":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/entitlementsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Grants one account the right to claim an amount from a Canton campaign, optionally under a vesting schedule. It exercises `AirdropCampaign_IssueEntitlement` on the campaign the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Issue an airdrop entitlement","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropEntitlementInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/claims":{"post":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/claimsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Pulls the submitting party's vested entitlement out of a Canton campaign, presenting the instrument's registry rules so the ledger can gate the claim. It exercises `AirdropCampaign_Claim` on the campaign the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Claim an airdrop entitlement","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropClaimInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}":{"delete":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/campaignRevoke","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires a Canton campaign capability so no further entitlement can be issued or claimed against it. It exercises `AirdropCampaign_Revoke` on the campaign the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Revoke an airdrop campaign","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropCampaignRevokeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/grants":{"post":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/grantsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Offers one account a grant it may accept later. The grant is not value yet: nothing moves until the recipient accepts. It exercises `PushAirdrop_Offer` on the push airdrop the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Offer an airdrop grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropGrantOfferInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/grants/{grantId}/acceptances":{"post":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/grantAcceptancesCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"name":"grantId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Consents to an offered grant as its recipient, which archives the offered grant and creates its accepted successor at a new contract id. It exercises `PushGrant_Accept` on the grant the path names, and the successor's id is what a distribution names next. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Accept an airdrop grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropGrantAcceptanceInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/grants/{grantId}":{"delete":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/grantWithdrawalsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"name":"grantId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retracts an offered grant before its recipient accepts it. It exercises `PushGrant_Withdraw` on the grant the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Withdraw an airdrop grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropGrantWithdrawalInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/grants/{grantId}/distributions":{"delete":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/grantDistributionRevocationsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"name":"grantId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires an accepted grant before it is distributed, so nothing is minted for it. It exercises `AcceptedPushGrant_Revoke` on the accepted grant the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Revoke an accepted airdrop grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropGrantDistributionRevokeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/push-distributions":{"post":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/pushDistributionsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Distributes an accepted grant against its push campaign, which is the choice that reads the campaign's own accounting rather than the grant's. It exercises `PushAirdrop_Distribute` on the push airdrop the path names, with the accepted grant named in the body. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Distribute a push airdrop grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropPushDistributionInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/airdrops/{airdropId}/push":{"delete":{"tags":["Airdrops"],"operationId":"airdropV2.v2/addons/airdrop/pushRevocationsCreate","parameters":[{"name":"airdropId","in":"path","schema":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton addon write (HTTP 200). The operation id is also the submission id, so the status URL resolves under the same id.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"},"meta":{"$ref":"#/components/schemas/SettlementBlockchainMutationMeta"},"links":{"$ref":"#/components/schemas/SettlementSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"example","submissionId":"example","ledgerSubmissionId":"example","preparedHashHex":"example","contractId":"example"},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettlementAsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","WALLET_VERIFICATION_REQUIRED","XVP_HASHLOCK_INVALID","XVP_HASHLOCK_REVEAL_NOT_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0061","DALP-0615","DALP-12033","DALP-12299","DALP-12308","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","SETTLEMENT_FORBIDDEN","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14249","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","SETTLEMENT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14248","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_STATE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14250","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","settlement.http.PRECONDITION_FAILED","settlement.http.SECRET_FAILED","settlement.sale.DOCUMENT_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12324","DALP-12325","DALP-12328","DALP-14434","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PROVIDER_CONFIGURATION_MISSING","status":422,"message":"The custody provider configuration behind this Canton party is missing","data":{"id":"DALP-14434","why":"The custody provider configuration this Canton party or key was created under no longer exists, so the platform cannot sign for it.","fix":"Ask an administrator to restore the custody provider configuration, or allocate the party under an existing one.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID","settlement.http.PROJECTION_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14045","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","XVP_CREATE_COULD_NOT_RESOLVE_CREATED_SETTLEMENT_INDEXER_RETRIES","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","settlement.http.DEPENDENCY_UNAVAILABLE"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-0431","DALP-0660","DALP-12038","DALP-12307","DALP-12326"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires a push campaign capability so no further grant can be offered against it. It exercises `PushAirdrop_Revoke` on the push airdrop the path names. This route serves Canton airdrops only: the path segment is the Canton contract id a platform read returned, and an EVM airdrop address is refused for the family rather than looked up. The write submits as the party wallet named in the body, and the operation id it answers with is the submission id, so the status URL is the transaction-request read.","summary":"Revoke a push airdrop","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CantonAirdropPushRevokeInput"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens":{"get":{"tags":["Tokens"],"operationId":"v2/token/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"symbol":{"type":"string","minLength":1},"tokenFactory":{"type":"string","minLength":1},"tokenType":{"type":"string","minLength":1},"assetClass":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"structureRole":{"type":"string","minLength":1,"description":"A structure member, as `<structureId>:<role>`: the tokens issued in that role of the structure. The `structureRole` facet counts them the same way."},"status":{"anyOf":[{"type":"string","enum":["pre-launch","live","halted"]},{"type":"object","properties":{"eq":{"type":"string","enum":["pre-launch","live","halted"]},"ne":{"type":"string","enum":["pre-launch","live","halted"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"],"description":"The chain family of the tokens to list. `canton` is accepted only on a deployment that has `features.canton` switched on; a deployment with it off answers 400 `COLLECTION_FILTER_VALUE_INVALID`."},{"type":"object","properties":{"eq":{"type":"string","enum":["evm","canton"],"description":"The chain family of the tokens to list. `canton` is accepted only on a deployment that has `features.canton` switched on; a deployment with it off answers 400 `COLLECTION_FILTER_VALUE_INVALID`."}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000}},"additionalProperties":false}]},"callerRole":{"anyOf":[{"anyOf":[{"type":"string","enum":["any"]},{"type":"string","enum":["custodian","emergency","fundsManager","governance","saleAdmin","supplyManagement"],"description":"A role held on one asset's access manager: custodian, emergency, fundsManager, governance, saleAdmin or supplyManagement."}],"description":"`any` matches a token on which the caller's wallets hold any asset role. A role name matches only that role."},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","enum":["any"]},{"type":"string","enum":["custodian","emergency","fundsManager","governance","saleAdmin","supplyManagement"],"description":"A role held on one asset's access manager: custodian, emergency, fundsManager, governance, saleAdmin or supplyManagement."}],"description":"`any` matches a token on which the caller's wallets hold any asset role. A role name matches only that role."}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"groupBy","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"token":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the token resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"token":"ref"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the token members a list or a strip renders: ref. Send fields[token] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"One page of visible assets. Rows are grouped by `family`, EVM first. `meta.total` counts every matching asset in both families, not only the ones on this page. `meta.facets` describes the EVM rows only. `meta.groups` appears only when the request sent `groupBy`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenV2ListOutputSchema"},"examples":{"example-1":{"value":{"data":[{"ref":{"_tag":"deployment","runKey":"example"},"token":{"_tag":"deploying","name":"example","symbol":"example","assetType":"bond","templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"chainId":11155111,"startedAt":"example","deployment":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"steps":[{"id":"example","label":"example","status":"pending"}],"reason":"example","runKey":"example","startedBy":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","finishable":false}}}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/tokens?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","TOKEN_LIST_FILTER_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9289","DALP-9355","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_LIST_FACTORY_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0328","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_LIST_FACTORY_REGISTRY_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259","DALP-9288"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of assets visible in the active organization, across chain families. Every row carries `family`: an `evm` row is a token contract keyed by address, a `canton` row is a ledger instrument keyed by its admin party and instrument id. Narrow to one family with `filter[family]`, or with `X-Chain-Id` (EVM) or `X-Network-Id` (Canton); send neither header for the whole catalog. `filter[network]` narrows to one chain id or one Canton network identity. Rows are grouped by family, EVM first, because the two families order on different clocks. Page with `page[limit]` and `page[offset]`, sort with `sort`, and narrow with `filter`. Every filter other than `family` and `network`, and every `groupBy` or `filter[metadata.*]`, is an EVM concept and excludes Canton rows. `groupBy` pivots the page over a template metadata key and adds `meta.groups`. Results are indexed, not live chain state.","summary":"List assets","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Token creation"],"operationId":"v2/token/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous token-creation result (HTTP 200). The deployment settled within the wait window. `data` is the indexed token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"rulesContractId":{"type":"string","minLength":1},"registrationContractId":{"type":"string","minLength":1},"consistencyToken":{"type":"string","minLength":1}},"required":["operationId","instrumentId","instrumentAdmin","rulesContractId","registrationContractId","consistencyToken"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"location":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"x-transaction-hash":{"schema":{"type":"string"},"required":false},"preference-applied":{"schema":{"type":"string"},"required":false},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","CLAIM_TOPIC_EXCLUSION_ACKNOWLEDGEMENT_REQUIRED","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_CREATE_COMPLIANCE_MODULE_INCOMPATIBLE","TOKEN_METADATA_VALUES_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0694","DALP-12033","DALP-12095","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432","DALP-9563","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TOKEN_CREATE_USER_ADDRESS_DOES_NOT_ASSOCIATED_IDENTITY_CONTRACT","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0318","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","IDENTITY_SCOPE_NOT_FOUND","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_CREATE_FACTORY_TYPE_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0314","DALP-0474","DALP-0706","DALP-12296","DALP-14224","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ROLE_SEGREGATION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_CREATE_FEATURES_INCOMPATIBLE","TOKEN_CREATE_FEATURE_FACTORY_NOT_REGISTERED","TOKEN_CREATE_TEMPLATE_UNPUBLISHED","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0605","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14019","DALP-14270","DALP-14272","DALP-14425","DALP-207901","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CLAIM_TOPIC_EXCLUSION_REFUSED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DENOMINATION_ASSET_NOT_ERC20","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_FEATURE_CONFIG_INVALID","TOKEN_CREATE_FIXED_YIELD_ENDS_AFTER_MATURITY","TOKEN_CREATE_INPUT_ENCODING_INVALID","TOKEN_CREATE_PAYOUT_TREASURY_IS_TOKEN","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_CREATE_REQUIRED_PARAM_MISSING","TOKEN_CREATE_REQUIRED_WINDOW_EXPIRED","TOKEN_CREATE_TEMPLATEID_REQUIRED_DALP_ASSET_CREATION_SELECT_INSTRUMENT_TEMPLATE_CREATING","TOKEN_CREATE_TEMPLATE_FEATURES_UNAVAILABLE","TOKEN_CREATE_WORKFLOW_PHASE_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0315","DALP-0316","DALP-0447","DALP-0693","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-14042","DALP-14095","DALP-14434","DALP-182131","DALP-190872","DALP-9073","DALP-9175","DALP-9176","DALP-9243","DALP-9290","DALP-9313","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_CREATE_WORKFLOW_FAILED","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14039","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","ERC20_METADATA_PROBE_UNAVAILABLE","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_CREATE_WORKFLOW_RESULT_INVALID","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_EXCLUSION_POLICY_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12290","DALP-12307","DALP-12336","DALP-12337","DALP-12347","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9079","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deploys a new token for the active organization on the request chain, using a factory the organization can use. By default the platform queues the deployment and answers with the transaction identifier, its current state, and the status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement and receives the indexed token plus transaction hashes. Follow progress on the creation stream. A second identical call starts another deployment. The body may be the Canton instrument member instead: a member whose `type` is `canton` creates a Canton instrument, which the platform submits as one workflow of admin-single-party ledger commands and answers with the settled Canton arm under 201, or with the accepted shape when the work finishes in the background. `templateId` is required for `dalp-asset` and optional for a classic asset type. The platform creates a classic type only when its operator turned on legacy asset creation, and otherwise refuses it with HTTP 422 and `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created without a template gets no template checks; with one, it gets only the check that the template is published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features.","summary":"Create a token","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["deposit"]},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"termLengthDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"interestRateBps":{"type":"integer","minimum":0,"maximum":100000},"earlyWithdrawalPenaltyBps":{"$ref":"#/components/schemas/FeeRateBps"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false}},"required":["name","symbol","decimals","countryCode","type","priceCurrency","basePrice"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["bond"]},"cap":{"$ref":"#/components/schemas/AssetAmount"},"faceValue":{"$ref":"#/components/schemas/AssetAmount"},"maturityDate":{"$ref":"#/components/schemas/BlocktimeEncoded"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"uniqueIdentifier":{"type":"string"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false}},"required":["name","symbol","decimals","countryCode","type","cap","faceValue","denominationAsset"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["equity"]},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"uniqueIdentifier":{"type":"string"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"class":{"$ref":"#/components/schemas/EquityClass"},"category":{"$ref":"#/components/schemas/EquityCategory"}},"required":["name","symbol","decimals","countryCode","type","priceCurrency","basePrice"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["fund"]},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"managementFeeBps":{"type":"integer","minimum":0,"maximum":10000},"uniqueIdentifier":{"type":"string"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"class":{"$ref":"#/components/schemas/FundClass"},"category":{"$ref":"#/components/schemas/FundCategory"}},"required":["name","symbol","decimals","countryCode","type","priceCurrency","basePrice","managementFeeBps"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["stablecoin"]},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"collateralRatioBps":{"type":"integer","minimum":0,"maximum":20000},"pegMechanism":{"type":"string","enum":["fiat-backed","crypto-backed","algorithmic","commodity-backed"]},"reserveDescription":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1},{"type":"null"}]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false}},"required":["name","symbol","decimals","countryCode","type","priceCurrency","basePrice"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["real-estate"]},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"maximumFractions":{"$ref":"#/components/schemas/AssetAmount"},"premintRecipient":{"$ref":"#/components/schemas/EvmAddress"},"uniqueIdentifier":{"anyOf":[{"type":"string","enum":[""]},{"$ref":"#/components/schemas/RealEstateNumberEncoded"},{"type":"null"}]},"propertyType":{"$ref":"#/components/schemas/RealEstatePropertyType"},"propertyUse":{"$ref":"#/components/schemas/RealEstatePropertyUse"},"city":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1},{"type":"null"}]},"districtCode":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1},{"type":"null"}]},"latitude":{"type":"number","minimum":-90,"maximum":90},"longitude":{"type":"number","minimum":-180,"maximum":180},"propertyArea":{"type":"number","exclusiveMinimum":0},"buildingYear":{"type":"integer","minimum":1000,"maximum":2100},"numberOfUnits":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"realEstateAreaId":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1},{"type":"null"}]}},"required":["name","symbol","decimals","countryCode","type","priceCurrency","basePrice","maximumFractions","premintRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["precious-metal"]},"metalType":{"type":"string","enum":["gold","silver","platinum","palladium"]},"purityGrade":{"type":"string","enum":["999.9","999.5","999","995","990","958","916","900","750"]},"vaultLocation":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1},{"type":"null"}]},"custodian":{"anyOf":[{"type":"string","enum":[""]},{"type":"string","minLength":1},{"type":"null"}]},"weightUnit":{"type":"string","enum":["gram","troyOunce","kilogram"]},"weightPerToken":{"$ref":"#/components/schemas/BigDecimal"},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"spotPricePerUnit":{"$ref":"#/components/schemas/BigDecimal"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false}},"required":["name","symbol","decimals","countryCode","type","metalType","weightUnit","weightPerToken","priceCurrency","spotPricePerUnit"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["dalp-asset"]},"issuanceRun":{"type":"object","properties":{"runId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["runId","memberId"],"additionalProperties":false},"complianceTemplateSelection":{"type":"string"},"complianceTemplateExpectedTypeIds":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"metadataValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]}},"featureConfigs":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false}},"required":["name","symbol","decimals","countryCode","templateId","type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"accountStatesRequired":{"type":"boolean"},"modules":{"type":"array","items":{"$ref":"#/components/schemas/CantonInstrumentCreateModule"}},"attesterRegistry":{"$ref":"#/components/schemas/CantonInstrumentCreateAttesterRegistry"},"registry":{"$ref":"#/components/schemas/CantonInstrumentCreateRegistry"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["type","instrumentId","instrumentAdmin","accountStatesRequired","modules","registry"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4013","DALP-4014","DALP-4015","DALP-4016"]}},"/api/v2/tokens/{assetId}":{"get":{"tags":["Tokens"],"operationId":"v2/token/read","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"days","in":"query","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"required":false}],"responses":{"200":{"description":"The selected asset in a single-resource envelope. `links.self` is the canonical v2 URL and, for a Canton instrument, carries the `instrumentAdmin` that completes its key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenV2ReadOutputSchema"},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"details":{"cap":"0","totalBurned":"0","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","collateral":{"amount":"0","expiresAt":"example"},"mintClosed":false},"facets":{"holders":{"data":[{"_tag":"evm","account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":{"total":"0","frozen":"0","available":"0","isFrozen":false,"held":"0","locked":"0","transferable":"0","nextUnlockAt":"example","holderLockUps":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","unlockTime":"0"}]},"lastUpdatedAt":"example","reason":{"code":"aml-review","text":"example"}}],"meta":{"total":0,"nextCursor":"example"},"links":{"self":"example","first":"example","last":"example","prev":"example","next":"example"}},"bondStatus":{"denominationAssetBalanceAvailable":"example","denominationAssetBalanceRequired":"example","coveredPercentage":"example","denominationAssetTreasuryAllowance":"example","allowanceCoveredPercentage":"example","treasuryIsContract":false,"treasuryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","solvencyKnown":false},"collateralRatio":{"buckets":[{"name":"example","value":"example"}],"totalCollateral":"example","requiredCollateral":"example","mintableSupply":"example","collateralizationPercentage":0,"configuredCollateralRatioBps":0,"parity_confidence":"high","utilizationPercentage":0},"supplyChanges":{"family":"evm","supplyChangesHistory":[{"timestamp":"example","totalMinted":"example","totalBurned":"example"}]},"totalSupply":{"family":"evm","range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","totalSupply":0}],"prior":[{"t":"example","totalSupply":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}},"volume":{"family":"evm","volumeHistory":[{"timestamp":"example","totalVolume":"example"}]},"walletDistribution":{"family":"evm","buckets":[{"range":"example","count":0}],"totalHolders":0,"largestHolderShare":76.9},"yieldCoverage":{"family":"evm","yieldCoverage":0,"hasYieldSchedule":false,"isRunning":false,"totalUnclaimedYield":"example","denominationAssetBalance":"example","denominationAssetTreasuryAllowance":"example","allowanceCoveredPercentage":"example","requiredAllowance":"example","treasuryIsContract":false,"treasuryAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","scheduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","scheduleAbsenceReason":"token-not-indexed","funding":{"available":"0","outstanding":"0","projected":"0","coverageBps":0,"status":"covered","limitedBy":"balance","measuredAt":"example"},"currentPeriodYield":{"amount":"example","basis":"projected"},"nextPeriodYield":{"amount":"example","basis":"projected"}},"yieldDistribution":{"family":"evm","periods":[{"id":"example","timestamp":"example","totalYield":"example","claimed":"example","unclaimed":"example"}],"totalYield":"example","totalClaimed":"example","totalUnclaimed":"example","denomSymbol":"example"}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TREASURY_DISCLOSURE_WITHHELD","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14041","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_INSTRUMENT_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12235","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_INSTRUMENT_NOT_FOUND","status":404,"message":"The Canton instrument was not found","data":{"id":"DALP-12235","why":"No Canton instrument with this admin and id is disclosed to the parties of the calling organization on the selected network.","fix":"Use an instrument admin and id from the Canton assets list, and select the network the instrument lives on with X-Network-Id.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the current detailed representation of one asset visible in the active organization, in either chain family. `assetId` is the asset's identifier in its own family: the contract address of an EVM token, or the `instrumentId` of a Canton instrument. A Canton instrument also needs `instrumentAdmin`, the admin party that completes its key; sending it selects the Canton family. The body is a single-resource envelope discriminated on `family`, whose `links.self` is the canonical v2 URL and carries `instrumentAdmin` when the asset is a Canton instrument. An `assetId` that is neither a contract address nor an instrument id sent with its admin returns 400: the platform does not guess a family. A missing or out-of-scope asset returns 404. An EVM token also carries `details`: its raw supply cap (null when uncapped), burned supply, deployer, compliance and identity registry contracts, the live collateral claim with its expiry, and `mintClosed`, which is true once a mint would be refused. `details` is null for a Canton instrument. The read is indexed and does not change asset state.","summary":"Read an asset","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/metadata":{"get":{"tags":["Tokens"],"operationId":"v2/token/metadata","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"The token's on-chain and off-chain metadata entries, each tagged with `storage`, wrapped in a single-resource envelope. `data.metadata_` is null only when the token has neither a metadata table nor an off-chain entry.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenMetadataV2ResponseSchema"},"examples":{"example-1":{"value":{"data":{"family":"evm","metadata_":[{"key":"isin","value":"0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000c4245303030333739363133340000000000000000000000000000000000000000","valueNumber":null,"isImmutable":true,"setAt":"2025-03-04T09:12:41.000Z","writtenIn":{"block":"18452961","transaction":"0x8f3c2a91d4e5b6078a9c1d2e3f405162738495a6b7c8d9e0f1a2b3c4d5e6f708"},"storage":"onchain"},{"key":"internalDeskCode","value":"0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000066465736b2d370000000000000000000000000000000000000000000000000000","valueNumber":null,"isImmutable":false,"setAt":"2025-03-05T10:00:00.000Z","writtenIn":null,"storage":"offchain"}]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/metadata"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns every metadata entry of the selected EVM token: the indexed on-chain entries and the entries its asset-type template stores off-chain. Each entry carries `storage` (`onchain` or `offchain`); an off-chain `value` is ABI-encoded like an on-chain one. The body carries `family: evm`. `metadata_` is null only when the token has neither a metadata table nor an off-chain entry. A Canton-scoped request is refused before any EVM repository runs.","summary":"Read token metadata","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Token controls"],"operationId":"v2/token/setMetadata","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_METADATA_OFFCHAIN_IMMUTABLE","TOKEN_METADATA_VALUES_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12095","DALP-12096","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Writes one or more metadata entries for the selected token in the active organization, stored on-chain and off-chain by template storage. Empty string values are omitted. Immutable keys cannot change after they are set. The platform checks the indexed token first, validates the off-chain values against the template, then submits a live chain transaction for the on-chain keys. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Set token metadata","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"metadataValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]}}},"required":["metadataValues"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-12095","DALP-12096"]},"delete":{"tags":["Token controls"],"operationId":"v2/token/removeMetadata","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_METADATA_OFFCHAIN_IMMUTABLE","TOKEN_METADATA_VALUES_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12095","DALP-12096","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes one mutable metadata entry from the selected token, stored on-chain and off-chain by template storage. Immutable keys cannot be removed, and a required off-chain key is refused because the token would no longer satisfy its template. The platform checks the indexed token first, then submits a live chain transaction for an on-chain key. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Remove token metadata","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"metadataKey":{"type":"string","minLength":1,"maxLength":200}},"required":["metadataKey"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-12095","DALP-12096"]}},"/api/v2/tokens/{assetId}/holders":{"get":{"tags":["Tokens"],"operationId":"v2/token/holders","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"accountAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"isFrozen":{"type":"string","enum":["true","false"]},"lastUpdatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of holders for the selected asset. `meta.total` counts every matching holder, not only this page. For a Canton instrument the total counts the holders the ledger discloses to the calling organization, which is never a ledger-wide holder count. Every pagination link repeats `instrumentAdmin` when the asset is a Canton instrument, so a client can page without rebuilding the asset's key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoldersV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"_tag":"evm","account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":{"total":"0","frozen":"0","available":"0","isFrozen":false,"held":"0","locked":"0","transferable":"0","nextUnlockAt":"example","holderLockUps":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","unlockTime":"0"}]},"lastUpdatedAt":"2026-03-11T16:02:08.000Z","reason":{"code":"aml-review","text":"example"}}],"meta":{"total":12,"nextCursor":"example"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/holders?sort=-lastUpdatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/holders?sort=-lastUpdatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/holders?sort=-lastUpdatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_FILTER_FAMILY_MISMATCH","ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9324","DALP-9355","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_FILTER_FAMILY_MISMATCH","status":400,"message":"Filter names a column the asset's chain family does not have","data":{"id":"DALP-9324","why":"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.","fix":"Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of holders for the selected asset, in either chain family. The asset is named exactly as it is for the asset read: `assetId` is a contract address for an EVM token, or a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. Every row carries `family`: an `evm` row is an account balance with `available`, `frozen`, and `transferableBalance`, and a `canton` row is one party's rollup of its holdings in the instrument. Page, filter, and sort with the shared collection parameters; default sort is last update descending. Filters are family-specific, and one that names the other family's column returns 400 rather than an emptier page. `transferableBalance` excludes principal already converted when a conversion feature is attached. Every pagination link repeats `instrumentAdmin` for a Canton instrument. The list is indexed. Repeat the same query to refresh the page.","summary":"List asset holders","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/holder-balances":{"get":{"tags":["Tokens"],"operationId":"v2/token/holder","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"holderAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The holder balance for the requested address, wrapped in a single-resource envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHolderV2ResponseSchema"},"examples":{"example-1":{"value":{"data":{"family":"evm","holder":{"_tag":"evm","account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":{"total":"0","frozen":"0","available":"0","isFrozen":false,"held":"0","locked":"0","transferable":"0","nextUnlockAt":"example","holderLockUps":[{"moduleAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","unlockTime":"0"}]},"lastUpdatedAt":"2026-03-11T16:02:08.000Z","reason":{"code":"aml-review","text":"example"}}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/holder-balances?holderAddress=0x8ba1f109551bD432803012645Ac136ddd64DBA72"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns available, frozen, and total balances for one holder of the selected EVM token. The body carries `family: evm`. Name the holder as `holderAddress`. Spend checks must read `available`, not `value`. A wallet with no indexed balance returns a null `holder`. A Canton-scoped request is refused before any EVM repository runs.","summary":"Read a token holder balance","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/allowances":{"get":{"tags":["Tokens"],"operationId":"v2/token/allowance","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"owner","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"name":"spender","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"kind":{"type":"string","enum":["allowance","book"]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"The allowance answer: a single-resource envelope for one owner and spender, or, under `filter[kind]=book` on a Canton instrument, one page of allowance rows.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenAllowanceV2OutputSchema"},"examples":{"example-1":{"value":{"data":{"owner":"example","spender":"example","amount":"0","lastUpdatedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_FILTER_FAMILY_MISMATCH","ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9324","DALP-9355","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_FILTER_FAMILY_MISMATCH","status":400,"message":"Filter names a column the asset's chain family does not have","data":{"id":"DALP-9324","why":"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.","fix":"Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the allowance one owner has granted one spender on the selected asset, in either chain family. The asset is named exactly as it is for the asset read: `assetId` is a contract address for an EVM token, or a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. `owner` and `spender` follow the asset: wallet addresses on an EVM token, parties on a Canton instrument. The body carries `family`: an `evm` allowance is a scaled scalar with `value` and `valueExact`, a `canton` allowance is a ledger contract with its own `contractId`, `approvedAmount`, and `remainingAmount`. When none is indexed, `allowance` is null. A Canton instrument also has one allowance *book*, the contract its allowance grants address: `filter[kind]=book` reads it, answers one page of allowance rows, and names no owner or spender, because a book is the container rather than a grant. That filter is Canton-only, so an EVM asset answers 400 rather than an empty page. The read is indexed and does not change approvals.","summary":"Read an asset allowance","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/holdings":{"get":{"tags":["Tokens"],"operationId":"v2/token/holdings","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1},"assetType":{"type":"string","enum":["bond","equity","fund","stablecoin","deposit","real-estate","precious-metal"],"description":"Type of financial asset"},"symbol":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"createdAt":{"type":"string","minLength":1},"contractId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ownerParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"providerParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"accountId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"locked":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"createdOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of holdings for the selected asset, in either chain family. `meta.total` counts every matching holding, not only this page. An EVM token's holdings are the assets its treasury holds a balance in, ordered by held balance by default; a Canton instrument's are its live holding contracts, ordered by creation offset by default. Every pagination link repeats `instrumentAdmin` when the asset is a Canton instrument.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HoldingsV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"family":"canton","networkIdentity":"canton-local","contractId":"00a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90","instrumentAdmin":"Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","instrumentId":"NWC","ownerParty":"Canton::1220fedcba9876543210fedcba9876543210fedcba9876543210fedcba987654","providerParty":"Canton::12200f1e2d3c4b5a69788796a5b4c3d2e1f00f1e2d3c4b5a69788796a5b4c3d2e1","accountId":"treasury-main","amount":"1000","locked":false,"lockHolders":[],"lockExpiresAt":null,"createdOffset":"10427","updateId":"1220aabbccddeeff00112233445566778899aabbccddeeff0011223344556677","recordTime":"2026-08-21T09:15:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/NWC/holdings?sort=-createdOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","first":"/api/v2/tokens/NWC/holdings?sort=-createdOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","prev":null,"next":null,"last":"/api/v2/tokens/NWC/holdings?sort=-createdOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_FILTER_FAMILY_MISMATCH","ASSET_REFERENCE_INVALID","ASSET_SORT_FAMILY_MISMATCH","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","TOKEN_LIST_FILTER_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9289","DALP-9323","DALP-9324","DALP-9355","DALP-9430","DALP-9531","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_FILTER_FAMILY_MISMATCH","status":400,"message":"Filter names a column the asset's chain family does not have","data":{"id":"DALP-9324","why":"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.","fix":"Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of holdings for the selected asset, in either chain family. The asset is named exactly as it is for the asset read: `assetId` is a contract address for an EVM token, or a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. Every row carries `family`: an `evm` row is an asset the token's treasury holds a balance in, with the held `balance` and its base-currency value, and a `canton` row is one live holding contract of the ledger instrument, with its owner party, provider party, account, amount and lock state. Page, filter, and sort with the shared collection parameters; the EVM default is held balance descending and the Canton default is creation offset descending. Filters and sorts are family-specific, and one that names the other family's column returns 400 rather than an emptier page or an ordering the caller did not name. Every pagination link repeats `instrumentAdmin` for a Canton instrument. The list is indexed. Repeat the same query to refresh the page.","summary":"List token holdings","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/treasury/health":{"get":{"tags":["Token features"],"operationId":"v2/token/treasuryHealth","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Treasury coverage for the token. Approval ceilings come from the index. `availableBalance` is a live denomination-asset balance. Status is green, yellow, or red.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TreasuryHealthResponseSchema"},"examples":{"example-1":{"value":{"data":{"status":"yellow","availableBalance":"240000000.00","requiredBalance":"125000.00"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/treasury/health"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TREASURY_DISCLOSURE_WITHHELD","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14041","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","TREASURY_HEALTH_TREASURY_UNCONFIGURED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0653","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TREASURY_HEALTH_TREASURY_MISMATCH","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0655","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","TREASURY_HEALTH_BOND_STATUS_UNAVAILABLE","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0656","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns treasury coverage for the selected token. Approval ceilings come from the index. `availableBalance` is a live denomination-asset balance of the configured treasury. Status is `green`, `yellow`, or `red`. A token without a configured treasury returns 404. Repeat the call to refresh the live balance.","summary":"Read treasury health","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/historical-balances":{"get":{"tags":["Token statistics"],"operationId":"v2/token/historicalBalances","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"account":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"kind":{"type":"string","enum":["account","totalSupply"]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed historical-balance checkpoints. Filter `account` and `kind` only with `eq`. Default sort is block number descending.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHistoricalBalancesV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-0x8ba1f109551bD432803012645Ac136ddd64DBA72-21450881-3","account":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","kind":"account","sender":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","oldBalance":"0","oldBalanceExact":"0","newBalance":"25000.00","newBalanceExact":"25000000000000000000000","blockNumber":"21450881","blockTimestamp":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":3}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances?sort=-blockNumber&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances?sort=-blockNumber&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances?sort=-blockNumber&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_INDEXER_TOKEN_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0340","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_HISTORICAL_BALANCE_BLOCK_NOT_INDEXED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0657","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed historical-balance checkpoints for the selected token. Each row is an account or total-supply change at a block. The token must have the historical-balances feature attached; otherwise the page is empty. Filter `account` and `kind` only with `eq`. Default sort is block number descending.","summary":"List historical balances","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/historical-balances/balance-at-block":{"get":{"tags":["Token statistics"],"operationId":"v2/token/historicalBalanceAtBlock","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"account","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"timepoint","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":true},{"name":"strict","in":"query","schema":{"type":"boolean"},"required":false}],"responses":{"200":{"description":"Live historical-balances feature read for one holder and the token total supply at the requested timepoint. Null when the feature is not attached.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHistoricalBalanceAtBlockV2OutputSchema"},"examples":{"example-1":{"value":{"data":{"account":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"25000.00","balanceExact":"25000000000000000000000","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","timepoint":"1741079561","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","asOfBlockNumber":"example"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances/balance-at-block?account=0x8ba1f109551bD432803012645Ac136ddd64DBA72&timepoint=1741079561"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_INDEXER_TOKEN_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0340","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_HISTORICAL_BALANCE_BLOCK_NOT_INDEXED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0657","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reads the historical-balances feature on the active chain and returns one holder's balance and the token total supply at the requested timepoint. The token must have that feature attached. When `strict` is true (the default), a timepoint before tracking started fails. This is a live feature read, not an index page.","summary":"Read a historical balance","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/historical-balances/holders-at-block":{"get":{"tags":["Token statistics"],"operationId":"v2/token/historicalHoldersAtBlock","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"timepoint","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":true},{"name":"strict","in":"query","schema":{"type":"boolean"},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"accountAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of holder balances at the requested timepoint. Holder rows come from indexed checkpoints. When `strict` is true, the platform first checks the feature on chain.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHistoricalHoldersAtBlockV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"family":"evm","account":{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},"available":"25000.00","frozen":"0","isFrozen":false,"value":"25000.00","lastUpdatedAt":"2026-03-11T16:02:08.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances/holders-at-block?timepoint=1741079561&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances/holders-at-block?timepoint=1741079561&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances/holders-at-block?timepoint=1741079561&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_INDEXER_TOKEN_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0340","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_HISTORICAL_BALANCE_BLOCK_NOT_INDEXED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0657","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of holder balances at the requested historical-balances timepoint. Holder rows come from indexed checkpoints. When `strict` is true, the platform first checks the feature on chain and rejects a timepoint before tracking started. The token must have historical balances attached.","summary":"List historical holders","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/historical-balances/{holderAddress}":{"get":{"tags":["Token statistics"],"operationId":"v2/token/historicalBalanceAtBlockByHolder","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"holderAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"atBlock","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":true}],"responses":{"200":{"description":"Indexed holder balance at or before the requested block. When no checkpoint exists, the balance is zero and the as-of transaction fields are null.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHistoricalBalanceAtBlockByHolderV2OutputSchema"},"examples":{"example-1":{"value":{"data":{"family":"evm","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holderAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","balance":"25000.00","balanceExact":"25000000000000000000000","asOfBlockNumber":"21450881","asOfBlockTimestamp":"2026-03-04T09:12:41.000Z","asOfTxHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","asOfLogIndex":3,"requestedBlock":"21450881"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/historical-balances/0x8ba1f109551bD432803012645Ac136ddd64DBA72?atBlock=21450881"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_INDEXER_TOKEN_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0340","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_HISTORICAL_BALANCE_BLOCK_NOT_INDEXED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0657","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexed balance of one holder at or before the requested block. Name the holder in the path and the block as `atBlock`. When no checkpoint exists at or before that block, the balance is zero and the as-of transaction fields are null. The token must have historical balances attached. A block the index has not reached returns 409.","summary":"Read a historical holder balance","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/events":{"get":{"tags":["Tokens"],"operationId":"v2/token/events","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"contractAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"walletAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"transactionHash":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"projectionFamily":{"type":"string","minLength":1},"action":{"type":"string","minLength":1},"fromParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"toParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"amount":{"type":"string"},"ledgerOffset":{"type":"string"},"recordTime":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed events for the selected asset, in either chain family. `meta.total` counts every matching event, not only this page. An EVM token's events order on block time; a Canton instrument's order on its ledger offset, and `links` publish the `sort` that ordered the page. Every pagination link repeats `instrumentAdmin` when the asset is a Canton instrument.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenEventsV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-42-3","eventName":"Transfer","txIndex":"3","blockNumber":"21450881","blockTimestamp":"2026-03-04T09:12:41.000Z","transactionHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","emitter":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"sender":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"metaTxSigner":null,"displaySender":{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"relayerKind":null,"relayer":null,"userOpHash":null,"involved":[{"id":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},{"id":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"}],"values":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-42-3-from","name":"from","value":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-42-3-to","name":"to","value":"0x8ba1f109551bD432803012645Ac136ddd64DBA72"},{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-42-3-value","name":"value","value":"25000000000000000000000"}]}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/events?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/events?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/events?sort=-blockTimestamp&page%5Boffset%5D=0&page%5Blimit%5D=50"}}},"example-2":{"value":{"data":[{"family":"canton","id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6c","networkIdentity":"canton-local","ledgerOffset":"10427","updateId":"1220aabbccddeeff00112233445566778899aabbccddeeff0011223344556677","nodeId":0,"projectionFamily":"holdings","action":"transfer","contractId":"00a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90","instrumentAdmin":"Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","instrumentId":"NWC","fromParty":"Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","toParty":"Canton::1220fedcba9876543210fedcba9876543210fedcba9876543210fedcba987654","amount":"1000","recordTime":"2026-08-21T09:15:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/NWC/events?sort=-ledgerOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","first":"/api/v2/tokens/NWC/events?sort=-ledgerOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","prev":null,"next":null,"last":"/api/v2/tokens/NWC/events?sort=-ledgerOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_FILTER_FAMILY_MISMATCH","ASSET_REFERENCE_INVALID","ASSET_SORT_FAMILY_MISMATCH","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9324","DALP-9355","DALP-9430","DALP-9531","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_FILTER_FAMILY_MISMATCH","status":400,"message":"Filter names a column the asset's chain family does not have","data":{"id":"DALP-9324","why":"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.","fix":"Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","INPUT_VALIDATION_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0080","DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed events for the selected asset, in either chain family. The asset is named exactly as it is for the asset read: `assetId` is a contract address for an EVM token, or a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. Every row carries `family`: an `evm` row is an indexed contract event named by a block number, a transaction hash, and a log index, and a `canton` row is a ledger event named by a ledger offset, an update id, and a node index. Page, filter, and sort with the shared collection parameters. An EVM token's events order on block time and page on `(blockNumber, txIndex)`; a Canton instrument's events order on `ledgerOffset` and page on `(ledgerOffset, nodeId)`, because a ledger offset is not a block number and the two cursors do not transfer. Filters and sorts are family-specific; a filter or a `sort` naming the other family's column returns 400 rather than an emptier page or an ordering the caller did not name. Omit `sort` to take the answering family's own ordering, and read the `sort` the response links publish to see which column produced the page. Every pagination link repeats `instrumentAdmin` for a Canton instrument. The list is indexed. Repeat the same query to refresh the page.","summary":"List token events","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/events/export":{"get":{"tags":["Tokens"],"operationId":"v2/token/eventsExport","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"contractAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"walletAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"transactionHash":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"projectionFamily":{"type":"string","minLength":1},"action":{"type":"string","minLength":1},"fromParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"toParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"amount":{"type":"string"},"ledgerOffset":{"type":"string"},"recordTime":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"text/csv; charset=utf-8":{"schema":{"type":"string","format":"binary"},"x-effect-stream":{"encoding":"uint8array"},"examples":{"example-1":{"value":"example"}}}},"headers":{"content-disposition":{"schema":{"type":"string"},"required":true}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_FILTER_FAMILY_MISMATCH","ASSET_REFERENCE_INVALID","ASSET_SORT_FAMILY_MISMATCH","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9324","DALP-9355","DALP-9430","DALP-9531","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_FILTER_FAMILY_MISMATCH","status":400,"message":"Filter names a column the asset's chain family does not have","data":{"id":"DALP-9324","why":"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.","fix":"Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","INPUT_VALIDATION_FAILED","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0080","DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/maturity-redemption/redemption-events":{"get":{"tags":["Token features"],"operationId":"v2/token/maturityRedemptionEvents","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed maturity-redemption events. Each row is a holder redemption with the redeemed token amount and the denomination payout. Default sort is redemption time descending.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenMaturityRedemptionEventsV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAmount":"example","denominationAmount":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"meta":{"total":1,"nextCursor":"example"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/maturity-redemption/redemption-events?sort=-redeemedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/maturity-redemption/redemption-events?sort=-redeemedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/maturity-redemption/redemption-events?sort=-redeemedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed maturity-redemption events for the selected token. Each row is a holder redemption with the redeemed token amount and the denomination payout. Page and filter with the shared collection parameters. Default sort is redemption time descending.","summary":"List maturity-redemption events","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/stats":{"get":{"tags":["Token statistics"],"operationId":"v2/token/stats","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"metric","in":"query","schema":{"type":"string","enum":["supplyChanges","totalSupply","volume","walletDistribution","holderDistribution","bondStatus","collateralRatio","yieldCoverage","yieldDistribution","periodSummary","flows","collateralHistory","yieldRunway","bondTimeline","concentration"]},"required":true},{"name":"days","in":"query","schema":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"required":false},{"name":"timepoint","in":"query","schema":{"type":"string","pattern":"^-?\\d+$"},"required":false},{"name":"from","in":"query","schema":{"type":"string","maxLength":64,"description":"Start of the asked period as an ISO 8601 instant. With `to`, required for the periodSummary metric. With `interval` and `to`, the window of a chart metric."},"required":false},{"name":"to","in":"query","schema":{"type":"string","maxLength":64,"description":"End of the asked period as an ISO 8601 instant. Must be after `from`."},"required":false},{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"compare","in":"query","schema":{"type":"string","enum":["prior"],"description":"Send prior to also get the period straight before the window, one entry per point."},"required":false},{"name":"since","in":"query","schema":{"type":"string","maxLength":64,"description":"Send the date of the newest point you hold to get only the buckets from that point on. The bucket that holds it is sent again, because it may still be filling."},"required":false}],"responses":{"200":{"description":"Metric-specific indexed token statistics, wrapped in a single-resource envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsV2OutputSchema"},"examples":{"example-1":{"value":{"data":{"family":"evm","volumeHistory":[]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/stats?metric=volume&days=30"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TREASURY_DISCLOSURE_WITHHELD","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14041","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_INDEXER_TOKEN_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0340","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one metric-specific token statistics projection. Set metric to bondStatus, collateralRatio, supplyChanges, totalSupply, volume, walletDistribution, yieldCoverage, or yieldDistribution; series metrics accept days from 1 through 365.","summary":"Read token statistics","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/inherited-global-controls":{"get":{"tags":["Tokens"],"operationId":"v2/token/inheritedGlobalControls","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false}],"responses":{"200":{"description":"The controls the selected asset inherits, in a single-resource envelope. `links.self` carries the `instrumentAdmin` that completes a Canton instrument's key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InheritedGlobalControlsV2OutputSchema"},"examples":{"example-1":{"value":{"data":{"family":"evm","controls":["example"]},"links":{"self":"/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/inherited-global-controls"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.identity.REGISTER_PENDING_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-12338","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the controls the selected asset inherits from above it, in either chain family. The asset is named exactly as it is for the asset read: `assetId` is a contract address for an EVM token, or a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. The body carries `family`: an `evm` token reports the system-wide compliance control type IDs, and a `canton` instrument reports the registry rule contracts it is governed by: one registry-wide contract rather than a list of module types, so no type IDs are reported for it. The read is indexed. A pending identity registration can return 503 until that registration settles. Use the compliance-modules read for rules bound directly to the asset.","summary":"Read inherited controls","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/recipient-eligibility":{"get":{"tags":["Tokens"],"operationId":"v2/token/recipientEligibility","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"address","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"action","in":"query","schema":{"type":"string","enum":["mint","transfer","burn"]},"required":true}],"responses":{"200":{"description":"Indexed identity verdict for one address, wrapped in a single-resource envelope. It covers registration and, for mint and transfer, identity verification. This is not the full compliance-module result.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRecipientEligibilityResponseSchema"},"examples":{"example-1":{"value":{"data":{"eligible":true,"address":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","action":"transfer","reason":null},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/recipient-eligibility?address=0x8ba1f109551bD432803012645Ac136ddd64DBA72&action=transfer"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Checks whether one address may receive the selected token for mint, transfer, or burn. The verdict uses the indexed identity registry: the address must hold an active, not-lost registered identity on the token or system registry. For mint and transfer, that identity must also hold every trusted, unrevoked, unexpired claim that the registry's compliance expression and the token's identity-verification modules require. A burn checks registration only. This is not the full compliance-module verdict. When the address is not eligible, `reason` says why: `identity-not-registered` when it has no active registration in the token's identity registries, `identity-not-verified` when its identity lacks a claim the token's identity verification requires, `no-identity-registry` when the token has no registry to register in. Repeat the same request after the registry or the identity's claims change.","summary":"Check recipient eligibility","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/documents":{"get":{"tags":["Token documents"],"operationId":"v2/token/documents/list","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"fileName":{"type":"string","minLength":1},"visibility":{"type":"string","enum":["public","holders","restricted"]},"documentType":{"type":"string","enum":["prospectus","term_sheet","legal_opinion","regulatory_filing","compliance_report","annual_report","financial_statement","credit_rating","covenant_agreement","shareholder_agreement","fund_fact_sheet","subscription_agreement","nav_report","reserve_audit","attestation_report","reserve_composition","certificate","interest_schedule","property_deed","survey_report","appraisal","environmental_assessment","title_insurance","assay_certificate","storage_receipt","chain_of_custody","insurance_certificate","brand_logo","distribution_report","holder_notice","other"],"description":"Type of token document"},"mimeType":{"type":"string","minLength":1},"isLatest":{"type":"boolean"},"uploadedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of documents attached to the token. The list is indexed metadata only and does not download file bytes. Default sort is upload time ascending.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenDocumentsV2ListOutputSchema"},"examples":{"example-1":{"value":{"data":[{"id":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","documentType":"prospectus","visibility":"holders","groupId":"a1b2c3d4-5e6f-7081-92a3-b4c5d6e7f809","versionNumber":1,"isLatest":true,"fileName":"northwind-series-a-prospectus.pdf","fileSize":184320,"mimeType":"application/pdf","fileHash":"0x4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a","title":"Series A prospectus","description":"Offering memorandum for the Northwind Coffee Series A bond.","thumbnailKey":"example","uploadedAt":"2026-03-04T09:12:41.000Z"}],"meta":{"total":1,"nextCursor":"example"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents?sort=uploadedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TOKEN_DOCUMENTS_DOCUMENT_TYPE_NOT_VALID_ASSET","TOKEN_DOCUMENTS_INVALID_OBJECT_KEY","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0324","DALP-0327","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_DOCUMENTS_DOCUMENT_GROUP_NOT_FOUND_REPLACEMENT","TOKEN_DOCUMENTS_DOCUMENT_NOT_FOUND","TOKEN_DOCUMENTS_FILE_NOT_FOUND_STORAGE_UPLOAD_FAILED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0322","DALP-0323","DALP-0326","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0321"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE","status":422,"message":"Declared file size does not match actual file size in storage","data":{"id":"DALP-0321","why":"The stored object's byte length differs from the `fileSize` in the confirm-upload request. The platform removed the object from storage.","fix":"Re-upload the file and submit a confirm-upload request with the exact byte length of the file as reported by your file system.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_DOCUMENTS_FAILED_TO_CREATE_DOCUMENT_RECORD","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0325","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9244","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of documents attached to the selected token. Page, filter, and sort with the shared collection parameters. Default sort is upload time ascending. The list is indexed metadata only and does not download file bytes. Request a download URL when you need the file.","summary":"List token documents","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Token documents"],"operationId":"v2/token/documents/confirmUpload","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Confirmed token document. The file is now attached to the token and appears on document reads.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"documentType":{"type":"string","enum":["prospectus","term_sheet","legal_opinion","regulatory_filing","compliance_report","annual_report","financial_statement","credit_rating","covenant_agreement","shareholder_agreement","fund_fact_sheet","subscription_agreement","nav_report","reserve_audit","attestation_report","reserve_composition","certificate","interest_schedule","property_deed","survey_report","appraisal","environmental_assessment","title_insurance","assay_certificate","storage_receipt","chain_of_custody","insurance_certificate","brand_logo","distribution_report","holder_notice","other"]},"visibility":{"type":"string","enum":["public","holders","restricted"]},"groupId":{"type":"string","minLength":1},"versionNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isLatest":{"type":"boolean"},"fileName":{"type":"string","minLength":1},"fileSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mimeType":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"uploadedAt":{"type":"string","minLength":1},"fileHash":{"type":"string","minLength":1},"uploadedBy":{"type":"string","minLength":1}},"required":["id","tokenAddress","documentType","visibility","groupId","versionNumber","isLatest","fileName","fileSize","mimeType","title","description","uploadedAt","fileHash","uploadedBy"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","documentType":"prospectus","visibility":"holders","groupId":"a1b2c3d4-5e6f-7081-92a3-b4c5d6e7f809","versionNumber":1,"isLatest":true,"fileName":"northwind-series-a-prospectus.pdf","fileSize":184320,"mimeType":"application/pdf","title":"Series A prospectus","description":"Offering memorandum for the Northwind Coffee Series A bond.","uploadedAt":"2026-03-04T09:12:41.000Z","fileHash":"0x4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a","uploadedBy":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_DOCUMENTS_DOCUMENT_TYPE_NOT_VALID_ASSET","TOKEN_DOCUMENTS_INVALID_OBJECT_KEY","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0324","DALP-0327","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_DOCUMENTS_DOCUMENT_GROUP_NOT_FOUND_REPLACEMENT","TOKEN_DOCUMENTS_DOCUMENT_NOT_FOUND","TOKEN_DOCUMENTS_FILE_NOT_FOUND_STORAGE_UPLOAD_FAILED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0322","DALP-0323","DALP-0326","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_BRAND_LOGO_REJECTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0321","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12131","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_DOCUMENTS_FAILED_TO_CREATE_DOCUMENT_RECORD","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0325","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers a file already uploaded to the object key returned by the upload-URL route for this token. Confirmation is required before the document appears on token document reads. This route writes object-store metadata, not an on-chain transaction. Retrying a confirmed key does not create a second document. For `brand_logo` the server reads the stored bytes, requires the declared size and image type to match, rejects any side above 2048 px, stores the document as public, and deletes the uploaded objects when a check fails; `smallObjectKey` names the optional 64 px rendition, and without it the hero serves both sizes.","summary":"Confirm a token document upload","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"objectKey":{"type":"string","minLength":1},"documentType":{"type":"string","enum":["prospectus","term_sheet","legal_opinion","regulatory_filing","compliance_report","annual_report","financial_statement","credit_rating","covenant_agreement","shareholder_agreement","fund_fact_sheet","subscription_agreement","nav_report","reserve_audit","attestation_report","reserve_composition","certificate","interest_schedule","property_deed","survey_report","appraisal","environmental_assessment","title_insurance","assay_certificate","storage_receipt","chain_of_custody","insurance_certificate","brand_logo","distribution_report","holder_notice","other"]},"fileName":{"type":"string","minLength":1,"maxLength":255},"fileSize":{"type":"integer","maximum":52428800,"exclusiveMinimum":0},"mimeType":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"]},"visibility":{"type":"string","enum":["public","holders","restricted"]},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]},"replaceGroupId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["objectKey","documentType","fileName","fileSize","mimeType","visibility"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/document-uploads":{"post":{"tags":["Token documents"],"operationId":"v2/token/documents/getUploadUrl","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Upload URL for a new token document. PUT the file to `data.uploadUrl`, then confirm with `data.objectKey`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"uploadUrl":{"type":"string","minLength":1},"objectKey":{"type":"string","minLength":1},"expiresAt":{"type":"string","minLength":1},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["uploadUrl","objectKey","expiresAt","method","headers"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"uploadUrl":"https://files.example.com/uploads/token-documents?signature=nwcab","objectKey":"tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents/7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41.pdf","expiresAt":"2026-03-11T16:17:08.000Z","method":"PUT","headers":{"content-type":"application/pdf"}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/document-uploads"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_DOCUMENTS_DOCUMENT_TYPE_NOT_VALID_ASSET","TOKEN_DOCUMENTS_INVALID_OBJECT_KEY","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0324","DALP-0327","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_DOCUMENTS_DOCUMENT_GROUP_NOT_FOUND_REPLACEMENT","TOKEN_DOCUMENTS_DOCUMENT_NOT_FOUND","TOKEN_DOCUMENTS_FILE_NOT_FOUND_STORAGE_UPLOAD_FAILED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0322","DALP-0323","DALP-0326","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_BRAND_LOGO_REJECTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0321","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12131","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_DOCUMENTS_FAILED_TO_CREATE_DOCUMENT_RECORD","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0325","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a short-lived upload URL and object key for a new document on the selected token in the active organization. This route writes no on-chain state. Upload the file with PUT to the returned URL, then confirm the object key. The URL expires; request a new one instead of retrying an expired URL. A `brand_logo` document is accepted only for a token this organization issued, must be PNG, JPEG or WebP, and must be at most 5 MB; request one URL for the 256 px hero rendition and, optionally, a second for the 64 px small rendition.","summary":"Create a token document upload URL","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"documentType":{"type":"string","enum":["prospectus","term_sheet","legal_opinion","regulatory_filing","compliance_report","annual_report","financial_statement","credit_rating","covenant_agreement","shareholder_agreement","fund_fact_sheet","subscription_agreement","nav_report","reserve_audit","attestation_report","reserve_composition","certificate","interest_schedule","property_deed","survey_report","appraisal","environmental_assessment","title_insurance","assay_certificate","storage_receipt","chain_of_custody","insurance_certificate","brand_logo","distribution_report","holder_notice","other"]},"fileName":{"type":"string","minLength":1,"maxLength":255},"fileSize":{"type":"integer","maximum":52428800,"exclusiveMinimum":0},"mimeType":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"]},"visibility":{"type":"string","enum":["public","holders","restricted"]},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}]}},"required":["documentType","fileName","fileSize","mimeType","visibility"],"additionalProperties":false,"description":"A `brand_logo` document takes a narrower set than the rest. It must be a PNG, JPEG or WebP image of at most 5242880 bytes. Every other document type keeps the full format list and the 52428800 byte cap.","allOf":[{"anyOf":[{"properties":{"documentType":{"not":{"const":"brand_logo"}}}},{"properties":{"documentType":{"const":"brand_logo"},"mimeType":{"enum":["image/png","image/jpeg","image/webp"]},"fileSize":{"maximum":5242880}}}]}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/documents/{documentId}/downloads":{"post":{"tags":["Token documents"],"operationId":"v2/token/documents/getDownloadUrl","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Short-lived download URL for one document the caller can access. The URL expires; request a new one instead of retrying an expired URL.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenDocumentsReadOutputSchema"},"examples":{"example-1":{"value":{"data":{"downloadUrl":"https://files.example.com/documents/northwind-series-a-prospectus.pdf?expires=1741705028","expiresAt":"2026-03-11T16:17:08.000Z"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents/7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41/downloads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TOKEN_DOCUMENTS_DOCUMENT_TYPE_NOT_VALID_ASSET","TOKEN_DOCUMENTS_INVALID_OBJECT_KEY","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0324","DALP-0327","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_DOCUMENTS_DOCUMENT_GROUP_NOT_FOUND_REPLACEMENT","TOKEN_DOCUMENTS_DOCUMENT_NOT_FOUND","TOKEN_DOCUMENTS_FILE_NOT_FOUND_STORAGE_UPLOAD_FAILED","TOKEN_DOCUMENTS_READ_DOCUMENT_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0322","DALP-0323","DALP-0326","DALP-0706","DALP-12296","DALP-9486","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0321"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE","status":422,"message":"Declared file size does not match actual file size in storage","data":{"id":"DALP-0321","why":"The stored object's byte length differs from the `fileSize` in the confirm-upload request. The platform removed the object from storage.","fix":"Re-upload the file and submit a confirm-upload request with the exact byte length of the file as reported by your file system.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_DOCUMENTS_FAILED_TO_CREATE_DOCUMENT_RECORD","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0325","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9244","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a short-lived download URL for one document the caller can access. Identify the document by `documentId`. The URL expires; request a new one instead of retrying an expired URL. This write does not change the document itself and does not queue a blockchain transaction.","summary":"Create a token-document download URL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenHttpEmptyPart"}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/documents/{documentId}":{"delete":{"tags":["Token documents"],"operationId":"v2/token/documents/delete","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"documentId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Successful delete acknowledgement. `data` is `null` because the resource no longer exists. Treat HTTP 200 plus this body as confirmation, not as a leftover item.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"null"}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_DOCUMENTS_DOCUMENT_TYPE_NOT_VALID_ASSET","TOKEN_DOCUMENTS_INVALID_OBJECT_KEY","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0324","DALP-0327","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_DOCUMENTS_DOCUMENT_GROUP_NOT_FOUND_REPLACEMENT","TOKEN_DOCUMENTS_DOCUMENT_NOT_FOUND","TOKEN_DOCUMENTS_FILE_NOT_FOUND_STORAGE_UPLOAD_FAILED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0322","DALP-0323","DALP-0326","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0321","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_DOCUMENTS_FAILED_TO_CREATE_DOCUMENT_RECORD","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0325","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes one document from the selected token in the active organization. A missing document returns 404. This route writes object-store metadata, not an on-chain transaction. `data` is null because no document remains to return.","summary":"Delete a token document","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/logo-upload-urls":{"post":{"tags":["Token documents"],"operationId":"v2/token/logoUploadUrl","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Upload URL for a new token document. PUT the file to `data.uploadUrl`, then confirm with `data.objectKey`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"uploadUrl":{"type":"string","minLength":1},"objectKey":{"type":"string","minLength":1},"expiresAt":{"type":"string","minLength":1},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["uploadUrl","objectKey","expiresAt","method","headers"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"uploadUrl":"https://files.example.com/uploads/token-documents?signature=nwcab","objectKey":"tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/documents/7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41.pdf","expiresAt":"2026-03-11T16:17:08.000Z","method":"PUT","headers":{"content-type":"application/pdf"}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/document-uploads"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_DOCUMENTS_DOCUMENT_TYPE_NOT_VALID_ASSET","TOKEN_DOCUMENTS_INVALID_OBJECT_KEY","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0324","DALP-0327","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_DOCUMENTS_DOCUMENT_GROUP_NOT_FOUND_REPLACEMENT","TOKEN_DOCUMENTS_DOCUMENT_NOT_FOUND","TOKEN_DOCUMENTS_FILE_NOT_FOUND_STORAGE_UPLOAD_FAILED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0322","DALP-0323","DALP-0326","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_BRAND_LOGO_REJECTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_DOCUMENTS_DECLARED_FILE_SIZE_DOES_NOT_MATCH_ACTUAL_STORAGE","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0321","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12131","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_DOCUMENTS_FAILED_TO_CREATE_DOCUMENT_RECORD","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0325","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns a short-lived upload URL and object key for the brand logo a token creation will carry, before that token exists. This route writes no on-chain state and registers no document. The image must be a PNG, JPEG or WebP of at most 5 MB. Upload the file with PUT to the returned URL, then send the returned object key as `logo.objectKey` on the token create call; the platform confirms it once the token is deployed. The key is minted for the active organization, and a create from another organization is refused. The URL expires; request a new one instead of retrying an expired URL.","summary":"Create a token logo upload URL","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenCreateLogoUploadUrlBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/create/{transactionId}/stream":{"get":{"tags":["Token creation"],"operationId":"v2/token/createStream","parameters":[{"name":"transactionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Streams stored workflow progress for one token-creation transaction in the active organization.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["tree"]},"nodes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"},"children":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"type":{"type":"string","enum":["wallet","system","registry","role","identity","compliance","feed","factory","addon","paymaster","other"]},"status":{"type":"string","enum":["pending","in-progress","awaiting-approval","waiting","completed","failed"]},"error":{"type":"string"}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["id","label","type","status"],"additionalProperties":true}}},"required":["type","nodes"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-required"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"payload":{"type":"object","properties":{"role":{"type":"string","enum":["org-creator-eoa","member-admission-eoa","token-creator-eoa","org-vault-eoa","org-bundler-eoa","org-relayer-eoa","aa-runway-eoa","queued-write-eoa","smart-account","paymaster-deposit"],"description":"The funding purpose of the requirement. The subject wallet is the payload address, and several requirements can share a role. The set of roles may grow. A client that checks this value against the listed roles, as the SDK does, rejects a frame with a new role. Decode it as a string, show an unknown role as a generic funding requirement, and never drop a requirement because its role is unfamiliar."},"subjectOwner":{"type":"string","enum":["caller","organisation","platform"]},"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"chainName":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency.","examples":["Ether"]},"symbol":{"type":"string","description":"Ticker printed beside a native amount.","examples":["ETH"]},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","symbol","decimals"],"additionalProperties":true,"description":"The chain's own currency, carried whole so a reader can render a native amount without looking it up."},"shortfall":{"type":"string","pattern":"^\\d+$"},"recommendedTotal":{"type":"string","pattern":"^\\d+$"},"deployCost":{"type":"string","pattern":"^\\d+$"},"opsAllowance":{"type":"string","pattern":"^\\d+$"},"bufferPct":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"devCommand":{"type":"string","minLength":1},"opName":{"type":"string","minLength":1},"seq":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"alreadySent":{"type":"string","pattern":"^\\d+$"},"expiresAt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entryPointAddress":{"type":"string","minLength":1},"fullBatchBalance":{"type":"string","pattern":"^\\d+$"}},"required":["role","chainId","chainName","address","nativeCurrency","shortfall","recommendedTotal","deployCost","opsAllowance","bufferPct","opName","seq","alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["requirement-resolved"]},"requirementId":{"type":"string","pattern":"^[\\w:-]+$"},"kind":{"type":"string","enum":["gas"]},"resolution":{"type":"object","properties":{"alreadySent":{"type":"string","pattern":"^\\d+$"}},"required":["alreadySent"],"additionalProperties":true}},"required":["type","requirementId","kind","resolution"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["complete"]},"success":{"type":"boolean"},"failedSteps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string"},"error":{"type":"string"},"wireError":{"type":"object","properties":{"dalpCode":{"type":"string"},"message":{"type":"string"},"retryable":{"type":"boolean"},"selector":{"type":"string"},"solidityError":{"type":"string"},"id":{"type":"string"},"category":{"type":"string"},"why":{"type":"string"},"fix":{"type":"string"},"suggestedAction":{"type":"string"},"args":{"type":"object","additionalProperties":{"type":"string"}},"correlationId":{"type":"string"},"requestId":{"type":"string"}},"required":["dalpCode","message","retryable","selector","solidityError"],"additionalProperties":true}},"required":["id","label"],"additionalProperties":true}},"failureReason":{"type":"string"}},"required":["type","success"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["TokenCreateStreamNotFoundError"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["TokenCreateStreamLookupError"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false}]}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["TokenCreateStreamNotFoundError"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["TokenCreateStreamLookupError"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false}]},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"tree","nodes":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example","children":[{"id":"example","label":"example","type":"wallet","status":"pending","error":"example"}]}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","DEPLOYMENT_NOT_FOUND","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND","dapi.assets.TOKEN_CREATE_STREAM_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0054","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-12345","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DEPLOYMENT_STREAM_POLLING_FAILED","DEPLOYMENT_WORKFLOW_TERMINAL_FAILED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.assets.TOKEN_CREATE_STREAM_LOOKUP_FAILED","dapi.assets.TOKEN_CREATE_STREAM_STEP_FAILED","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0020","DALP-0021","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12344","DALP-12346","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Streams stored workflow progress for one token-creation transaction in the active organization. The transactionId is the identifier returned when create accepted the request. The first tree event is the full phase snapshot. Later update events report only changed nodes. Gas funding arrives as requirement-required, requirement-resolved, or requirement-expired. The stream ends with complete (success true when the workflow phase is completed; success false with failedSteps when the phase is failed) or with error after a status-read failure. Close the connection after complete or error. After complete with success true, read the created token. The stream does not submit another deployment.","summary":"Stream token-creation progress","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-0020","DALP-0021","DALP-0054"]}},"/api/v2/tokens/{assetId}/mints":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/mint","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_MINT_AMOUNT_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9484","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_IN_FLIGHT","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MINT_MATURITY_REDEMPTION_MATURED","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TOKEN_SUPPLY_PAUSED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12067","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9077","DALP-9086","DALP-9314","DALP-9433","DALP-9482","DALP-9483"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_MIRROR_SUPPLY_REFUSED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_REGISTER_LINE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14068","DALP-14434","DALP-200385","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Mints new token units to one or more addresses on the selected EVM token, or issues new supply of a Canton instrument into the submitting party's own account when the body carries `instrumentAdmin` and the path names the instrument id. Recipients and amounts must have the same length. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Minting is rejected while supply is paused or closed, or while a composition Corporate Action is in flight.","summary":"Mint tokens","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"recipients":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":100}]},"amounts":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]+$"},"minItems":1,"maxItems":100}]},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^-?\\d+$"}},"required":["recipients","amounts"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonMintArmBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043","DALP-4001","DALP-4003","DALP-9077"]}},"/api/v2/tokens/{assetId}/burns":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/burn","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_IN_FLIGHT","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TOKEN_SUPPLY_PAUSED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12067","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9433","DALP-9482","DALP-9483"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_MIRROR_SUPPLY_REFUSED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_REGISTER_LINE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-14068","DALP-14434","DALP-200385","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Burns token units from one or more addresses on the selected EVM token, or retires one holding of a Canton instrument the submitting party both administers and owns when the body carries `instrumentAdmin`. Addresses and amounts must have the same length. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Burning is rejected while supply is paused, the source has too little spendable balance, or a composition Corporate Action is in flight.","summary":"Burn tokens","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"addresses":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":100}]},"amounts":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]+$"},"minItems":1,"maxItems":100}]},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^-?\\d+$"}},"required":["addresses","amounts"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonBurnArmBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-1055","DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/approvals":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/approve","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets the allowance the selected owner grants one spender on this EVM token in the active organization. When the body carries `instrumentAdmin`, it instead grants, adjusts or revokes an allowance on the submitting party's own account of the Canton instrument whose id the path names: the body then names the spender as a Canton party, the amount as the ledger's decimal, and the rules, allowance-book and previous-allowance contract ids a read handed back, and an amount of `0.0` revokes. The platform checks the indexed token first, or, for an external ERC-20 the organization registered and has not dismissed, that registration, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement and receives the indexed token plus transaction hashes. On a registered external ERC-20 the platform keeps no token record to return, so it always answers under status 202, whatever wait the caller sent. A second identical call submits another approval.","summary":"Approve token spending","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"spender":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["spender","amount"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonApproveArmBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/transfers":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/transfer","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TOKEN_TRANSFER_PAUSED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0375","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_BATCH_TRANSFER_FROM_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PARTICIPANT_RESTRICTED","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_REGISTER_LINE_REFUSED","TOKEN_TRANSFER_MISSING_ITEM","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0372","DALP-0447","DALP-12024","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14068","DALP-14434","DALP-14453","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves tokens from the caller, or from named `from` addresses when `transferType` is transferFrom, to one or more recipients on the selected EVM token. When the body carries `instrumentAdmin`, it instead instructs a Canton transfer out of the submitting party's account: the named holdings are locked to a transfer instruction the receiver accepts through the acceptances route, and nothing moves until it does. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Transfers are rejected while the token is paused or a source has too little spendable balance.","summary":"Transfer tokens","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"transfers":{"type":"array","items":{"type":"object","properties":{"recipient":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"from":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["recipient","amount"],"additionalProperties":false},"minItems":1,"maxItems":10000},"transferType":{"type":"string","enum":["standard","transferFrom"]}},"required":["transfers"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonTransferArmBody"},{"$ref":"#/components/schemas/CantonAllowanceSpendArmBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1001","DALP-1005","DALP-1006","DALP-1027","DALP-1055","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043","DALP-1056"]},"get":{"tags":["Tokens"],"operationId":"v2/token/transfers","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cursor":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"status":{"type":"string","minLength":1},"createdAt":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"contractId":{"type":"string","minLength":1},"senderParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"receiverParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"allowanceSpender":{"type":"string","minLength":1,"description":"Canton external party identifier"},"amount":{"type":"string"},"requestedAt":{"type":"string"},"expiresAt":{"type":"string"},"createdOffset":{"type":"string"},"recordTime":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"TransfersV2OutputSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransfersV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"example","token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"fromIdentity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"toIdentity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"value":"0","approverIdentity":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","expiry":"example","status":"pending","createdAt":"example","updatedAt":"example"}],"meta":{"total":0,"nextCursor":"example"},"links":{"self":"example","first":"example","last":"example","prev":"example","next":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_FILTER_FAMILY_MISMATCH","ASSET_REFERENCE_INVALID","ASSET_SORT_FAMILY_MISMATCH","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9324","DALP-9355","DALP-9430","DALP-9531","DALP-9565","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_FILTER_FAMILY_MISMATCH","status":400,"message":"Filter names a column the asset's chain family does not have","data":{"id":"DALP-9324","why":"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.","fix":"Filter on a column the named asset's family has, or read the asset in the family whose columns you are filtering on.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/forced-transfers":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/forcedTransfer","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FORCED_TRANSFER_FROM_ESCROW","TOKEN_FORCED_TRANSFER_MISSING_ITEM","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_REGISTER_LINE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12023","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12117","DALP-14034","DALP-14068","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Seizes tokens from named source addresses and sends them to the listed recipients on the selected EVM token in the active organization. The caller must hold a role that can force transfers. This operation has no Canton arm: the ledger's forced move is controlled by the admin together with the destination account's parties, and an interactive submission signs one party, so a body naming `instrumentAdmin` is refused with the family it does serve. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Force transfer tokens","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"transfers":{"type":"array","items":{"type":"object","properties":{"from":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["from","recipient","amount"],"additionalProperties":false},"minItems":1,"maxItems":10000},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^-?\\d+$"}},"required":["transfers"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonFamilyProbeBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1001","DALP-1005","DALP-1006","DALP-1027","DALP-1055","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043"]}},"/api/v2/tokens/{assetId}/transfers/{transferId}/acceptances":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/acceptTransfer","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"transferId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonArmSettledResult"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Accepts a pending Canton transfer instruction addressed to the submitting party, which is what actually moves the amount. The instruction is named by the `transferId` segment, the instrument by `assetId` and the body's `instrumentAdmin`, and nothing moves until the receiver accepts: the sender's instruction is not a transfer. This route serves no EVM token, so a body naming no `instrumentAdmin` is refused with the family it does serve. By default the platform queues the operation and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Accept a Canton transfer instruction","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CantonTransferAcceptanceArmBody"},{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"additionalProperties":false}],"description":"Acceptance request. Send a Canton body carrying `instrumentAdmin` and the submitting party."}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/transfer-simulate":{"get":{"tags":["Token transfers and supply"],"operationId":"v2/token/transferSimulate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"from","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"to","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"amount","in":"query","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true}],"responses":{"200":{"description":"TokenTransferSimulateOutputSchema","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenTransferSimulateOutputSchema"},"examples":{"example-1":{"value":{"data":{"verdict":"will-clear","blockers":[{"code":"example","moduleTypeId":"address-block-list","moduleInstance":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","party":"sender","reason":"identity-not-registered","remediationClass":"self-serve","remediation":{"kind":"issue-claim","topics":["example"]},"topics":["example"],"ruleSource":"token-registry"}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","dapi.transfer-simulation.UNAVAILABLE","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12354","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/transfer-approvals":{"get":{"tags":["Tokens"],"operationId":"v2/token/transferApprovals","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string","enum":["status","createdAt","updatedAt","value","-status","-createdAt","-updatedAt","-value"]},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"status":{"anyOf":[{"type":"string","enum":["pending","consumed","revoked"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"gt":{"type":"string"},"gte":{"type":"string"},"lt":{"type":"string"},"lte":{"type":"string"},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]}},"allOf":[{"type":"object","additionalProperties":{}}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string","enum":["pending","consumed","revoked"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true},{"name":"createdAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"gt":{"type":"string"},"gte":{"type":"string"},"lt":{"type":"string"},"lte":{"type":"string"},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"TransferApprovalCollectionResponse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferApprovalCollectionResponse"},"examples":{"example-1":{"value":{"data":[{"id":"example","token":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"fromIdentity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"toIdentity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"value":"0","approverIdentity":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","expiry":"example","status":"pending","createdAt":"example","updatedAt":"example"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14268","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","TOKEN_WRITE_PERSISTENCE_FAILED","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-9259","DALP-9267","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/approveTransfer","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_TRANSFER_APPROVAL_VALIDATION","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12022","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records an exact transfer the selected token's Transfer Approval module will later allow, scoped to the active organization. When the body carries `instrumentAdmin`, it instead grants one single-use Canton transfer approval on the named instrument: the approver signs for the exact sender, receiver and amount, and the submission names the module contract by the id the Canton compliance read returned. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After indexing, list transfer approvals to confirm the pending row.","summary":"Pre-approve an exact token transfer","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"fromWallet":{"$ref":"#/components/schemas/EvmAddress"},"toWallet":{"$ref":"#/components/schemas/EvmAddress"},"fromIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"toIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["fromWallet","toWallet","amount"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonTransferApprovalArmBody"}],"description":"Transfer approval. Send the EVM fields, or a Canton body carrying `instrumentAdmin`."}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200386"]}},"/api/v2/tokens/{assetId}/transfer-approval-revocations":{"post":{"tags":["Token transfers and supply"],"operationId":"v2/token/revokeTransferApproval","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_TRANSFER_APPROVAL_VALIDATION","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12022","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes a previously recorded exact transfer approval on the selected token in the active organization. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After indexing, list transfer approvals to confirm the revoked status.","summary":"Revoke an exact token transfer approval","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"fromWallet":{"$ref":"#/components/schemas/EvmAddress"},"toWallet":{"$ref":"#/components/schemas/EvmAddress"},"fromIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"toIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["fromWallet","toWallet","amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/aa-role-migration/pending":{"get":{"tags":["Tokens"],"operationId":"v2/token/aaRoleMigrationPending","parameters":[{"name":"sort","in":"query","schema":{"type":"string","enum":["tokenName","tokenSymbol","driftingParticipantCount","-tokenName","-tokenSymbol","-driftingParticipantCount"]},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"tokenAddress":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"tokenName":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"tokenSymbol":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"accessManagerAddress":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"driftingParticipantCount":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]}},"allOf":[{"type":"object","additionalProperties":{}}]},"required":false,"style":"deepObject","explode":true},{"name":"tokenAddress","in":"query","schema":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true},{"name":"tokenName","in":"query","schema":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true},{"name":"tokenSymbol","in":"query","schema":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true},{"name":"accessManagerAddress","in":"query","schema":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1},"ne":{"type":"string","minLength":1},"iLike":{"type":"string","minLength":1},"notILike":{"type":"string","minLength":1},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true},{"name":"driftingParticipantCount","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string","enum":["true","false"]}]}},"allOf":[{"type":"object","additionalProperties":{}}]}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Paginated list envelope. `data` is one page of items. `meta.total` and `meta.facets` describe the full filtered set. `links` carries first, previous, next, and last page URLs with the same sort and filters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenAaRoleMigrationPendingItemCollectionResponse"},"examples":{"example-1":{"value":{"data":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"example","tokenSymbol":"example","accessManagerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","driftingParticipantCount":0,"adminAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14268","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","SESSION_RESOLUTION_FAILED","TOKEN_WRITE_PERSISTENCE_FAILED","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-9267","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists tokens in the active organization whose access-manager roles still sit on participant externally owned accounts and have not been mirrored onto the matching smart accounts. The list is built from indexed role and wallet rows. It does not submit the migration. Use the token page as an administrator to finish the remaining role grants.","summary":"List pending account-abstraction role migrations","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/pause-state":{"patch":{"tags":["Token controls"],"operationId":"v2/token/pauseState","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TOKEN_PAUSE_STATE_UNCHANGED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482","DALP-9488"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sets whether transfers are paused on the selected EVM token in the active organization. Send `paused: true` to pause transfers or `paused: false` to resume them. This operation has no Canton arm: the contract set the platform operates declares no pause choice, so a body naming `instrumentAdmin` is refused. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Set token pause state","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPauseStateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1081"]}},"/api/v2/tokens/{assetId}/address-freezes":{"put":{"tags":["Token controls"],"operationId":"v2/token/freezeAddress","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_ADDRESS_RESTRICTION_ACTIVE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482","DALP-9590"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Freezes or unfreezes every unit of the selected EVM token held by one address in the active organization: `freeze` true locks the address, false unlocks it. When the body carries `instrumentAdmin`, it instead freezes or unfreezes every unit one Canton account holds, which is the account-state contract's own lock: the body then names the account-state book, the account's owner and which account of that owner, alongside the same direction. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Send `reason` with a code and optional text to store why the freeze was set or removed.","summary":"Update an address freeze","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"userAddress":{"$ref":"#/components/schemas/EvmAddress"},"freeze":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"}},"required":["userAddress","freeze","reason"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043"]}},"/api/v2/tokens/{assetId}/partial-freezes":{"post":{"tags":["Token controls"],"operationId":"v2/token/freezePartial","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Locks a positive amount of one holder's balance of the selected EVM token so that amount cannot be spent. This operation has no Canton arm: a Canton freeze holds whole holdings through the account state, so a body naming `instrumentAdmin` is refused with the family this route does serve. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement. Send `reason` with a code and optional text to store why the freeze was set or removed.","summary":"Freeze a partial token balance","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"userAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"}},"required":["userAddress","amount","reason"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonFamilyProbeBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043","DALP-1055"]}},"/api/v2/tokens/{assetId}/partial-unfreezes":{"post":{"tags":["Token controls"],"operationId":"v2/token/unfreezePartial","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Unlocks a positive amount of one holder's previously frozen balance of the selected EVM token, or releases a lock whose expiry has passed on one holding of a Canton instrument when the body carries `instrumentAdmin`. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement. Send `reason` with a code and optional text to store why the freeze was set or removed.","summary":"Unfreeze a partial token balance","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"userAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"}},"required":["userAddress","amount","reason"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonHoldingUnlockArmBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043"]}},"/api/v2/tokens/{assetId}/partial-freezes/transitions":{"post":{"tags":["Token controls"],"operationId":"v2/token/partialFreezeTransition","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the batch completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the route URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"example","symbol":"example","decimals":0,"assetType":"bond","createdAt":"example","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"example","basePriceCurrencyCode":null,"smartInterface":0,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["example"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Freezes or unfreezes a positive amount of each listed holder's balance of the selected EVM token as one change, behind one wallet verification. Send `transition` as `freeze` or `unfreeze` and up to 100 holders, each once. The caller needs the custodian role. The platform checks every holder's balance first and refuses the whole request, naming the first holder whose balance cannot carry the amount, before it signs anything. It then submits one `batchFreezePartialTokens` or `batchUnfreezePartialTokens` call, so the change lands whole or not at all. This operation has no Canton arm: a body naming `instrumentAdmin` is refused with the family this route does serve. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Freeze or unfreeze partial balances for several holders","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"transition":{"type":"string","enum":["freeze","unfreeze"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1,"maxItems":100},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"}},"required":["transition","holders","reason"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonFamilyProbeBody"}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1019","DALP-1020","DALP-1024","DALP-1025","DALP-1043","DALP-1055"]}},"/api/v2/tokens/{assetId}/supply-cap":{"patch":{"tags":["Token controls"],"operationId":"v2/token/setCap","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the maximum supply the selected token may mint. The new cap must be at least the current total supply. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Set the token supply cap","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"newCap":{"type":"string","pattern":"^-?\\d+$"}},"required":["newCap"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1016","DALP-4076"]}},"/api/v2/tokens/{assetId}/forced-recoveries":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/forcedRecover","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Moves the selected token from a lost address to a recovery destination. The caller must hold a custodian recovery role. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Force recover tokens","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"lostWallet":{"$ref":"#/components/schemas/EvmAddress"},"newWallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["lostWallet","newWallet"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1076","DALP-1079","DALP-4051"]}},"/api/v2/tokens/{assetId}/erc20-recoveries":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/recoverERC20","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_RECOVER_ERC20_NOT_ERC20","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12094","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","ERC20_METADATA_PROBE_UNAVAILABLE","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9079","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Recovers ERC-20 denomination or fee tokens held by the selected token contract and sends them to a recipient. The caller must hold an emergency role. The platform checks the indexed token, reads the ERC-20 symbol and decimals live from the chain, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Recover ERC-20 tokens","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"erc20Address":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["erc20Address","recipient","amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/recoveries":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/recoverTokens","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Recovers the selected token's own balances from a lost wallet through the token contract recovery path. The caller must hold an emergency role. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Recover token balances","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"lostWallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["lostWallet"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1076","DALP-1079","DALP-4051"]}},"/api/v2/tokens/{assetId}/price":{"get":{"tags":["Tokens"],"operationId":"v2/token/price","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"currency","in":"query","schema":{"type":"string","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWG"]},"required":false}],"responses":{"200":{"description":"Indexed token price for the requested currency. `data` is the resolved price. `links.self` is this price URL.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPriceResponseResponse"},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","price":"27230000000000000000","currency":"USD","decimals":18,"source":"feed","sourceCurrency":"AED","convertible":true,"updatedAt":"2026-08-14T09:30:00.000Z","conversionPath":[{"from":"AED","to":"USD","rate":"272300000000000000","feedAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","updatedAt":"2026-08-14T09:30:00.000Z","inverse":false}]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/price"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-14268","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_PRICE_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","TOKEN_WRITE_PERSISTENCE_FAILED","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0343","DALP-12148","DALP-12307","DALP-14273","DALP-9259","DALP-9267","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Resolves the selected token's indexed market price in the requested ISO 4217 currency for the active organization and request chain. The resolver reads indexed price feeds and, when the source currency differs, indexed FX hops. It does not call the token contract. Omit `currency` to receive USD. When conversion cannot complete, the body names the reason and the currencies that are reachable from the source.","summary":"Read a token price","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Fees and pricing"],"operationId":"v2/token/setPrice","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous price-update result (HTTP 200). `data` echoes the stored feed, price, and currency. An empty `txHash` means the same price was already applied.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"feedAddress":{"$ref":"#/components/schemas/EvmAddress"},"txHash":{"type":"string"},"price":{"type":"string","minLength":1},"currencyCode":{"type":"string","pattern":"^[A-Z]{3}$"}},"required":["feedAddress","txHash","price","currencyCode"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feedAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","price":"100.50","currencyCode":"EUR"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/price"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FEED_PRICE_NOT_REPRESENTABLE","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12245","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TOKEN_PRICE_IDENTITY_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","dapi.assets.TOKEN_PRICE_ADMIN_REQUIRED","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0345","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12353","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","IDENTITY_SCOPE_NOT_FOUND","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","TOKEN_PRICE_TOKEN_UNAVAILABLE","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0347","DALP-0474","DALP-0706","DALP-12296","DALP-14224","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UNSUPPORTED_TOKEN","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12026","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_PRICE_FEED_FACTORY_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0346","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Submits an on-chain price feed update for the selected token in the named fiat currency. The caller must be authorized for this token in the active organization. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement. An empty transaction hash means the same price was already applied. After settlement, read the token price to see the indexed value.","summary":"Set the token price","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"price":{"type":"string","pattern":"^(?!0+(?:\\.0+)?$)\\d+(?:\\.\\d+)?$"},"currencyCode":{"$ref":"#/components/schemas/FiatCurrency"}},"required":["price","currencyCode"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/yield-schedule":{"patch":{"tags":["Token lifecycle"],"operationId":"v2/token/setYieldSchedule","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Attaches or replaces the yield schedule contract the selected token uses. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Set the token yield schedule","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"schedule":{"$ref":"#/components/schemas/EvmAddress"}},"required":["schedule"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"post":{"tags":["Token features"],"operationId":"v2/token/createYieldSchedule","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FIXED_YIELD_OPERATION_ADDON_NOT_FOUND","FIXED_YIELD_OPERATION_DENOMINATION_ASSET_NOT_INDEXED","FIXED_YIELD_OPERATION_DENOMINATION_METADATA_NOT_INDEXED","FIXED_YIELD_OPERATION_DEPLOYMENT_NOT_INDEXED","FIXED_YIELD_OPERATION_SCHEDULE_NOT_FOUND","FIXED_YIELD_OPERATION_SYSTEM_MISMATCH","FIXED_YIELD_OPERATION_TOKEN_LINKAGE_NOT_INDEXED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9470","DALP-9471","DALP-9472","DALP-9473","DALP-9474","DALP-9475","DALP-9476","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_LIFECYCLE_VALIDATION_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12021","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deploys a fixed-yield schedule for the selected token and attaches it as one queued chain. The caller needs the token governance role and the system token manager role, and the token must not have a yield schedule. The platform runs every check before it queues a transaction. By default the platform answers with the transaction identifier and status URL under status 202. Prefer: wait=<seconds> waits for settlement and returns the token with its schedule. When the attach fails, the token keeps no schedule and the transaction status lists the schedule deployment hash. A retry with the same terms attaches that schedule and does not deploy another.","summary":"Create and attach a token yield schedule","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"yieldRate":{"type":"integer","minimum":1,"maximum":10000},"paymentInterval":{"anyOf":[{"type":"string","enum":["HOURLY","DAILY","WEEKLY","MONTHLY","QUARTERLY","SEMI_ANNUAL","YEARLY"]},{"type":"integer","minimum":1,"maximum":31536000}]},"startTime":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"endTime":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"countryCode":{"type":"integer","minimum":1,"maximum":999}},"required":["yieldRate","paymentInterval","startTime","endTime","countryCode"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/legacy-bond-redemption-top-ups":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/topUpBondDenomination","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","LEGACY_BOND_NOT_INDEXED","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0351","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","LEGACY_BOND_FEATURE_TREASURY_REQUIRED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12027","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"LEGACY_BOND_FEATURE_TREASURY_REQUIRED","status":422,"message":"This bond funds redemptions from its maturity-redemption feature treasury.","data":{"id":"DALP-12027","why":"The bond has an attached maturity-redemption feature, and that feature's configured treasury pays redemptions. The legacy top-up route writes to the bond contract instead, so the deposit would never fund a redemption.","fix":"Use the maturity-redemption treasury top-up endpoint for this bond.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds denomination-asset funds to the selected legacy bond treasury so later redemptions can settle. The token must already be indexed and must have a treasury. The platform checks the indexed bond first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Top up a legacy bond denomination","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/claims":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/claimIssue","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous claim-issue result (HTTP 200). `data` names the issued topic and the identity that received it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"},"txHash":{"type":"string","minLength":1},"claimTopic":{"type":"string","minLength":1},"targetIdentity":{"$ref":"#/components/schemas/EvmAddress"}},"required":["success","txHash","claimTopic","targetIdentity"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true,"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","claimTopic":"uniqueIdentifier","targetIdentity":"0x90F79bf6EB2c4f870365E785982E1f101E93b906"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_CLAIM_SIGNING_REFUSED","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12385","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_CLAIM_VALIDATION_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12020","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_CLAIM_INDEXED_STATE_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12032","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Issues an identity claim against the selected token's on-chain identity, using a topic registered for the active system. The payload must match the registered scheme. The platform checks the indexed token and topic scheme first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Issue a token claim","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"externalMessageAuthorization":{"type":"object","properties":{"signature":{"type":"string","minLength":1}},"required":["signature"],"additionalProperties":false},"claim":{"type":"object","properties":{"topic":{"type":"string","minLength":1},"data":{"type":"object"}},"required":["topic","data"],"additionalProperties":false}},"required":["claim"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/claim-revocations":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/claimRevoke","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous claim-revoke result (HTTP 200). `data.claimId` is the revoked on-chain claim.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"},"txHash":{"type":"string","minLength":1},"claimId":{"type":"string","minLength":1}},"required":["success","txHash","claimId"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"success":true,"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","claimId":"0x1c8aff950685c2ed4bc3174f3472287b56d9517b9c948127319a09a7a36deac8"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_CLAIM_SIGNING_REFUSED","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12385","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_CLAIM_VALIDATION_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12020","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_CLAIM_INDEXED_STATE_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12032","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Revokes a previously issued identity claim on the selected token's on-chain identity. The platform checks the indexed token and topic first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Revoke a token claim","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"externalMessageAuthorization":{"type":"object","properties":{"signature":{"type":"string","minLength":1}},"required":["signature"],"additionalProperties":false},"claimTopic":{"type":"string","minLength":1,"maxLength":100}},"required":["claimTopic"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/collateral":{"patch":{"tags":["Token lifecycle"],"operationId":"v2/token/updateCollateral","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"_tag":"evm","address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","network":"example","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","decimals":18,"assetType":"bond","createdAt":"2026-03-04T09:12:41.000Z","createdBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isin":"example","lastActivityAt":"example","holderCount":0,"value":"example","callerRoles":["custodian"],"totalSupply":"0","basePrice":"100.00","basePriceCurrencyCode":"EUR","smartInterface":2,"pausable":{"status":"pre-launch"},"logoUrl":"example","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isExternal":false,"templateLink":{"templateId":"example","templateSlug":"example","templateName":"example"},"baseAssetType":"bond","structureRole":"example","structureId":"example","setup":{"status":"deploying","step":{"id":"example","label":"example","status":"pending"},"reason":"example","runKey":"example","finishable":false},"capabilities":["share-capital"]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncAcceptedResult"},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_CLAIM_SIGNING_REFUSED","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12385","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_CLAIM_VALIDATION_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12020","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_CLAIM_INDEXED_STATE_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12032","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Updates the collateral amount recorded on the selected token's identity. An EVM token's collateral lives on its identity contract and the platform checks the indexed token first, then submits a live chain transaction. A Canton instrument's collateral is the admin's attestation on its collateral module, and a body carrying `instrumentAdmin` submits that attestation as one of the organization's party wallets, naming the module contract by the id the Canton compliance read returned; the submitting party must hold claim-issuer standing on that instrument. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement.","summary":"Update token collateral","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"externalMessageAuthorization":{"type":"object","properties":{"signature":{"type":"string","minLength":1}},"required":["signature"],"additionalProperties":false},"amount":{"type":"string","pattern":"^[0-9]+$"},"expiryTimestamp":{"$ref":"#/components/schemas/BlocktimeEncoded"}},"required":["amount"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonCollateralArmBody"}],"description":"Collateral update. Send the EVM fields, or a Canton body carrying `instrumentAdmin`."}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/accounts":{"post":{"tags":["Token controls"],"operationId":"v2/token/registerAccount","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton operation. `data` carries the operation, submission and ledger submission ids plus the prepared-transaction hash; `links.self` is the collection this write belongs to.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonArmSettledResult"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/tokens/BOND/accounts"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Onboards one account into the Canton instrument's account-state book, unfrozen. A registry that enforces account states refuses debits from an account that was never onboarded, so this is a precondition for holding, and a second registration of the same account is refused. The account registered is a regular one, held by the owner under its own name; a custody-scoped account appears in reads as a non-null providerParty but needs the provider's signature alongside the owner's, which one submission cannot carry. There is no EVM counterpart: an EVM holder needs no registration. Send `instrumentAdmin` with the instrument id in the path segment; a request without it is refused, because this operation exists on Canton alone. Read the account back from the accounts collection of the same instrument.","summary":"Register a Canton account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_23"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"bookContractId":{"type":"string","minLength":1},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"accountId":{"type":"string"}},"required":["cantonPartyId","bookContractId","ownerParty"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Tokens"],"operationId":"v2/token/accounts","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"instrumentAdmin","in":"query","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":false},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"limit":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"kind":{"type":"string","minLength":1},"ownerParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"providerParty":{"type":"string","minLength":1,"description":"Canton external party identifier"},"accountId":{"type":"string","minLength":1},"fullyFrozen":{"type":"string","minLength":1},"createdOffset":{"type":"string"},"recordTime":{"type":"string"}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of the selected Canton instrument's custodian accounts and account books, disclosed to the calling organization's parties. `meta.total` counts every matching row, not only this page. Rows are ordered by creation offset descending unless the request names a `sort`, and every pagination link repeats `instrumentAdmin` so a resumed page still names the instrument.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountsV2OutputSchema"},"examples":{"example-1":{"value":{"data":[{"family":"canton","networkIdentity":"canton-local","contractId":"00a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90","kind":"account","instrumentAdmin":"Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","instrumentId":"NWC","ownerParty":"Canton::1220fedcba9876543210fedcba9876543210fedcba9876543210fedcba987654","providerParty":"Canton::12200f1e2d3c4b5a69788796a5b4c3d2e1f00f1e2d3c4b5a69788796a5b4c3d2e1","accountId":"treasury-main","fullyFrozen":false,"createdOffset":"10427","updateId":"1220aabbccddeeff00112233445566778899aabbccddeeff0011223344556677","recordTime":"2026-08-21T09:15:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/NWC/accounts?sort=-createdOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","first":"/api/v2/tokens/NWC/accounts?sort=-createdOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123","prev":null,"next":null,"last":"/api/v2/tokens/NWC/accounts?sort=-createdOffset&page%5Boffset%5D=0&page%5Blimit%5D=50&instrumentAdmin=Canton%3A%3A1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9313","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of Canton holding accounts and account books for the selected instrument: one row per custodian account, with its owner party, provider party, account id and freeze state, plus the per-instrument book that holds them. The instrument is named as a Canton `instrumentId` sent together with the `instrumentAdmin` that completes its key. This operation has no EVM counterpart, because an EVM token has no account contract to register: an `assetId` sent without `instrumentAdmin` is refused with a 422 naming the family rather than answered with an empty page. Page, filter, and sort on the ledger's own columns; default sort is creation offset descending. Every pagination link repeats `instrumentAdmin`. Rows are limited to what the ledger discloses to the active organization's parties. The list is indexed.","summary":"List asset accounts","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/holding-freezes":{"put":{"tags":["Token controls"],"operationId":"v2/token/freezeHolding","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton operation. `data` carries the operation, submission and ledger submission ids plus the prepared-transaction hash; `links.self` is the collection this write belongs to.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonArmSettledResult"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/tokens/BOND/accounts"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Locks or releases named holdings of one account under the instrument admin's freeze lock. `frozen` true freezes; false releases. Send `stateContractId` with `holdingContractIds` to reach the lock through the account state in one submission, or `holdingContractId` to place it on one holding directly, which is how a holding is held pending recovery. The named holdings stop funding debits while their unfrozen siblings stay spendable, which is a partial freeze over one account rather than an account-wide one. A holding that is already locked is refused rather than re-frozen, and where more than one holding is named the submission is all-or-nothing. Each holding is archived and comes back at a new contract id, so read the outcome back by filtering the holdings collection on the owner and the instrument. Send `instrumentAdmin` with the instrument id in the path segment; a request without it is refused.","summary":"Freeze or unfreeze Canton holdings","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_23"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"frozen":{"type":"boolean"},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"},"stateContractId":{"type":"string","minLength":1},"holdingContractIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1},"holdingContractId":{"type":"string","minLength":1}},"required":["cantonPartyId","frozen","reason"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/custodians/{party}":{"delete":{"tags":["Token controls"],"operationId":"v2/token/revokeBurnerCapability","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"party","in":"path","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton operation. `data` carries the operation, submission and ledger submission ids plus the prepared-transaction hash; `links.self` is the collection this write belongs to.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonArmSettledResult"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/tokens/BOND/accounts"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Withdraws a delegated in-flight seizure authority before it expires. The `party` segment names the custodian that holds it and the body names the capability contract a read handed back. Archiving that contract is the revocation, so a sweep that presents the withdrawn capability fails on the archived contract rather than on a flag. A capability can be granted with a scope and an expiry, and this route is the other half of that: revoke it when the investigation ends instead of waiting for the expiry. Send `instrumentAdmin` with the instrument id in the path segment; a request without it is refused, because the contract set declares no EVM equivalent.","summary":"Revoke a Canton burner capability","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_23"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"custodianParty":{"$ref":"#/components/schemas/CantonPartyId"},"capabilityContractId":{"type":"string","minLength":1}},"required":["cantonPartyId","custodianParty","capabilityContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384"]}},"/api/v2/tokens/{assetId}/accounts/{party}/snapshots":{"post":{"tags":["Token controls"],"operationId":"v2/token/snapshotAccount","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"party","in":"path","schema":{"type":"string","minLength":1,"description":"Canton external party identifier"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Canton operation. `data` carries the operation, submission and ledger submission ids plus the prepared-transaction hash; `links.self` is the collection this write belongs to.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CantonArmSettledResult"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/tokens/BOND/accounts"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CANTON_SETTLEMENT_BATCH_NOT_COVERABLE","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9325","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-12234","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records the named holdings of one account on its account-state contract, as the instrument admin. A snapshot is a checkpoint the account state carries, not a movement: no holding changes and no balance moves. The `party` segment names the account's owner and the body names the state contract and the holdings a read handed back. Send `instrumentAdmin` with the instrument id in the path segment; a request without it is refused.","summary":"Snapshot a Canton account","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_23"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"stateContractId":{"type":"string","minLength":1},"holdingContractIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["cantonPartyId","ownerParty","stateContractId","holdingContractIds"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/token-issuance-runs":{"post":{"tags":["Token creation"],"operationId":"v2/token/acceptIssuanceRun","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Accepts one reviewed issuance of one or more tokens as a durable run before anything is deployed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuanceRunResponse"},"examples":{"example-1":{"value":{"data":{"runId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a11","structure":{"id":"northwind-dual-class","revision":3,"instanceId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a17"},"members":[{"memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","role":"controlling","label":"Founder class","templateId":"att_northwind_founder_shares","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},{"memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a13","role":"economic","label":"Investor class","templateId":"att_northwind_investor_shares","tokenAddress":null}],"operations":[{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a14","kind":"deploy-member","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","featureId":null,"featureOperationId":null,"dependsOn":[],"status":"confirmed"},{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15","kind":"deploy-member","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a13","featureId":null,"featureOperationId":null,"dependsOn":[],"status":"submitted"},{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a16","kind":"claim-structure","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","featureId":null,"featureOperationId":null,"dependsOn":["01990a4e-7c2b-7d31-9a55-3f0b6c8e2a14","01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15"],"status":"accepted"}],"nextOperationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15"}}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_ISSUANCE_RUN_CONFLICT","TOKEN_ISSUANCE_RUN_STRUCTURE_UNPUBLISHED","TOKEN_ISSUANCE_RUN_TEMPLATE_UNPUBLISHED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12160","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14020","DALP-14024","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ISSUANCE_RUN_DECLARATION_INVALID","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12031","DALP-12159"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ISSUANCE_RUN_DECLARATION_INVALID","status":422,"message":"The members and links do not form one complete issuance.","data":{"id":"DALP-12159","why":"The members, structure, templates, or feature links in the request do not form one complete issuance. `data.reason` names the rule the request broke.","fix":"Read `data.reason`. Send every structure member once with its declared template, or declare every link a standalone member needs, then retry.","retryable":false,"category":"client","reason":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","TOKEN_WRITE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12300","DALP-12307","DALP-14273","DALP-14276","DALP-9259","DALP-9267"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Accepts one reviewed issuance of one or more tokens as a durable run before anything is deployed. Send the structure and the revision you reviewed, or omit it for a standalone issuance, and for each member either its create input or an existing token of this system. The server reads the structure's members and locked feature links, applies each template's pinned values, and stores the operation graph once. Create each new member with `issuanceRun` naming the run and member; later edits to the structure or templates do not change an accepted run.","summary":"Accept an issuance run","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuanceRunAcceptBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/token-issuance-runs/{runId}":{"get":{"tags":["Token creation"],"operationId":"v2/token/readIssuanceRun","parameters":[{"name":"runId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Run identifier returned when the issuance was accepted."},"required":true}],"responses":{"200":{"description":"Returns one accepted issuance run of the active organization and system: every member with its token address once deployed, every operation with its durable status, and the first operation that is not confirmed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuanceRunResponse"},"examples":{"example-1":{"value":{"data":{"runId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a11","structure":{"id":"northwind-dual-class","revision":3,"instanceId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a17"},"members":[{"memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","role":"controlling","label":"Founder class","templateId":"att_northwind_founder_shares","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},{"memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a13","role":"economic","label":"Investor class","templateId":"att_northwind_investor_shares","tokenAddress":null}],"operations":[{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a14","kind":"deploy-member","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","featureId":null,"featureOperationId":null,"dependsOn":[],"status":"confirmed"},{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15","kind":"deploy-member","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a13","featureId":null,"featureOperationId":null,"dependsOn":[],"status":"submitted"},{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a16","kind":"claim-structure","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","featureId":null,"featureOperationId":null,"dependsOn":["01990a4e-7c2b-7d31-9a55-3f0b6c8e2a14","01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15"],"status":"accepted"}],"nextOperationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_ISSUANCE_RUN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-12161","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_SYSTEM_REQUIRED","status":404,"message":"No blockchain system is available for this organization","data":{"id":"DALP-9440","why":"The active organization has no indexed system on the selected network, so the requested system-backed profile or operation does not exist there.","fix":"Deploy the organization system or select a network where its system is indexed, then retry.","retryable":false,"category":"domain","chainId":1}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","TOKEN_WRITE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259","DALP-9267"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one accepted issuance run of the active organization and system: every member with its token address once deployed, every operation with its durable status, and the first operation that is not confirmed. Use it to resume an issuance after the browser was closed. The read is safe to repeat.","summary":"Read an issuance run","x-dalp-auth":"session-or-api-key"}},"/api/v2/restrictions":{"post":{"tags":["Token controls"],"operationId":"v2/restriction/create","parameters":[{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The restriction with the outcome of each token. A partial result is a normal answer: read `data.summary` and the `status` of each entry in `data.tokens`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletRestrictionDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","walletAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","participantId":"participant_3b1f","scope":"all","reason":{"code":"aml-review","text":"AML review"},"status":"active","createdBy":"user_8f3a2c","createdAt":"2026-10-25T12:00:00.000Z","liftedBy":null,"liftedAt":null,"liftNote":null,"summary":{"total":3,"frozen":2,"queued":0,"failed":1,"alreadyFrozen":0,"lifted":0},"tokens":[{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"Northwind Coffee Series A Bond","tokenSymbol":"NWCAB","status":"frozen","paused":false,"transactionId":"0198f1a2-4a5b-7c6d-8e9f-0a1b2c3d4e5f","transactionHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","failure":null,"updatedAt":"2026-10-25T12:00:07.000Z"},{"token":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","tokenName":"Northwind Real Estate Fund","tokenSymbol":"NWREF","status":"frozen","paused":true,"transactionId":"0198f1a2-4a5c-7c6d-8e9f-0a1b2c3d4e60","transactionHash":"0x5c1d9e7a3b0f2486d1c7e5a9b3f08d24c6e1a7b95d3f20c84e6a1b7d9c3f5e02","failure":null,"updatedAt":"2026-10-25T12:00:07.000Z"},{"token":"0x5FbDB2315678afecb367f032d93F642f64180aa3","tokenName":"Northwind Treasury Note","tokenSymbol":"NWTN","status":"failed","paused":false,"transactionId":null,"transactionHash":null,"failure":{"code":"DALP-0712","message":"This operation is not available to the caller","fix":"Ask an administrator to grant one of the listed roles on this token."},"updatedAt":"2026-10-25T12:00:07.000Z"}]},"links":{"self":"/api/v2/restrictions/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"The restriction as stored. At least one token's freeze or lift is accepted by the queue and has not landed, so its status is `queued` or `lift-queued`. The restriction is not finished: poll `Location`, the restriction's own URL, until no token is queued; a read settles each queued token from the queue. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletRestrictionDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","participantId":"example","scope":"all","reason":{"code":"aml-review","text":"example"},"status":"active","createdBy":"example","createdAt":"example","liftedBy":"example","liftedAt":"example","liftNote":"example","summary":{"total":0,"frozen":0,"queued":0,"failed":0,"alreadyFrozen":0,"lifted":0},"tokens":[{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"example","tokenSymbol":"example","status":"pending","paused":false,"transactionId":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","failure":{"code":"example","message":"example","fix":"example"},"updatedAt":"example"}]},"links":{"self":"example"}}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","WALLET_RESTRICTION_ALREADY_ACTIVE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-17458","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY","WALLET_RESTRICTION_TOKENS_EMPTY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-17459","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Freezes one wallet on the tokens it holds in the active organization and stores the reason. Scope `all` freezes the wallet on every token it holds when the request runs, and scope `tokens` freezes the tokens you list. The platform sends one freeze per token where the caller holds the custodian role and reports each token in `data.tokens` as `frozen`, `queued`, `already-frozen` or `failed`. A token the wallet was already frozen on is left alone, and a lift does not remove that freeze. A token without the custodian role shows as `failed` with the code, message and next step. The call answers 403 only when the caller holds the role on no token. A wallet has one active restriction. Send the same reason and scope again to cover tokens the wallet acquired since, and expect 409 for a different reason or scope. A token the wallet acquires later is not frozen by this call; add the wallet to the address block list to cover it.","summary":"Restrict a wallet","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRestrictionCreateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Token controls"],"operationId":"v2/restriction/list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"walletAddress":{"anyOf":[{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"participantId":{"anyOf":[{"type":"string","minLength":1,"description":"Participant identifier"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["active","lifted"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"reasonCode":{"anyOf":[{"type":"string","enum":["aml-review","sanctions-screening","fraud-investigation","court-order","regulatory-request","client-request","other"],"description":"Why the wallet is restricted. Pick `other` and describe it in the free text when no code fits."},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; a deep offset costs more, so a list that returns `meta.nextCursor` is better read with `page[cursor]`) and `page[limit]` (page size, 1-200, default 50). The response `links` object repeats these query parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of restrictions and the total number that match the filter.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WalletRestriction"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","walletAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","participantId":"participant_3b1f","scope":"all","reason":{"code":"aml-review","text":"AML review"},"status":"active","createdBy":"user_8f3a2c","createdAt":"2026-10-25T12:00:00.000Z","liftedBy":null,"liftedAt":null,"liftNote":null,"summary":{"total":3,"frozen":2,"queued":0,"failed":1,"alreadyFrozen":0,"lifted":0}}],"meta":{"total":1},"links":{"self":"/api/v2/restrictions?sort=-createdAt&page%5Blimit%5D=50&page%5Boffset%5D=0","first":"/api/v2/restrictions?sort=-createdAt&page%5Blimit%5D=50&page%5Boffset%5D=0","prev":null,"next":null,"last":"/api/v2/restrictions?sort=-createdAt&page%5Blimit%5D=50&page%5Boffset%5D=0"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the restrictions in the active organization, newest first. Filter by `filter[walletAddress]`, `filter[participantId]`, `filter[status]` (`active` or `lifted`), `filter[reasonCode]` and `filter[createdAt]`. Each row carries the reason, who created and lifted it, the times, and a count of tokens by outcome. Read one restriction to see its tokens. Only the organization's owner and platform administrators see restrictions; any other caller receives an empty page.","summary":"List wallet restrictions","x-dalp-auth":"session-or-api-key"}},"/api/v2/restrictions/{restrictionId}":{"get":{"tags":["Token controls"],"operationId":"v2/restriction/read","parameters":[{"name":"restrictionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The restriction and the outcome of each token.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletRestrictionDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","walletAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","participantId":"participant_3b1f","scope":"all","reason":{"code":"aml-review","text":"AML review"},"status":"active","createdBy":"user_8f3a2c","createdAt":"2026-10-25T12:00:00.000Z","liftedBy":null,"liftedAt":null,"liftNote":null,"summary":{"total":3,"frozen":2,"queued":0,"failed":1,"alreadyFrozen":0,"lifted":0},"tokens":[{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"Northwind Coffee Series A Bond","tokenSymbol":"NWCAB","status":"frozen","paused":false,"transactionId":"0198f1a2-4a5b-7c6d-8e9f-0a1b2c3d4e5f","transactionHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","failure":null,"updatedAt":"2026-10-25T12:00:07.000Z"},{"token":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","tokenName":"Northwind Real Estate Fund","tokenSymbol":"NWREF","status":"frozen","paused":true,"transactionId":"0198f1a2-4a5c-7c6d-8e9f-0a1b2c3d4e60","transactionHash":"0x5c1d9e7a3b0f2486d1c7e5a9b3f08d24c6e1a7b95d3f20c84e6a1b7d9c3f5e02","failure":null,"updatedAt":"2026-10-25T12:00:07.000Z"},{"token":"0x5FbDB2315678afecb367f032d93F642f64180aa3","tokenName":"Northwind Treasury Note","tokenSymbol":"NWTN","status":"failed","paused":false,"transactionId":null,"transactionHash":null,"failure":{"code":"DALP-0712","message":"This operation is not available to the caller","fix":"Ask an administrator to grant one of the listed roles on this token."},"updatedAt":"2026-10-25T12:00:07.000Z"}]},"links":{"self":"/api/v2/restrictions/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","WALLET_RESTRICTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-12296","DALP-17457","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one restriction with the outcome of each token it covers. A token shows `queued` or `lift-queued` while its transaction is accepted and not yet settled. Only the organization's owner and platform administrators can read a restriction; for any other caller it is not found.","summary":"Read a wallet restriction","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Token controls"],"operationId":"v2/restriction/update","parameters":[{"name":"restrictionId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"Idempotency-Key","in":"header","schema":{"type":"string","description":"Caller-generated key that makes a repeated request resolve to the first attempt instead of starting a second one.","examples":["3f1c9a26-4c1e-4a53-9c6a-9c9d3e1b7a11"]},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The restriction after the lift, with the outcome of each token.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletRestrictionDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","walletAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","participantId":"participant_3b1f","scope":"all","reason":{"code":"aml-review","text":"AML review"},"status":"lifted","createdBy":"user_8f3a2c","createdAt":"2026-10-25T12:00:00.000Z","liftedBy":"user_8f3a2c","liftedAt":"2026-10-26T09:30:00.000Z","liftNote":"Cleared after review","summary":{"total":3,"frozen":0,"queued":0,"failed":1,"alreadyFrozen":0,"lifted":2},"tokens":[{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"Northwind Coffee Series A Bond","tokenSymbol":"NWCAB","status":"lifted","paused":false,"transactionId":"0198f1a2-4a5b-7c6d-8e9f-0a1b2c3d4e5f","transactionHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","failure":null,"updatedAt":"2026-10-25T12:00:07.000Z"},{"token":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","tokenName":"Northwind Real Estate Fund","tokenSymbol":"NWREF","status":"lifted","paused":true,"transactionId":"0198f1a2-4a5c-7c6d-8e9f-0a1b2c3d4e60","transactionHash":"0x5c1d9e7a3b0f2486d1c7e5a9b3f08d24c6e1a7b95d3f20c84e6a1b7d9c3f5e02","failure":null,"updatedAt":"2026-10-25T12:00:07.000Z"},{"token":"0x5FbDB2315678afecb367f032d93F642f64180aa3","tokenName":"Northwind Treasury Note","tokenSymbol":"NWTN","status":"failed","paused":false,"transactionId":null,"transactionHash":null,"failure":{"code":"DALP-0712","message":"This operation is not available to the caller","fix":"Ask an administrator to grant one of the listed roles on this token."},"updatedAt":"2026-10-25T12:00:07.000Z"}]},"links":{"self":"/api/v2/restrictions/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"The restriction as stored. At least one token's freeze or lift is accepted by the queue and has not landed, so its status is `queued` or `lift-queued`. The restriction is not finished: poll `Location`, the restriction's own URL, until no token is queued; a read settles each queued token from the queue. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletRestrictionDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","participantId":"example","scope":"all","reason":{"code":"aml-review","text":"example"},"status":"active","createdBy":"example","createdAt":"example","liftedBy":"example","liftedAt":"example","liftNote":"example","summary":{"total":0,"frozen":0,"queued":0,"failed":0,"alreadyFrozen":0,"lifted":0},"tokens":[{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenName":"example","tokenSymbol":"example","status":"pending","paused":false,"transactionId":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","failure":{"code":"example","message":"example","fix":"example"},"updatedAt":"example"}]},"links":{"self":"example"}}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","WALLET_RESTRICTION_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-17457","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","WALLET_RESTRICTION_FREEZE_IN_FLIGHT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-17460","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lifts a restriction when you send `status` as `lifted`. The platform unfreezes the wallet on each token this restriction froze and leaves alone a freeze that existed before it. A freeze that is still settling is finished first, and a token whose freeze has not settled stays `queued` with no unfreeze sent. The restriction becomes `lifted` once every freeze it applied is removed. If an unfreeze fails, the restriction stays `active`, the token shows `lift-failed` with the reason, and you can send the same request again. An optional `note` is stored with the lift.","summary":"Lift a wallet restriction","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletRestrictionUpdateBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/role-sets":{"post":{"tags":["Token controls"],"operationId":"v2/token/setRoles","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous role-set result (HTTP 200). `data.accounts` are the wallets changed, `data.grant` and `data.revoke` the roles added and removed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRoleSetMutationResponse"},"examples":{"example-1":{"value":{"data":{"accounts":["0x8ba1f109551bD432803012645Ac136ddd64DBA72"],"grant":["custodian"],"revoke":[]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AsyncAcceptedResult"},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.assets.TOKEN_ACCESS_ROLE_EXPIRY_INVALID","dapi.assets.TOKEN_ACCESS_ROLE_INVALID","dapi.assets.TOKEN_ACCESS_ZERO_ADDRESS_HOLDER","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-12342","DALP-12370","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-16806","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PLATFORM_ROLE_SEGREGATION_CONFLICT","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.assets.TOKEN_ACCESS_LAST_ADMINISTRATOR","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12340","DALP-14270","DALP-14272","DALP-14425","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_PARTICIPANT_UNAVAILABLE","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12341","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Grants and revokes token roles for one participant or one wallet as one change on the selected token in the active organization. Name the target with exactly one of participantId, address or participantWallet. An address covers that one wallet. A participantId covers every EVM wallet that the participant holds, except archived wallets. The platform rejects a participantId when the participant holds no such wallet or holds one outside the active organization. A participantWallet covers the sent wallet plus every other wallet that a participantId for its holder would cover. When no participant in the active organization holds the sent wallet, a participantWallet covers that wallet alone. When exactly one participant in the active organization holds the sent wallet, the platform rejects the participantWallet in the same cases as a participantId for that participant. The platform rejects a participantWallet that more than one participant in the active organization holds. The executor wallet needs the token admin role. Without it, the platform answers 403 before any transaction.\n\nWhen a request changes no role, the platform answers 200 at once. Otherwise the platform queues the change by default and answers 202 with a statusUrl to poll. Send Prefer: wait=<seconds> to wait for settlement.\n\nWhen the executor wallet is a smart account, the platform applies every call in one user operation, so the change lands whole or not at all. Each changed wallet takes up to one call for its grants and one for its revokes, and one user operation holds at most 33 calls. The platform rejects a larger change before it sends any on-chain call. When the platform answers 202, the transaction at statusUrl reports that failure.\n\nWhen the executor wallet is an EOA, the platform sends the calls in order: revokes for the other wallets, then every grant, then revokes for the executor wallet itself. When a later call is refused or reverts, the platform sends the opposite call for each call that landed, newest first. When the first call is refused or reverts, or every opposite call succeeds, no role from the request changes. When no role changes and the call that stopped the change was refused because the executor wallet cannot pay for gas, the platform answers 400 TRANSACTION_QUEUE_FUNDING_REQUIRED with data.refusal FundingRequired to a request sent with Prefer: wait, whether that call was the first or a later one. When no role changes for any other reason, the platform answers 422 TOKEN_QUEUE_WRITE_REFUSED to a request sent with Prefer: wait. When an opposite call fails, the platform answers 422 TOKEN_WORKFLOW_FAILED to a request sent with Prefer: wait. The role change that call was meant to undo may still be in place. When the outcome of the first call or of a later call is unknown, the platform undoes nothing. That call may still land. After a failed change on an EOA executor wallet, or whenever an outcome is unknown, read the held roles before another write.","summary":"Set token roles","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRoleSetBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003","DALP-4008","DALP-4009"]}},"/api/v2/tokens/{assetId}/transfer-approvals/authority":{"get":{"tags":["Token transfers and supply"],"operationId":"v2/token/transferApprovalAuthority","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Whether the caller's selected executor is a transfer-approval authority on the token.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TransferApprovalAuthority"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"approvalAuthority":true},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/transfer-approvals/authority"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","BLOCKCHAIN_SYSTEM_REQUIRED","CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9311","DALP-9440","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9314","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"410":{"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError410"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_APPROVAL_EXPIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9321"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_APPROVAL_EXPIRED","status":410,"message":"The Canton command's validity window closed","data":{"id":"DALP-9321","why":"The command's validity window closed while the intent waited for approval, so the platform never sent it to the ledger.","fix":"Submit the command again. The expired intent is terminal and its approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_NETWORK_NOT_ENABLED","CANTON_PROVIDER_CONFIGURATION_MISSING","CONTRACT_ERROR","CUSTODY_CANTON_SIGNING_UNSUPPORTED","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_TRANSFER_APPROVAL_VALIDATION","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12022","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-14434","DALP-9290","DALP-9313","DALP-9319","DALP-9326","DALP-9328","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","CUSTODY_CREDENTIALS_UNAVAILABLE","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-0673","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12336","DALP-12337","DALP-12355","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Answers whether the caller's selected executor may approve or revoke transfer approvals on the token: true when the executor wallet's active registered identity in the system is an approval authority of the token's active transfer-approval module. It resolves the executor and applies the check exactly as the approve and revoke writes do, without asking for wallet verification. A token without an active transfer-approval module, or an executor without a registered identity, answers false. Repeating the request is safe.","summary":"Check transfer-approval authority","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features":{"post":{"tags":["Token features"],"operationId":"v2/token/features/attach","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CREATE_DENOMINATION_ASSET_NOT_ERC20","TOKEN_FEATURE_ATTACH_CREATE_FEATURE_WOULD_REVERT","TOKEN_FEATURE_ATTACH_DEPENDENCY_NOT_ATTACHED","TOKEN_FEATURE_ATTACH_FIXED_YIELD_ENDS_AFTER_MATURITY","TOKEN_FEATURE_ATTACH_PAYOUT_TREASURY_IS_TOKEN","TOKEN_FEATURE_ATTACH_START_DATE_IN_FUTURE","TOKEN_FEATURE_ATTACH_TOKEN_NOT_CONFIGURABLE","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14051","DALP-14052","DALP-14053","DALP-14055","DALP-14434","DALP-182132","DALP-190871","DALP-9073","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","ERC20_METADATA_PROBE_UNAVAILABLE","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9079","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Attaches one named feature to the selected token and stores its initial configuration. The token is identified by the `assetId` path segment, and by `instrumentAdmin` as well when it is a Canton instrument. The request body name selects the feature type and supplies that type's configuration. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. A feature the token already holds returns 409. After settlement, list the token features to read the deployed feature address. On Canton the body carries `instrumentAdmin` and `feature`, and creates that config contract.","summary":"Attach a token feature","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","enum":["fixed-treasury-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"basisPerUnit":{"type":"string","pattern":"^[0-9]+$"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"startDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"endDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"rate":{"type":"integer","minimum":1,"maximum":20000,"description":"Yield rate in basis points of the basis per unit, read according to `rateBasis`: per year when `rateBasis` is `annual`, otherwise paid every payment interval."},"rateBasis":{"$ref":"#/components/schemas/FixedYieldRateBasis"},"interval":{"type":"string","enum":["HOURLY","DAILY","WEEKLY","MONTHLY","QUARTERLY","SEMI_ANNUAL","YEARLY"]}},"required":["name","denominationAsset","basisPerUnit","treasury","startDate","endDate","rate","interval"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["dividend-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"defaultClaimDeadlineDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","denominationAsset","treasury","defaultClaimDeadlineDays"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["interest-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"annualRateBps":{"type":"integer","minimum":1,"maximum":20000},"startDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"daycountConvention":{"type":"string","enum":["continuous","act-360"]}},"required":["name","denominationAsset","treasury","annualRateBps"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["maturity-redemption"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"maturityDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"faceValue":{"type":"string","pattern":"^[0-9]+$"}},"required":["name","maturityDate","denominationAsset","treasury","faceValue"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["permit"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","mintFeeBps","burnFeeBps","transferFeeBps","feeRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["external-transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"feeToken":{"$ref":"#/components/schemas/EvmAddress"},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"},"mintFee":{"type":"string","pattern":"^[0-9]+$"},"burnFee":{"type":"string","pattern":"^[0-9]+$"},"transferFee":{"type":"string","pattern":"^[0-9]+$"}},"required":["name","feeToken","feeRecipient","mintFee","burnFee","transferFee"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["conversion-minter"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"converters":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["aum-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"feeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","feeBps","feeRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["voting-power"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee-accounting"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","mintFeeBps","burnFeeBps","transferFeeBps","feeRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["hold"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["supply-delegate"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["historical-balances"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["register-lines"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"requestableKinds":{"type":"array","items":{"type":"string","enum":["subscription","transfer","redemption"]},"maxItems":3}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"feature":{"type":"string","enum":["yield-schedule"]},"startAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"Daml time, as a UTC instant with at most microsecond precision."},"interval":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},"observers":{"type":"array","items":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"description":"Parties that can see the contract this write creates."},"rateBps":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$","description":"Daml integer, as an exact decimal string."},"amountPerUnit":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$","description":"Daml decimal, as an exact decimal string with at most ten fractional digits."}},"required":["cantonPartyId","instrumentAdmin","feature","startAt","interval"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"feature":{"type":"string","enum":["dividend-yield"]},"scheduleContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."},"observers":{"type":"array","items":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"description":"Parties that can see the contract this write creates."}},"required":["cantonPartyId","instrumentAdmin","feature","scheduleContractId"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Token features"],"operationId":"v2/token/features/list","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"name","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false}],"responses":{"200":{"description":"One page of features attached to the selected token. Each row is one feature type with its indexed configuration snapshot.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","enum":["historical-balances"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"enabledAt":{"type":"string"},"initialTotalSupply":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["enabledAt","initialTotalSupply"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["maturity-redemption"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"maturityDate":{"type":"string"},"progress":{"$ref":"#/components/schemas/MeterProgress"},"faceValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"isMatured":{"type":"boolean"},"maturedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"totalRedeemed":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["maturityDate","progress","faceValue","denominationAsset","treasury","isMatured","maturedAt","totalRedeemed"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["fixed-treasury-yield"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"startDate":{"type":"string"},"endDate":{"type":"string"},"rate":{"type":"number"},"rateBpsExact":{"type":"string"},"interval":{"type":"string"},"basisPerUnit":{"anyOf":[{"type":"string"},{"type":"number"}]},"proratesStub":{"type":"boolean"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"currentPeriod":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false},{"type":"null"}]},"nextPeriod":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false},{"type":"null"}]},"periods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false}},"excludedAccounts":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"since":{"type":"string"},"effectiveFromPeriod":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["account","since","effectiveFromPeriod"],"additionalProperties":false}},"exclusionSlots":{"type":"object","properties":{"used":{"type":"integer","minimum":0,"maximum":9007199254740991},"limit":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["used","limit"],"additionalProperties":false}},"required":["startDate","endDate","rate","rateBpsExact","interval","basisPerUnit","proratesStub","denominationAsset","treasury","totalYield","totalClaimed","totalUnclaimedYield","currentPeriod","nextPeriod","periods","excludedAccounts","exclusionSlots"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["dividend-yield"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"defaultClaimDeadlineDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"paused":{"type":"boolean"}},"required":["denominationAsset","treasury","defaultClaimDeadlineDays","totalClaimed","paused"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["interest-yield"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"annualRateBps":{"type":"integer","minimum":0,"maximum":20000},"startDate":{"type":"string"},"globalIndex":{"anyOf":[{"type":"string"},{"type":"number"}]},"daycountConvention":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"paused":{"type":"boolean"},"excludedAccounts":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"since":{"type":"string"}},"required":["account","since"],"additionalProperties":false}}},"required":["denominationAsset","treasury","annualRateBps","globalIndex","daycountConvention","totalClaimed","paused","excludedAccounts"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["voting-power"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["aum-fee"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"feeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"},"isFrozen":{"type":"boolean"},"lastCollectionTime":{"type":"string"},"totalCollected":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["feeBps","feeRecipient","isFrozen","lastCollectionTime","totalCollected"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"},"isFrozen":{"type":"boolean"},"totalFeesCollected":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["mintFeeBps","burnFeeBps","transferFeeBps","feeRecipient","isFrozen","totalFeesCollected"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee-accounting"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"},"isFrozen":{"type":"boolean"},"totalAccruedFees":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalReconciledFees":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["mintFeeBps","burnFeeBps","transferFeeBps","feeRecipient","isFrozen","totalAccruedFees","totalReconciledFees"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["external-transaction-fee"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"feeToken":{"$ref":"#/components/schemas/EvmAddress"},"mintFee":{"anyOf":[{"type":"string"},{"type":"number"}]},"burnFee":{"anyOf":[{"type":"string"},{"type":"number"}]},"transferFee":{"anyOf":[{"type":"string"},{"type":"number"}]},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"},"isFrozen":{"type":"boolean"},"totalFeesCollected":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["feeToken","mintFee","burnFee","transferFee","feeRecipient","isFrozen","totalFeesCollected"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["conversion"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"targetToken":{"$ref":"#/components/schemas/EvmAddress"},"conversionMinter":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"discountBps":{"type":"integer","minimum":0,"maximum":9999},"capPricePerShare":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"partialAllowed":{"type":"boolean"},"windowStart":{"anyOf":[{"type":"string"},{"type":"null"}]},"windowEnd":{"anyOf":[{"type":"string"},{"type":"null"}]},"debtMethod":{"type":"string","enum":["burn","lock","mark-converted"]}},"required":["targetToken","conversionMinter","denominationAsset","discountBps","capPricePerShare","partialAllowed","windowStart","windowEnd"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["conversion-minter"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"authorizedConverters":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"totalIssuances":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalAmountMinted":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["authorizedConverters","totalIssuances","totalAmountMinted"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["permit"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"typeId":{"type":"string","enum":["permit"]},"featureFactory":{"type":"object","properties":{"typeId":{"type":"string"},"name":{"type":"string"}},"required":["typeId","name"],"additionalProperties":false},"attachedAt":{"type":"string"}},"required":["typeId","featureFactory","attachedAt"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["hold"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"reservers":{"type":"array","items":{"type":"object","properties":{"reserver":{"$ref":"#/components/schemas/EvmAddress"},"holdLifetimeSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["reserver","holdLifetimeSeconds"],"additionalProperties":false}},"inactiveReservations":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"reserver":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"anyOf":[{"type":"string"},{"type":"number"}]},"reason":{"type":"string","enum":["expired","reserver-removed","feature-detached"]}},"required":["holder","reserver","amount","reason"],"additionalProperties":false}}},"required":["reservers"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["register-lines"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"requestableKinds":{"type":"array","items":{"type":"string","enum":["subscription","transfer","redemption"]}}},"required":["requestableKinds"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["distribution-waterfall"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"classes":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string"},"token":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string"},{"type":"number"}]},"ordinaryRank":{"type":"integer","minimum":0,"maximum":9007199254740991},"returnedCapital":{"anyOf":[{"type":"string"},{"type":"number"}]},"available":{"anyOf":[{"type":"string"},{"type":"number"}]}},"required":["role","token","contributionBasis","ordinaryRank","returnedCapital","available"],"additionalProperties":false}},"priorityRows":{"type":"array","items":{"type":"object","properties":{"determinationKind":{"$ref":"#/components/schemas/EthereumHashEncoded"},"ranks":{"type":"array","items":{"type":"integer","minimum":0,"maximum":9007199254740991}},"nets":{"type":"array","items":{"type":"boolean"}},"locked":{"type":"boolean"}},"required":["determinationKind","ranks","nets","locked"],"additionalProperties":false}},"distributionCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["denominationAsset","classes","priorityRows","distributionCount"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["supply-delegate"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"attachedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"config":{"anyOf":[{"type":"object","properties":{"delegates":{"type":"array","items":{"type":"object","properties":{"delegate":{"$ref":"#/components/schemas/EvmAddress"},"vouchesForCallers":{"type":"boolean"},"canMint":{"type":"boolean"},"canBurn":{"type":"boolean"},"mintCap":{"type":"string","pattern":"^[0-9]+$"}},"required":["delegate","vouchesForCallers","canMint","canBurn","mintCap"],"additionalProperties":false}}},"required":["delegates"],"additionalProperties":false},{"type":"null"}]},"balances":{"type":"array","items":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"balance":{"type":"string","pattern":"^[0-9]+$","description":"ERC-20 balance the feature holds, in the token's base units."},"recoverable":{"type":"string","pattern":"^[0-9]+$","description":"Most the feature can send out now, in the token's base units: the balance less frozen units and, for the distribution waterfall's denomination asset, less unpaid class legs."}},"required":["asset","symbol","decimals","balance","recoverable"],"additionalProperties":false}}},"required":["name","featureAddress","attachedAt","config"],"additionalProperties":false}]}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"instrument":{"$ref":"#/components/schemas/FeaturesListInstrument"}},"required":["data","meta","links","instrument"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"name":"historical-balances","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","attachedAt":"2026-03-04T09:12:41.000Z","config":{"enabledAt":"example","initialTotalSupply":"example"},"balances":[{"asset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"example","decimals":0,"balance":"0","recoverable":"0"}]}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features"},"instrument":{"paysThroughWaterfall":false}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of features currently attached to the selected token. Each row names the feature and includes its indexed configuration snapshot, the deployed feature address, and the attach time. The token is identified by the `assetId` path segment, which must be a contract address. The list is indexed and idempotent. Filter or sort by name. A token holds at most one instance of each feature type, so a default page usually contains the full set. Use a row to choose a later feature read or write. `include=balances` adds each feature's indexed ERC-20 balances and the amount POST /api/v2/tokens/{assetId}/features/{feature}/recover can send out now. `include=inactiveReservations` adds the hold feature's stored entries that no longer count, with the reason, which POST /api/v2/tokens/{assetId}/features/hold/reservations/clear clears. Only indexed tokens appear. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"List token features","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/{name}":{"delete":{"tags":["Token features"],"operationId":"v2/token/features/detach","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"name","in":"path","schema":{"type":"string","enum":["fixed-treasury-yield","dividend-yield","interest-yield","maturity-redemption","permit","transaction-fee","external-transaction-fee","conversion-minter","aum-fee","voting-power","transaction-fee-accounting","historical-balances","hold","register-lines","supply-delegate"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_DETACH_BLOCKED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DETACH_BLOCKED_BY_DEPENDENTS","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9160","DALP-9182","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Detaches the named feature from the selected token. The path name must match an attached feature. Conversion features with a pending interest backlog, or a closed conversion window, return 409. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list the token features to confirm the feature is gone.","summary":"Detach a token feature","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","enum":["fixed-treasury-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["dividend-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["interest-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["maturity-redemption"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["permit"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["external-transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["conversion-minter"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["aum-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["voting-power"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee-accounting"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["hold"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["supply-delegate"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["historical-balances"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["register-lines"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"},"put":{"tags":["Token features"],"operationId":"v2/token/features/rotate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"name","in":"path","schema":{"type":"string","enum":["fixed-treasury-yield","dividend-yield","interest-yield","maturity-redemption","permit","transaction-fee","external-transaction-fee","conversion-minter","aum-fee","voting-power","transaction-fee-accounting","historical-balances","hold","register-lines","supply-delegate"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","GOVERNANCE_DETACH_BLOCKED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9160","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CREATE_DENOMINATION_ASSET_NOT_ERC20","TOKEN_FEATURE_ATTACH_CREATE_FEATURE_WOULD_REVERT","TOKEN_FEATURE_ATTACH_PAYOUT_TREASURY_IS_TOKEN","TOKEN_FEATURE_ATTACH_START_DATE_IN_FUTURE","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-14051","DALP-14052","DALP-14053","DALP-9073","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","ERC20_METADATA_PROBE_UNAVAILABLE","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9079","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Replaces the named feature instance with a new deployment that uses the supplied configuration. The path name must match the body name. Conversion features with a pending interest backlog, or a closed conversion window, return 409. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list the token features to read the new feature address.","summary":"Rotate a token feature","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","enum":["fixed-treasury-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"basisPerUnit":{"type":"string","pattern":"^[0-9]+$"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"startDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"endDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"rate":{"type":"integer","minimum":1,"maximum":20000,"description":"Yield rate in basis points of the basis per unit, read according to `rateBasis`: per year when `rateBasis` is `annual`, otherwise paid every payment interval."},"rateBasis":{"$ref":"#/components/schemas/FixedYieldRateBasis"},"interval":{"type":"string","enum":["HOURLY","DAILY","WEEKLY","MONTHLY","QUARTERLY","SEMI_ANNUAL","YEARLY"]}},"required":["name","denominationAsset","basisPerUnit","treasury","startDate","endDate","rate","interval"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["dividend-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"defaultClaimDeadlineDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","denominationAsset","treasury","defaultClaimDeadlineDays"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["interest-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"annualRateBps":{"type":"integer","minimum":1,"maximum":20000},"startDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"daycountConvention":{"type":"string","enum":["continuous","act-360"]}},"required":["name","denominationAsset","treasury","annualRateBps"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["maturity-redemption"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"maturityDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?(Z|[+-]\\d{2}:\\d{2}))?$"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"treasury":{"$ref":"#/components/schemas/EvmAddress"},"faceValue":{"type":"string","pattern":"^[0-9]+$"}},"required":["name","maturityDate","denominationAsset","treasury","faceValue"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["permit"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","mintFeeBps","burnFeeBps","transferFeeBps","feeRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["external-transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"feeToken":{"$ref":"#/components/schemas/EvmAddress"},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"},"mintFee":{"type":"string","pattern":"^[0-9]+$"},"burnFee":{"type":"string","pattern":"^[0-9]+$"},"transferFee":{"type":"string","pattern":"^[0-9]+$"}},"required":["name","feeToken","feeRecipient","mintFee","burnFee","transferFee"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["conversion-minter"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"converters":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["aum-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"feeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","feeBps","feeRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["voting-power"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee-accounting"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","mintFeeBps","burnFeeBps","transferFeeBps","feeRecipient"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["hold"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["supply-delegate"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["historical-balances"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["register-lines"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"requestableKinds":{"type":"array","items":{"type":"string","enum":["subscription","transfer","redemption"]},"maxItems":3}},"required":["name"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Token features"],"operationId":"v2/token/features/update","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"name","in":"path","schema":{"type":"string","enum":["transaction-fee","transaction-fee-accounting","aum-fee","external-transaction-fee","fixed-treasury-yield","maturity-redemption","interest-yield","conversion-minter"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TREASURY_WALLET_MISMATCH","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0467","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_ADDON_FACTORY_NOT_FOUND_INDEXER","SYSTEM_NOT_FOUND","TOKEN_FEE_ACCOUNTING_FEATURE_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0227","DALP-0279","DALP-0706","DALP-12296","DALP-14271","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","MATURITY_INSUFFICIENT_ALLOWANCE","MATURITY_INSUFFICIENT_BALANCE","MATURITY_NOT_MATURED","MATURITY_REDEMPTION_UNAVAILABLE","MATURITY_TOKEN_PAUSED","MATURITY_TOP_UP_FROM_TREASURY","MATURITY_TREASURY_UNDERFUNDED","MATURITY_TREASURY_WALLET_MISMATCH","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURES_YIELD_TOP_UP_FROM_TREASURY","TOKEN_FEATURES_YIELD_TOP_UP_INSUFFICIENT_BALANCE","TOKEN_FEATURES_YIELD_TREASURY_UNDERFUNDED","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_FEE_RATES_FROZEN","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0523","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12373","DALP-14057","DALP-14109","DALP-14270","DALP-14501","DALP-14502","DALP-14503","DALP-14504","DALP-14505","DALP-14506","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9478","DALP-9480","DALP-9481"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_FEATURE_ATTACH_PAYOUT_TREASURY_IS_TOKEN","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-14052","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CONTRACT_ERROR","status":422,"message":"This wallet was recovered, so it can no longer claim","data":{"id":"DALP-4531","why":"Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.","fix":"Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.","retryable":false,"category":"contract","reason":"claimant-wallet-lost","dalpCode":"DALP-4531","message":"This wallet was recovered, so it can no longer claim","selector":"0x8cd27ba5","solidityError":"ClaimantWalletLost(address)"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","MATURITY_STATE_NOT_INDEXED","MATURITY_TREASURY_UNCLASSIFIED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_FIXED_TREASURY_YIELD_FEATURE_STATE_NOT_YET_INDEXED_INDEXER_PROCESSED_INITIA","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0330","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9477","DALP-9479","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes the settings of one attached feature. The path name must match the body name, and the body carries only the settings that change. When several settings change, the platform submits one chained request that applies them in a fixed order: fee token, then rates or amounts, then recipient. The chain is not atomic: if a later step fails, earlier steps stay applied and the transaction status names the step that failed. Frozen rates cannot change. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list the token features to read the new settings.","summary":"Update a token feature's settings","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"rates":{"type":"object","properties":{"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["mintFeeBps","burnFeeBps","transferFeeBps"],"additionalProperties":false},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["transaction-fee-accounting"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"rates":{"type":"object","properties":{"mintFeeBps":{"type":"integer","minimum":0,"maximum":10000},"burnFeeBps":{"type":"integer","minimum":0,"maximum":10000},"transferFeeBps":{"type":"integer","minimum":0,"maximum":10000}},"required":["mintFeeBps","burnFeeBps","transferFeeBps"],"additionalProperties":false},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["aum-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"feeBps":{"type":"integer","minimum":0,"maximum":10000},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["external-transaction-fee"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"feeToken":{"$ref":"#/components/schemas/EvmAddress"},"amounts":{"type":"object","properties":{"mintFee":{"type":"string","pattern":"^[0-9]+$"},"burnFee":{"type":"string","pattern":"^[0-9]+$"},"transferFee":{"type":"string","pattern":"^[0-9]+$"}},"required":["mintFee","burnFee","transferFee"],"additionalProperties":false},"feeRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["fixed-treasury-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"treasury":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","treasury"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["maturity-redemption"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"treasury":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","treasury"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["interest-yield"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"annualRateBps":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"integer","minimum":1,"maximum":20000}]}},"required":["name","annualRateBps"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","enum":["conversion-minter"]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"start":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"end":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]}},"required":["name","start","end"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/maturations":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/mature","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_LIFECYCLE_VALIDATION_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12021","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Marks a legacy bond as matured so holders can redeem the selected token in the active organization. The token must already be eligible to mature. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement. A Canton body runs `MaturityConfig_Mature` against the `MaturityConfig` contract named by `maturityConfigContractId`.","summary":"Mature a legacy bond token","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/redemptions":{"post":{"tags":["Token lifecycle"],"operationId":"v2/token/redeem","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting token, `meta.txHashes` lists submitted transactions, and `links.self` is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TOKEN_LIFECYCLE_CUSTODIAN_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0353","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_TYPE_TEMPLATE_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","PRICE_RESOLVER_ADDON_NOT_INSTALLED","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0091","DALP-0474","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_TYPE_TEMPLATE_NOT_FOUND","status":404,"message":"Asset type template not found","data":{"id":"DALP-0091","why":"No asset type template with this id is visible to your organisation, or the template is a draft or hidden from issuance.","fix":"Confirm the ID matches an existing template owned by your organization or a published system template. Re-fetch the list of asset type templates to verify the ID before retrying.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CLAIM_ISSUE_APPROVAL_PENDING","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_MUTATION_INSUFFICIENT_BALANCE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14270","DALP-14272","DALP-9086","DALP-9433","DALP-9482"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","ORGANIZATION_SUBMISSION_SIGNER_CLAIM_PURPOSE_MISSING","STRICT_COMPLIANCE_PARAMS_INVALID","SYSTEM_IDENTITY_CLAIM_ISSUE","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CHAIN_UNAVAILABLE","TOKEN_CLAIM_ISSUE_FAILED","TOKEN_COMPLIANCE_MODULE_BINDING_UNRESOLVED","TOKEN_CREATE_AMBIGUOUS_INTEREST_PROVIDER","TOKEN_CREATE_ASSET_FAMILY_DEPRECATED","TOKEN_CREATE_DUPLICATE","TOKEN_CREATE_RECOVERY_FAILED","TOKEN_FUNDING_PAUSE_FAILED","TOKEN_LIFECYCLE_VALIDATION_FAILED","TOKEN_OPERATION_INPUT_INVALID","TOKEN_PRICE_DENOMINATION_UNUSABLE","TOKEN_PRICE_FEED_FACTORY_MISSING","TOKEN_PRICE_FEED_SIGNER_MISSING","TOKEN_PRICE_INPUT_INVALID","TOKEN_PRICE_UPDATE_FAILED","TOKEN_QUEUE_WRITE_REFUSED","TOKEN_WORKFLOW_FAILED","TOKEN_WRITE_OUTCOME_UNKNOWN","TOKEN_WRITE_RECEIPT_INCOMPLETE","TOKEN_WRITE_REVERTED","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0254","DALP-0447","DALP-12021","DALP-12025","DALP-12028","DALP-12029","DALP-12031","DALP-12075","DALP-12076","DALP-12077","DALP-12078","DALP-12079","DALP-12080","DALP-12081","DALP-12082","DALP-12083","DALP-12084","DALP-12085","DALP-12086","DALP-12087","DALP-12088","DALP-12089","DALP-12090","DALP-12091","DALP-12092","DALP-14034","DALP-9290","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_ACCESS_SYNC_RESULT_UNAVAILABLE","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_WRITE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.identity.CLAIM_ISSUE_DEPENDENCY_FAILED","dapi.identity.CLAIM_TOPIC_READ_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0115","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12307","DALP-12337","DALP-12355","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9267","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Redeems units of the selected token against the denomination asset for the named holder, or for the caller when `owner` is omitted. Send `amount` or set `redeemAll` to true. The platform checks the indexed token first, then submits a live chain transaction. By default the platform queues the transaction and answers under status 202. Prefer: wait=<seconds> waits for settlement. Redemption requires a custodian when the token is configured that way.","summary":"Redeem tokens","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"owner":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$"},"redeemAll":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-1055"]}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/claims":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/claimYield","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false},"complete":{"type":"boolean","description":"True when this claim reaches every completed period, so the holder needs no further claim once it settles; false when more claims remain. Absent when unknown. On a 202 handle it is the forecast made when the claim was queued.","examples":[true]}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"complete":true}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"},"complete":{"type":"boolean","description":"True when this claim reaches every completed period, so the holder needs no further claim once it settles; false when more claims remain. Absent when unknown. On a 202 handle it is the forecast made when the claim was queued.","examples":[true]}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TREASURY_WALLET_MISMATCH","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0467","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_ADDON_FACTORY_NOT_FOUND_INDEXER","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0227","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURES_YIELD_TOP_UP_FROM_TREASURY","TOKEN_FEATURES_YIELD_TOP_UP_INSUFFICIENT_BALANCE","TOKEN_FEATURES_YIELD_TREASURY_UNDERFUNDED","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-14501","DALP-14502","DALP-14503","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CONTRACT_ERROR","status":422,"message":"This wallet was recovered, so it can no longer claim","data":{"id":"DALP-4531","why":"Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.","fix":"Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.","retryable":false,"category":"contract","reason":"claimant-wallet-lost","dalpCode":"DALP-4531","message":"This wallet was recovered, so it can no longer claim","selector":"0x8cd27ba5","solidityError":"ClaimantWalletLost(address)"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_FIXED_TREASURY_YIELD_FEATURE_STATE_NOT_YET_INDEXED_INDEXER_PROCESSED_INITIA","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0330","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Claims completed coupon periods for the caller on the attached fixed-treasury-yield feature. Periods that have not closed are not paid. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, claim again if more completed periods remain. A Canton body runs `TreasuryYieldDistribution_Claim` against the `TreasuryYieldDistribution` contract named by `treasuryDistributionContractId`.","summary":"Claim accrued fixed-treasury yield","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4531"]}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/claim-preflights":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/claimYieldPreflight","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"The yield claim would be accepted now. Nothing was signed or queued. The refusals it can return are the ones the claim returns for the same state, so a claim that is cleared here can still be refused if the state changes before it is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimYieldPreflightSuccess"},"examples":{"example-1":{"value":{"action":"claimYield"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TREASURY_WALLET_MISMATCH","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0467","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_ADDON_FACTORY_NOT_FOUND_INDEXER","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0227","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURES_YIELD_TOP_UP_FROM_TREASURY","TOKEN_FEATURES_YIELD_TOP_UP_INSUFFICIENT_BALANCE","TOKEN_FEATURES_YIELD_TREASURY_UNDERFUNDED","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-14501","DALP-14502","DALP-14503","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CONTRACT_ERROR","status":422,"message":"This wallet was recovered, so it can no longer claim","data":{"id":"DALP-4531","why":"Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.","fix":"Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.","retryable":false,"category":"contract","reason":"claimant-wallet-lost","dalpCode":"DALP-4531","message":"This wallet was recovered, so it can no longer claim","selector":"0x8cd27ba5","solidityError":"ClaimantWalletLost(address)"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_FIXED_TREASURY_YIELD_FEATURE_STATE_NOT_YET_INDEXED_INDEXER_PROCESSED_INITIA","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0330","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4531"]}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/recovered-wallet-claims":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/claimYieldForRecoveredWallet","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false},"complete":{"type":"boolean","description":"True when this claim reaches every completed period, so the holder needs no further claim once it settles; false when more claims remain. Absent when unknown. On a 202 handle it is the forecast made when the claim was queued.","examples":[true]}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"},"complete":true}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"},"complete":{"type":"boolean","description":"True when this claim reaches every completed period, so the holder needs no further claim once it settles; false when more claims remain. Absent when unknown. On a 202 handle it is the forecast made when the claim was queued.","examples":[true]}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example","complete":true}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TREASURY_WALLET_MISMATCH","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0467","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_ADDON_FACTORY_NOT_FOUND_INDEXER","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0227","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURES_YIELD_TOP_UP_FROM_TREASURY","TOKEN_FEATURES_YIELD_TOP_UP_INSUFFICIENT_BALANCE","TOKEN_FEATURES_YIELD_TREASURY_UNDERFUNDED","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-14501","DALP-14502","DALP-14503","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CONTRACT_ERROR","status":422,"message":"This wallet was recovered, so it can no longer claim","data":{"id":"DALP-4531","why":"Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.","fix":"Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.","retryable":false,"category":"contract","reason":"claimant-wallet-lost","dalpCode":"DALP-4531","message":"This wallet was recovered, so it can no longer claim","selector":"0x8cd27ba5","solidityError":"ClaimantWalletLost(address)"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_FIXED_TREASURY_YIELD_FEATURE_STATE_NOT_YET_INDEXED_INDEXER_PROCESSED_INITIA","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0330","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"lostWallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["lostWallet"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4532"]}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/top-ups":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/topUpYieldTreasury","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TREASURY_WALLET_MISMATCH","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0467","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_ADDON_FACTORY_NOT_FOUND_INDEXER","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0227","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURES_YIELD_TOP_UP_FROM_TREASURY","TOKEN_FEATURES_YIELD_TOP_UP_INSUFFICIENT_BALANCE","TOKEN_FEATURES_YIELD_TREASURY_UNDERFUNDED","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-14501","DALP-14502","DALP-14503","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CONTRACT_ERROR","status":422,"message":"This wallet was recovered, so it can no longer claim","data":{"id":"DALP-4531","why":"Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.","fix":"Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.","retryable":false,"category":"contract","reason":"claimant-wallet-lost","dalpCode":"DALP-4531","message":"This wallet was recovered, so it can no longer claim","selector":"0x8cd27ba5","solidityError":"ClaimantWalletLost(address)"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_FIXED_TREASURY_YIELD_FEATURE_STATE_NOT_YET_INDEXED_INDEXER_PROCESSED_INITIA","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0330","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Transfers denomination assets into the treasury that funds coupon payments on the attached fixed-treasury-yield feature. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, holders can claim completed periods.","summary":"Top up the fixed-treasury-yield treasury","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in base units of the denomination asset, as a decimal integer string. For 400,000 of an asset with 18 decimals, send `400000000000000000000000`."}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/maturity-redemption/top-ups":{"post":{"tags":["Token features"],"operationId":"v2/token/topUpMaturityTreasury","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","MATURITY_INSUFFICIENT_ALLOWANCE","MATURITY_INSUFFICIENT_BALANCE","MATURITY_NOT_MATURED","MATURITY_REDEMPTION_UNAVAILABLE","MATURITY_TOKEN_PAUSED","MATURITY_TOP_UP_FROM_TREASURY","MATURITY_TREASURY_UNDERFUNDED","MATURITY_TREASURY_WALLET_MISMATCH","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12373","DALP-14057","DALP-14109","DALP-14270","DALP-14504","DALP-14505","DALP-14506","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9478","DALP-9480","DALP-9481"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","MATURITY_STATE_NOT_INDEXED","MATURITY_TREASURY_UNCLASSIFIED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9477","DALP-9479","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Transfers denomination assets into the treasury that pays matured redemptions. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, holders can redeem when the token is matured.","summary":"Top up the maturity-redemption treasury","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in base units of the denomination asset, as a decimal integer string. For 400,000 of an asset with 18 decimals, send `400000000000000000000000`."}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/treasury-allowance":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/approveYieldTreasuryAllowance","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","TREASURY_WALLET_MISMATCH","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0467","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_ADDON_FACTORY_NOT_FOUND_INDEXER","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0227","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURES_YIELD_TOP_UP_FROM_TREASURY","TOKEN_FEATURES_YIELD_TOP_UP_INSUFFICIENT_BALANCE","TOKEN_FEATURES_YIELD_TREASURY_UNDERFUNDED","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-14501","DALP-14502","DALP-14503","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CONTRACT_ERROR","status":422,"message":"This wallet was recovered, so it can no longer claim","data":{"id":"DALP-4531","why":"Identity recovery replaced this wallet with another one. Refunds, yield and interest that belong to the investor are paid to the replacement wallet, not to the lost key.","fix":"Claim with the replacement wallet. If the replacement wallet cannot claim for itself, anyone can ask for the payout to the replacement wallet through the claim for a recovered wallet.","retryable":false,"category":"contract","reason":"claimant-wallet-lost","dalpCode":"DALP-4531","message":"This wallet was recovered, so it can no longer claim","selector":"0x8cd27ba5","solidityError":"ClaimantWalletLost(address)"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_FIXED_TREASURY_YIELD_FEATURE_STATE_NOT_YET_INDEXED_INDEXER_PROCESSED_INITIA","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0330","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves the attached fixed-treasury-yield feature to spend denomination assets from the treasury. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Do this before holders claim if the treasury is an ordinary wallet.","summary":"Approve the fixed-treasury-yield treasury allowance","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in base units of the denomination asset, as a decimal integer string. For 400,000 of an asset with 18 decimals, send `400000000000000000000000`."}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/maturity-redemption/treasury-allowance":{"post":{"tags":["Token features"],"operationId":"v2/token/approveMaturityTreasuryAllowance","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","MATURITY_INSUFFICIENT_ALLOWANCE","MATURITY_INSUFFICIENT_BALANCE","MATURITY_NOT_MATURED","MATURITY_REDEMPTION_UNAVAILABLE","MATURITY_TOKEN_PAUSED","MATURITY_TOP_UP_FROM_TREASURY","MATURITY_TREASURY_UNDERFUNDED","MATURITY_TREASURY_WALLET_MISMATCH","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12373","DALP-14057","DALP-14109","DALP-14270","DALP-14504","DALP-14505","DALP-14506","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9478","DALP-9480","DALP-9481"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","MATURITY_STATE_NOT_INDEXED","MATURITY_TREASURY_UNCLASSIFIED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9477","DALP-9479","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves the attached maturity-redemption feature to spend denomination assets from the treasury. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Do this before holders redeem if the treasury is an ordinary wallet.","summary":"Approve the maturity-redemption treasury allowance","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in base units of the denomination asset, as a decimal integer string. For 400,000 of an asset with 18 decimals, send `400000000000000000000000`."}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/distribution-waterfall/treasury-allowance":{"post":{"tags":["Token features"],"operationId":"v2/token/approveWaterfallAllowance","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DISTRIBUTION_WATERFALL_UNKNOWN_CLASS_ROLE","DISTRIBUTION_WATERFALL_UNKNOWN_PRIORITY_ROW","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14007","DALP-14008","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","DISTRIBUTION_WATERFALL_FEATURE_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14005","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","DISTRIBUTION_WATERFALL_NETTING_LOCKED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14009","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DISTRIBUTION_WATERFALL_DENOMINATION_UNREADABLE","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14006","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves the attached distribution-waterfall feature to spend denomination assets from the calling wallet. A coordinated distribution pulls its whole pool from that wallet in one transfer, so grant at least the pool before confirming one. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Approve the distribution-waterfall allowance","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in base units of the denomination asset, as a decimal integer string. For 400,000 of an asset with 18 decimals, send `400000000000000000000000`."}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/distribution-waterfall/distribution-netting":{"post":{"tags":["Token features"],"operationId":"v2/token/setDistributionNetting","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DISTRIBUTION_WATERFALL_UNKNOWN_CLASS_ROLE","DISTRIBUTION_WATERFALL_UNKNOWN_PRIORITY_ROW","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14007","DALP-14008","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","DISTRIBUTION_WATERFALL_FEATURE_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14005","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","DISTRIBUTION_WATERFALL_NETTING_LOCKED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14009","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DISTRIBUTION_WATERFALL_DENOMINATION_UNREADABLE","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14006","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"determinationKind":{"$ref":"#/components/schemas/EthereumHashEncoded"},"role":{"type":"string","minLength":1},"nets":{"type":"boolean"}},"required":["determinationKind","role","nets"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/distribution-waterfall/allocation-sync":{"post":{"tags":["Token features"],"operationId":"v2/token/syncAllocations","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","DISTRIBUTION_WATERFALL_UNKNOWN_CLASS_ROLE","DISTRIBUTION_WATERFALL_UNKNOWN_PRIORITY_ROW","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14007","DALP-14008","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","DISTRIBUTION_WATERFALL_FEATURE_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14005","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","DISTRIBUTION_WATERFALL_NETTING_LOCKED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14009","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DISTRIBUTION_WATERFALL_DENOMINATION_UNREADABLE","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14006","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"maxDistributions":{"type":"string","pattern":"^[0-9]+$"}},"required":["maxDistributions"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/maturity-redemption/maturations":{"post":{"tags":["Token features"],"operationId":"v2/token/matureViaFeature","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","MATURITY_INSUFFICIENT_ALLOWANCE","MATURITY_INSUFFICIENT_BALANCE","MATURITY_NOT_MATURED","MATURITY_REDEMPTION_UNAVAILABLE","MATURITY_TOKEN_PAUSED","MATURITY_TOP_UP_FROM_TREASURY","MATURITY_TREASURY_UNDERFUNDED","MATURITY_TREASURY_WALLET_MISMATCH","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12373","DALP-14057","DALP-14109","DALP-14270","DALP-14504","DALP-14505","DALP-14506","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9478","DALP-9480","DALP-9481"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","MATURITY_STATE_NOT_INDEXED","MATURITY_TREASURY_UNCLASSIFIED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9477","DALP-9479","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Matures the token through its attached maturity-redemption feature after the scheduled maturity date. After maturity, holders redeem for denomination assets at face value. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, top up the treasury if needed, then holders redeem.","summary":"Mature a token through its maturity-redemption feature","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/maturity-redemption/early-maturations":{"post":{"tags":["Token features"],"operationId":"v2/token/matureEarly","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","MATURITY_INSUFFICIENT_ALLOWANCE","MATURITY_INSUFFICIENT_BALANCE","MATURITY_NOT_MATURED","MATURITY_REDEMPTION_UNAVAILABLE","MATURITY_TOKEN_PAUSED","MATURITY_TOP_UP_FROM_TREASURY","MATURITY_TREASURY_UNDERFUNDED","MATURITY_TREASURY_WALLET_MISMATCH","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12373","DALP-14057","DALP-14109","DALP-14270","DALP-14504","DALP-14505","DALP-14506","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9478","DALP-9480","DALP-9481"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","MATURITY_STATE_NOT_INDEXED","MATURITY_TREASURY_UNCLASSIFIED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9477","DALP-9479","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Matures the token before the scheduled maturity date through the attached maturity-redemption feature. After early maturity, holders redeem for denomination assets at face value. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, top up the treasury if needed, then holders redeem. A Canton body runs `MaturityConfig_MatureEarly` against the `MaturityConfig` contract named by `maturityConfigContractId`.","summary":"Mature a token early","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/maturity-redemption/redemptions":{"post":{"tags":["Token features"],"operationId":"v2/token/redeemViaFeature","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","MATURITY_INSUFFICIENT_ALLOWANCE","MATURITY_INSUFFICIENT_BALANCE","MATURITY_NOT_MATURED","MATURITY_REDEMPTION_UNAVAILABLE","MATURITY_TOKEN_PAUSED","MATURITY_TOP_UP_FROM_TREASURY","MATURITY_TREASURY_UNDERFUNDED","MATURITY_TREASURY_WALLET_MISMATCH","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12373","DALP-14057","DALP-14109","DALP-14270","DALP-14504","DALP-14505","DALP-14506","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9478","DALP-9480","DALP-9481"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","MATURITY_STATE_NOT_INDEXED","MATURITY_TREASURY_UNCLASSIFIED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9477","DALP-9479","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Burns matured token units for the caller and pays denomination assets at face value from the attached maturity-redemption treasury. The token must already be matured. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. A Canton body runs `MaturityConfig_Redeem` against the `MaturityConfig` contract named by `maturityConfigContractId`.","summary":"Redeem a token through its maturity-redemption feature","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$","description":"Amount in base units of the token being redeemed, as a decimal integer string. For 5 tokens with 18 decimals, send `5000000000000000000`."}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/yield/holder-periods/{holderAddress}":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/fixedTreasuryYieldHolderPeriods","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"holderAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"periodNumber":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"yieldAmount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"claimedAtBlock":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"claimedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"periodNumber","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"amount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"yieldAmount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"claimedAtBlock","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"claimedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed fixed-treasury-yield claim rows for one holder. Each row is one period claimed in one transaction. Default sort is period number ascending.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"holderAddress":{"$ref":"#/components/schemas/EvmAddress"},"periodNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"amount":{"anyOf":[{"type":"string"},{"type":"number"}]},"amountExact":{"type":"string","pattern":"^[0-9]+$"},"yieldAmount":{"anyOf":[{"type":"string"},{"type":"number"}]},"yieldAmountExact":{"type":"string","pattern":"^[0-9]+$"},"claimedAtBlock":{"type":"string","pattern":"^[0-9]+$"},"claimedAt":{"type":"string"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","tokenAddress","featureAddress","holderAddress","periodNumber","amount","amountExact","yieldAmount","yieldAmountExact","claimedAtBlock","claimedAt","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6","holderAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","periodNumber":12,"amount":"25000.00","amountExact":"25000000000000000000000","yieldAmount":"125.00","yieldAmountExact":"125000000000000000000","claimedAtBlock":"21450881","claimedAt":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":4}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/yield/holder-periods/0x8ba1f109551bD432803012645Ac136ddd64DBA72?sort=periodNumber&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/yield/holder-periods/0x8ba1f109551bD432803012645Ac136ddd64DBA72?sort=periodNumber&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/yield/holder-periods/0x8ba1f109551bD432803012645Ac136ddd64DBA72?sort=periodNumber&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed fixed-treasury-yield claim rows for one holder of the selected token. Name the holder in the path. Each row is one period claimed in one transaction. A holder that claimed the same period twice produces two rows. Default sort is period number ascending.","summary":"List holder yield periods","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/interest-yield/schedule":{"delete":{"tags":["Yield and distributions"],"operationId":"v2/token/revokeYieldSchedule","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires the yield schedule by running the Daml choice `YieldSchedule_Revoke` on the `YieldSchedule` config contract the body names. Canton only: an EVM-family body, which carries no `instrumentAdmin`, is refused with DALP-9326. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Revoke the yield schedule","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"scheduleContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","scheduleContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/interest-yield/configuration":{"delete":{"tags":["Yield and distributions"],"operationId":"v2/token/revokeInterestYield","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires the interest-yield feature by running the Daml choice `InterestYield_Revoke` on the `InterestYield` config contract the body names. Canton only: an EVM-family body, which carries no `instrumentAdmin`, is refused with DALP-9326. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Revoke the interest-yield feature","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"interestYieldContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","interestYieldContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/configuration":{"delete":{"tags":["Token features"],"operationId":"v2/token/revokeTreasuryYield","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires the fixed-treasury-yield feature by running the Daml choice `FixedTreasuryYield_Revoke` on the `FixedTreasuryYield` config contract the body names. Canton only: an EVM-family body, which carries no `instrumentAdmin`, is refused with DALP-9326. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Revoke the fixed-treasury-yield feature","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"fixedTreasuryYieldContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","fixedTreasuryYieldContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/fixed-treasury-yield/distributions":{"delete":{"tags":["Token features"],"operationId":"v2/token/revokeTreasuryDistribution","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires one treasury distribution by running the Daml choice `TreasuryYieldDistribution_Revoke` on the `TreasuryYieldDistribution` distribution contract the body names. Canton only: an EVM-family body, which carries no `instrumentAdmin`, is refused with DALP-9326. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Revoke a treasury distribution","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"treasuryDistributionContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","treasuryDistributionContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/maturity-redemption/configuration":{"delete":{"tags":["Token features"],"operationId":"v2/token/revokeMaturity","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires the maturity capability by running the Daml choice `MaturityConfig_Revoke` on the `MaturityConfig` config contract the body names. Canton only: an EVM-family body, which carries no `instrumentAdmin`, is refused with DALP-9326. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Revoke the maturity capability","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"maturityConfigContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","maturityConfigContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/conversion-minter/configuration":{"delete":{"tags":["Token features"],"operationId":"v2/token/revokeConversion","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The operation settled within the request wait window. `data` names the submission id a caller polls and the contract the choice created.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"operationId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","submissionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","ledgerSubmissionId":"1220ab","preparedHashHex":"deadbeef"},"meta":{"txHashes":[]},"links":{"self":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Retires the conversion capability by running the Daml choice `ConversionConfig_Revoke` on the `ConversionConfig` config contract the body names. Canton only: an EVM-family body, which carries no `instrumentAdmin`, is refused with DALP-9326. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Revoke the conversion capability","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"conversionConfigContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","conversionConfigContractId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion-feature-probe":{"get":{"tags":["Token features"],"operationId":"v2/token/conversionFeatureProbe","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"converterAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Live probe result. isConversionFeature is true only when converterAddress exposes the conversion-feature type identifier.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"isConversionFeature":{"type":"boolean"}},"required":["isConversionFeature"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"isConversionFeature":true},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion-feature-probe"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.CONVERSION_FEATURE_PROBE_READ_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12356","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Checks whether converterAddress exposes the conversion-feature contract interface on the live chain. The probe does not attach a feature and does not change state. tokenAddress selects the token context for authorization. A true result means the address can be used as a conversion feature. A false result means the address is not a conversion feature. The read is live and idempotent. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"Probe a conversion feature","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion/triggers":{"get":{"tags":["Token features"],"operationId":"v2/token/conversionTriggers","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"active":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"publishedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"active","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"publishedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"expiresAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed conversion triggers for the selected token. Use an active trigger identifier when you convert.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"triggerId":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"roundPricePerShareWad":{"anyOf":[{"type":"string"},{"type":"number"}]},"roundPricePerShareWadExact":{"type":"string","pattern":"^[0-9]+$"},"effectivePriceWad":{"anyOf":[{"type":"string"},{"type":"number"}]},"effectivePriceWadExact":{"type":"string","pattern":"^[0-9]+$"},"publishedAt":{"type":"string"},"expiresAt":{"type":"string"},"metadataHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"active":{"type":"boolean"},"disabledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"totalConversions":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalPrincipalConverted":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalPrincipalConvertedExact":{"type":"string","pattern":"^[0-9]+$"}},"required":["triggerId","denominationAsset","roundPricePerShareWad","roundPricePerShareWadExact","effectivePriceWad","effectivePriceWadExact","publishedAt","expiresAt","metadataHash","active","disabledAt","totalConversions","totalPrincipalConverted","totalPrincipalConvertedExact"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"triggerId":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","denominationAsset":"0x5FbDB2315678afecb367f032d93F642f64180aa3","roundPricePerShareWad":"1.000000","roundPricePerShareWadExact":"1000000000000000000","effectivePriceWad":"0.975000","effectivePriceWadExact":"975000000000000000","publishedAt":"2026-03-04T09:12:41.000Z","expiresAt":"2026-12-31T00:00:00.000Z","metadataHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","active":true,"disabledAt":null,"totalConversions":3,"totalPrincipalConverted":"75000.00","totalPrincipalConvertedExact":"75000000000000000000000"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/triggers","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/triggers","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/triggers"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed conversion triggers published on the selected token. Each row includes the trigger identifier, denomination asset, published price, effective price, expiry, and whether the trigger is still active. Default sort is publication time descending. The list is indexed and idempotent. Use an active trigger identifier when you convert or force-convert. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"List conversion triggers","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion/records":{"get":{"tags":["Token features"],"operationId":"v2/token/conversionRecords","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"holder":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"initiatedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"finalizedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"isForced":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"holder","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"initiatedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"finalizedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"isForced","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed conversion records for the selected token. Each row is one conversion of principal into the target asset.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"conversionId":{"type":"string"},"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"principalConverted":{"anyOf":[{"type":"string"},{"type":"number"}]},"principalConvertedExact":{"type":"string","pattern":"^[0-9]+$"},"interestConvertedWad":{"anyOf":[{"type":"string"},{"type":"number"}]},"interestConvertedWadExact":{"type":"string","pattern":"^[0-9]+$"},"targetReceived":{"anyOf":[{"type":"string"},{"type":"number"}]},"targetReceivedExact":{"type":"string","pattern":"^[0-9]+$"},"targetRemainderWad":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"targetRemainderWadExact":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"effectivePriceUsedWad":{"anyOf":[{"type":"string"},{"type":"number"}]},"effectivePriceUsedWadExact":{"type":"string","pattern":"^[0-9]+$"},"status":{"type":"string","enum":["Initiated","Minted"]},"initiatedAt":{"type":"string"},"finalizedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"isForced":{"type":"boolean"},"forcedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"issuedRecipient":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"amountMinted":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"amountMintedExact":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"issuedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["conversionId","triggerId","holder","principalConverted","principalConvertedExact","interestConvertedWad","interestConvertedWadExact","targetReceived","targetReceivedExact","targetRemainderWad","targetRemainderWadExact","effectivePriceUsedWad","effectivePriceUsedWadExact","status","initiatedAt","finalizedAt","isForced","forcedBy","issuedRecipient","amountMinted","amountMintedExact","issuedAt"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"conversionId":"42","triggerId":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","holder":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","principalConverted":"25000.00","principalConvertedExact":"25000000000000000000000","interestConvertedWad":"125.00","interestConvertedWadExact":"125000000000000000000","targetReceived":"24375.00","targetReceivedExact":"24375000000000000000000","targetRemainderWad":"0","targetRemainderWadExact":"0","effectivePriceUsedWad":"0.975000","effectivePriceUsedWadExact":"975000000000000000","status":"Minted","initiatedAt":"2026-03-04T09:12:41.000Z","finalizedAt":"2026-03-11T16:02:08.000Z","isForced":false,"forcedBy":null,"issuedRecipient":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","amountMinted":"24375.00","amountMintedExact":"24375000000000000000000","issuedAt":"2026-03-11T16:02:08.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/records","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/records","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/records"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed conversion records for the selected token. Each row is one conversion of principal into the target asset, including holder, amounts, status, and whether the conversion was forced. Default sort is initiation time descending. The list is indexed and idempotent. Follow a row to inspect the trigger or the holder's remaining principal. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"List conversion records","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion/events":{"get":{"tags":["Token features"],"operationId":"v2/token/conversionTriggerEvents","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"kind":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"kind","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"blockTimestamp","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed trigger lifecycle events for the selected token. This is an audit trail, not the current trigger set.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"kind":{"type":"string","enum":["published","disabled","republished"]},"eventIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"roundPricePerShareWad":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"null"}]},"roundPricePerShareWadExact":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"metadataHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"blockNumber":{"type":"string","pattern":"^[0-9]+$"},"blockTimestamp":{"type":"string"},"txHash":{"type":"string"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["triggerId","kind","eventIndex","denominationAsset","roundPricePerShareWad","roundPricePerShareWadExact","expiresAt","metadataHash","blockNumber","blockTimestamp","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"triggerId":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","kind":"published","eventIndex":0,"denominationAsset":"0x5FbDB2315678afecb367f032d93F642f64180aa3","roundPricePerShareWad":"1.000000","roundPricePerShareWadExact":"1000000000000000000","expiresAt":"2026-12-31T00:00:00.000Z","metadataHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","blockNumber":"21450881","blockTimestamp":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":3}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/events","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/events","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/events"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed trigger lifecycle events for the selected token. Each row is a publish, disable, or republish observation, with the block, transaction, and trigger identifier. Default sort is block time descending. The list is indexed and idempotent. Use it as an audit trail of trigger changes, not as the current trigger set. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"List conversion trigger events","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion/holder-state":{"get":{"tags":["Token features"],"operationId":"v2/token/conversionHolderState","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"holderAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Indexed conversion state for one holder. data is null when the token has no attached conversion feature.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"availablePrincipal":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalConverted":{"anyOf":[{"type":"string"},{"type":"number"}]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"interestOnlyAvailable":{"type":"boolean"}},"required":["availablePrincipal","totalConverted","featureAddress","interestOnlyAvailable"],"additionalProperties":false},{"type":"null"}]},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"availablePrincipal":"25000.00","totalConverted":"5000.00","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","interestOnlyAvailable":false},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/holder-state"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns indexed conversion state for one holder of the selected token, including remaining convertible principal and the amount already converted. The result is null when the token has no attached conversion feature. The read is indexed and idempotent. Use available principal as the input to a later convert or force-convert call. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"Read conversion holder state","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion/converts-to":{"get":{"tags":["Token features"],"operationId":"v2/token/convertsTo","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"isAuthorized":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"authorizedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"isAuthorized","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"authorizedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of tokens the selected token is authorized to convert into. An authorized target is required before a holder can convert.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"targetTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"conversionFeatureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"minterFeatureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isAuthorized":{"type":"boolean"},"authorizedAt":{"type":"string"},"revokedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"type":"string"}},"required":["targetTokenAddress","conversionFeatureAddress","minterFeatureAddress","isAuthorized","authorizedAt","revokedAt","updatedAt"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"targetTokenAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","conversionFeatureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","minterFeatureAddress":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","isAuthorized":true,"authorizedAt":"2026-03-04T09:12:41.000Z","revokedAt":null,"updatedAt":"2026-03-04T09:12:41.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/converts-to","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/converts-to","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/converts-to"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of tokens that the selected token is authorized to convert into. Each row includes the target token, the conversion and minter feature addresses when known, and whether the authorization is still active. Default sort is authorization time descending. The list is indexed and idempotent. An authorized target is required before a holder can convert. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"List conversion targets","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/conversion/converted-from":{"get":{"tags":["Token features"],"operationId":"v2/token/convertedFrom","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"isAuthorized":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"authorizedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"isAuthorized","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"authorizedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of tokens authorized to convert into the selected token. Use it to see which assets can mint this token through conversion.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"sourceTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"conversionFeatureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"minterFeatureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isAuthorized":{"type":"boolean"},"authorizedAt":{"type":"string"},"revokedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"updatedAt":{"type":"string"}},"required":["sourceTokenAddress","conversionFeatureAddress","minterFeatureAddress","isAuthorized","authorizedAt","revokedAt","updatedAt"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"sourceTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","conversionFeatureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","minterFeatureAddress":"0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9","isAuthorized":true,"authorizedAt":"2026-03-04T09:12:41.000Z","revokedAt":null,"updatedAt":"2026-03-04T09:12:41.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/converted-from","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/converted-from","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/conversion/converted-from"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of tokens that are authorized to convert into the selected token. Each row includes the source token, the conversion and minter feature addresses when known, and whether the authorization is still active. Default sort is authorization time descending. The list is indexed and idempotent. Use it to see which assets can mint this token through conversion. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"List conversion sources","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/conversion-minter/conversions":{"post":{"tags":["Token features"],"operationId":"v2/token/convert","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_INTEREST_NOT_CONVERTIBLE","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9487"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Converts the caller's tokens into the configured target according to the named active trigger. Read the holder's conversion state first to choose principalAmount. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list conversion records or reread holder state. A Canton body runs `ConversionConfig_Convert` against the `ConversionConfig` contract named by `conversionConfigContractId`.","summary":"Convert tokens","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"principalAmount":{"type":"string","pattern":"^[0-9]+$"},"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"scope":{"$ref":"#/components/schemas/ConversionScope"}},"required":["principalAmount","triggerId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/conversion-minter/forced-conversions":{"post":{"tags":["Token features"],"operationId":"v2/token/forceConvert","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Converts tokens from a named holder without that holder's signature. The caller must be an authorized converter on the attached conversion-minter feature. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list conversion records to confirm the forced conversion.","summary":"Force-convert tokens","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"holder":{"$ref":"#/components/schemas/EvmAddress"},"principalAmount":{"type":"string","pattern":"^[0-9]+$"},"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["holder","principalAmount","triggerId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/conversion-minter/triggers":{"post":{"tags":["Token features"],"operationId":"v2/token/publishTrigger","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_CREATE_DENOMINATION_ASSET_NOT_ERC20","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9073","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","ERC20_METADATA_PROBE_UNAVAILABLE","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.erc20_metadata.PROBE_FAILED","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12358","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9079","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Publishes a conversion trigger on the attached conversion-minter feature. Holders convert against an active trigger. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list conversion triggers to confirm the trigger is active, then convert or force-convert.","summary":"Publish a conversion trigger","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"roundPricePerShareWad":{"type":"string","pattern":"^[0-9]+$"},"expiresAt":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"metadataHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["triggerId","denominationAsset","roundPricePerShareWad","metadataHash"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/conversion-minter/trigger-disablements":{"post":{"tags":["Token features"],"operationId":"v2/token/disableTrigger","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Disables a previously published conversion trigger on the attached conversion-minter feature. Later conversions against that trigger fail. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list conversion triggers to confirm the trigger is inactive.","summary":"Disable a conversion trigger","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["triggerId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/conversion-minter/authorized-converters":{"post":{"tags":["Token features"],"operationId":"v2/token/addAuthorizedConverter","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds an address that may force-convert this token on the attached conversion-minter feature. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, that address can call force-convert.","summary":"Add an authorized converter","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"converter":{"$ref":"#/components/schemas/EvmAddress"}},"required":["converter"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]},"delete":{"tags":["Token features"],"operationId":"v2/token/removeAuthorizedConverter","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes an address from the authorized-converter set on the attached conversion-minter feature. Later force-convert calls from that address fail. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Remove an authorized converter","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"converter":{"$ref":"#/components/schemas/EvmAddress"}},"required":["converter"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/aum-fee/accrued-estimate":{"get":{"tags":["Fees and pricing"],"operationId":"v2/token/aumFeeAccruedEstimate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Indexed AUM-fee accrual estimate. data is null when the token has no attached AUM-fee feature. Use measuredAt to extrapolate between refetches.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"accruedEstimate":{"$ref":"#/components/schemas/BigDecimal"},"feeBps":{"type":"integer","minimum":0,"maximum":10000},"lastCollectionTime":{"type":"string"},"measuredAt":{"type":"string"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["accruedEstimate","feeBps","lastCollectionTime","measuredAt","featureAddress"],"additionalProperties":false},{"type":"null"}]},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"accruedEstimate":"125.50","feeBps":200,"lastCollectionTime":"2026-03-04T09:12:41.000Z","measuredAt":"2026-03-11T16:05:12.000Z","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/aum-fee/accrued-estimate"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the indexed assets-under-management fee accrual estimate for the selected token. The result is null when the token has no attached AUM-fee feature. The estimate is computed from the indexed accumulator, not a live chain read, and is not a collection. The read is idempotent. Use measuredAt to extrapolate between refetches, then collect fees when the estimate is ready. This read serves the EVM family only: a Canton-scoped request is refused with `OperationFamilyUnsupportedError` (422) naming the operation, before any EVM repository runs.","summary":"Estimate accrued AUM fees","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/aum-fee/collections":{"post":{"tags":["Fees and pricing"],"operationId":"v2/token/collectAumFee","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Collects AUM fees accrued since the last collection on the attached AUM-fee feature and pays them to the configured recipient. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Read the accrued-fee estimate first to decide whether a collection is due. A Canton body runs `AumFee_Collect` against the attached `AumFee` contract named by `aumFeeContractId`.","summary":"Collect accrued AUM fees","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/aum-fee/rate-freezes":{"post":{"tags":["Fees and pricing"],"operationId":"v2/token/freezeAumFeeRate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Permanently freezes the AUM fee rate on the attached AUM-fee feature so later rate changes fail. This cannot be undone. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, only the recipient and collection operations remain available. On Canton the attached `AumFee` capability is retired by `AumFee_Revoke`, which no rate can undo.","summary":"Freeze the AUM fee rate","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/transaction-fee/rate-freezes":{"post":{"tags":["Fees and pricing"],"operationId":"v2/token/freezeTransactionFeeRates","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_FEE_RATES_FROZEN","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-0523","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Permanently freezes mint, burn, and transfer fee rates on the attached transaction-fee feature so later rate changes fail. This cannot be undone. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Freeze transaction-fee rates","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/external-transaction-fee/rate-freezes":{"post":{"tags":["Fees and pricing"],"operationId":"v2/token/freezeExternalTransactionFees","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Permanently freezes external transaction-fee amounts on the attached feature so later amount changes fail. This cannot be undone. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Freeze external transaction fees","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/transaction-fee-accounting/reconciliations":{"post":{"tags":["Fees and pricing"],"operationId":"v2/token/reconcileFees","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_FEE_ACCOUNTING_FEATURE_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14271","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","INPUT_VALIDATION_FAILED","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0080","DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INPUT_VALIDATION_FAILED","status":422,"message":"Input validation failed","data":{"id":"DALP-0080","why":"The request body or parameters did not match the API contract.","fix":"Check the request fields against the API documentation and retry with valid values.","retryable":false,"category":"client","errors":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Settles accrued transaction-fee accounting against collected fees on the attached transaction-fee-accounting feature and pays the recipient. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. A Canton body runs `FeeAccounting_Record` against the `FeeAccounting` contract named by `feeAccountingContractId`.","summary":"Reconcile accrued transaction fees","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"get":{"tags":["Fees and pricing"],"operationId":"v2/token/feeReconciliations","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"periodEnd":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"caller":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"recipient":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"periodEnd","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"blockNumber","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"caller","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"recipient","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"amount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed fee-accounting reconciliations. Each row is a settled transfer of accrued fees for one period. Default sort is period end descending.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"caller":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"periodEnd":{"type":"string"},"amount":{"$ref":"#/components/schemas/BigDecimal"},"amountExact":{"type":"string","pattern":"^[0-9]+$"},"blockNumber":{"type":"string","pattern":"^[0-9]+$"},"blockTimestamp":{"type":"string"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","id","caller","recipient","periodEnd","amount","amountExact","blockNumber","blockTimestamp","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-21450881-7","caller":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","recipient":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","periodEnd":"2026-03-11T16:02:08.000Z","amount":"37.50","amountExact":"37500000000000000000","blockNumber":"21450881","blockTimestamp":"2026-03-11T16:02:08.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":7}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/reconciliations?sort=-periodEnd&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/reconciliations?sort=-periodEnd&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/reconciliations?sort=-periodEnd&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed fee-accounting reconciliation records for the selected token. Each row is a settled transfer of accrued fees to a recipient for one period. Page and filter with the shared collection parameters. Default sort is period end descending.","summary":"List fee reconciliations","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/transaction-fee-accounting/rate-freezes":{"post":{"tags":["Fees and pricing"],"operationId":"v2/token/freezeTransactionFeeAccountingRates","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_FEE_ACCOUNTING_FEATURE_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14271","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","INPUT_VALIDATION_FAILED","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0080","DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INPUT_VALIDATION_FAILED","status":422,"message":"Input validation failed","data":{"id":"DALP-0080","why":"The request body or parameters did not match the API contract.","fix":"Check the request fields against the API documentation and retry with valid values.","retryable":false,"category":"client","errors":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Permanently freezes mint, burn, and transfer accounting rates on the attached transaction-fee-accounting feature so later rate changes fail. This cannot be undone. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Freeze transaction-fee-accounting rates","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/transaction-fee-accounting/exemptions":{"put":{"tags":["Fees and pricing"],"operationId":"v2/token/setFeeExemption","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_FEE_ACCOUNTING_FEATURE_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14271","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","INPUT_VALIDATION_FAILED","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0080","DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INPUT_VALIDATION_FAILED","status":422,"message":"Input validation failed","data":{"id":"DALP-0080","why":"The request body or parameters did not match the API contract.","fix":"Check the request fields against the API documentation and retry with valid values.","retryable":false,"category":"client","errors":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Marks an address as exempt or not exempt from transaction-fee accounting on the attached feature. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, exempt addresses no longer accrue accounting fees.","summary":"Set a transaction-fee exemption","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"account":{"$ref":"#/components/schemas/EvmAddress"},"exempt":{"type":"boolean"}},"required":["account","exempt"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"get":{"tags":["Fees and pricing"],"operationId":"v2/token/feeExemptions","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"account":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"isExempt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"updatedAtBlock":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"account","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"isExempt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"updatedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"updatedAtBlock","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed fee-accounting exemptions. Each row is an account that is exempt, or no longer exempt. Default sort is last update descending.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"account":{"$ref":"#/components/schemas/EvmAddress"},"isExempt":{"type":"boolean"},"updatedAt":{"type":"string"},"updatedAtBlock":{"type":"string","pattern":"^[0-9]+$"}},"required":["family","account","isExempt","updatedAt","updatedAtBlock"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","account":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","isExempt":true,"updatedAt":"2026-03-11T16:02:08.000Z","updatedAtBlock":"21450881"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/exemptions?sort=-updatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/exemptions?sort=-updatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/exemptions?sort=-updatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed fee-accounting exemptions for the selected token. Each row is an account that is exempt, or no longer exempt, from transaction-fee accounting. Page and filter with the shared collection parameters. Default sort is last update descending.","summary":"List fee exemptions","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/transaction-fee/collections":{"get":{"tags":["Fees and pricing"],"operationId":"v2/token/transactionFeeCollections","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"collectedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"operationType":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"counterpartyAddress":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"feeAmount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"collectedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"blockNumber","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"operationType","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"counterpartyAddress","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"feeAmount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of transaction-fee collection events. Default sort is collected time descending. The list is indexed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"counterpartyAddress":{"$ref":"#/components/schemas/EvmAddress"},"operationType":{"type":"string","enum":["mint","burn","transfer","redeem"]},"feeAmount":{"$ref":"#/components/schemas/BigDecimal"},"feeAmountExact":{"type":"string","pattern":"^[0-9]+$"},"blockNumber":{"type":"string","pattern":"^[0-9]+$"},"blockTimestamp":{"type":"string"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","id","counterpartyAddress","operationType","feeAmount","feeAmountExact","blockNumber","blockTimestamp","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-21450881-5","counterpartyAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","operationType":"transfer","feeAmount":"12.50","feeAmountExact":"12500000000000000000","blockNumber":"21450881","blockTimestamp":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":5}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee/collections?sort=-collectedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee/collections?sort=-collectedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee/collections?sort=-collectedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of transaction-fee collection events for the selected token. Each row is a fee collected on a mint, burn, transfer, or redeem. Results come from the index. Page, filter, and sort with the shared collection parameters. Default sort is collected time descending. Repeat the same query to refresh the page.","summary":"List transaction-fee collections","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/transaction-fee-accounting/accrual-events":{"get":{"tags":["Fees and pricing"],"operationId":"v2/token/feeAccrualEvents","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"accruedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"operationType":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"payer":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"fromAddress":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"toAddress":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"operationAmount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"feeAmount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"accruedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"blockNumber","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"operationType","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"payer","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"fromAddress","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"toAddress","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"operationAmount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"feeAmount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed fee-accrual events. Default sort is accrual time descending. `unknown` appears only when the contract emits an unrecognised operation type.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"payer":{"$ref":"#/components/schemas/EvmAddress"},"fromAddress":{"$ref":"#/components/schemas/EvmAddress"},"toAddress":{"$ref":"#/components/schemas/EvmAddress"},"operationType":{"type":"string","enum":["mint","burn","transfer","redeem","unknown"]},"operationAmount":{"$ref":"#/components/schemas/BigDecimal"},"operationAmountExact":{"type":"string","pattern":"^[0-9]+$"},"feeBps":{"type":"integer","minimum":0,"maximum":9007199254740991},"feeAmount":{"$ref":"#/components/schemas/BigDecimal"},"feeAmountExact":{"type":"string","pattern":"^[0-9]+$"},"blockNumber":{"type":"string","pattern":"^[0-9]+$"},"blockTimestamp":{"type":"string"},"eventTimestamp":{"type":"string"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","id","payer","fromAddress","toAddress","operationType","operationAmount","operationAmountExact","feeBps","feeAmount","feeAmountExact","blockNumber","blockTimestamp","eventTimestamp","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-21450881-6","payer":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","fromAddress":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","toAddress":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","operationType":"transfer","operationAmount":"25000.00","operationAmountExact":"25000000000000000000000","feeBps":50,"feeAmount":"12.50","feeAmountExact":"12500000000000000000","blockNumber":"21450881","blockTimestamp":"2026-03-04T09:12:41.000Z","eventTimestamp":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":6}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/accrual-events?sort=-accruedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/accrual-events?sort=-accruedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/transaction-fee-accounting/accrual-events?sort=-accruedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed transaction-fee accounting accrual events for the selected token. Each row is a fee that accrued on a mint, burn, transfer, or redeem, including the operation amount and fee in basis points. Page and filter with the shared collection parameters. Default sort is accrual time descending.","summary":"List fee-accrual events","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/aum-fee/collection-events":{"get":{"tags":["Fees and pricing"],"operationId":"v2/token/aumFeeEvents","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"collectedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"collector":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"recipient":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"feeAmount":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"collectedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"blockNumber","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"collector","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"recipient","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"feeAmount","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed assets-under-management fee collection events. Default sort is collected time descending.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"collector":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"feeAmount":{"$ref":"#/components/schemas/BigDecimal"},"feeAmountExact":{"type":"string","pattern":"^[0-9]+$"},"eventTimestamp":{"type":"string"},"blockNumber":{"type":"string","pattern":"^[0-9]+$"},"blockTimestamp":{"type":"string"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","id","collector","recipient","feeAmount","feeAmountExact","eventTimestamp","blockNumber","blockTimestamp","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-21450881-9","collector":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","recipient":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","feeAmount":"125.00","feeAmountExact":"125000000000000000000","eventTimestamp":"2026-03-04T09:12:41.000Z","blockNumber":"21450881","blockTimestamp":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":9}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/aum-fee/collection-events?sort=-collectedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/aum-fee/collection-events?sort=-collectedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/aum-fee/collection-events?sort=-collectedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed assets-under-management fee collection events for the selected token. Each row is a collected AUM fee with collector, recipient, and amounts. Page and filter with the shared collection parameters. Default sort is collected time descending.","summary":"List AUM-fee collection events","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/subscription-terms":{"get":{"tags":["Token features"],"operationId":"v2/token/readFundSubscriptionTerms","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/EvmAddress"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"receivingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"minimumCash":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"updatedAt":{"type":"string"}},"required":["token","stablecoin","receivingTreasury","minimumCash","updatedAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","stablecoin":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","receivingTreasury":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","minimumCash":"0","updatedAt":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FUND_SUBSCRIPTION_OPERATION_REJECTED","FUND_SUBSCRIPTION_REQUESTS_CHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-14081","DALP-14749","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"put":{"tags":["Token features"],"operationId":"v2/token/updateFundSubscriptionTerms","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/EvmAddress"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"receivingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"minimumCash":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"updatedAt":{"type":"string"}},"required":["token","stablecoin","receivingTreasury","minimumCash","updatedAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","stablecoin":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","receivingTreasury":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","minimumCash":"0","updatedAt":"example"}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FUND_SUBSCRIPTION_OPERATION_REJECTED","FUND_SUBSCRIPTION_REQUESTS_CHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14081","DALP-14270","DALP-14749","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"receivingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"minimumCash":{"type":"string","pattern":"^[0-9]+$"}},"required":["stablecoin","receivingTreasury"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/subscription-requests":{"post":{"tags":["Token features"],"operationId":"v2/token/createFundSubscriptionRequest","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The open request with its dealing day and the cut-off until which it can be cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"token":{"$ref":"#/components/schemas/EvmAddress"},"investor":{"$ref":"#/components/schemas/EvmAddress"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"dealingDay":{"$ref":"#/components/schemas/FundDealingDay"},"cutOff":{"type":"string"},"status":{"$ref":"#/components/schemas/FundSubscriptionRequestStatus"},"createdAt":{"type":"string"},"cancelledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlementId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The settlement that priced this request. Null while it is open or cancelled."},"nav":{"anyOf":[{"$ref":"#/components/schemas/FundSubscriptionNav"},{"type":"null"}],"description":"The class NAV the settlement priced this request at."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The NAV scaled to the stablecoin's smallest unit."},"units":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The units this request mints, in the token's base units."},"cash":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash this request pays, in the stablecoin's smallest unit."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction that pulled this request's cash and minted its units."},"settledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"$ref":"#/components/schemas/FundSubscriptionSettlementRejectionReason"},{"type":"null"}],"description":"Why the settlement left this request out."}},"required":["requestId","token","investor","stablecoin","cashAmount","dealingDay","cutOff","status","createdAt","cancelledAt","settlementId","nav","pricePerUnit","units","cash","transactionHash","settledAt","rejectedAt","rejectionReason"],"additionalProperties":false,"description":"The open subscription request. It has no settlement, NAV, units or cash until its dealing day settles.","examples":[{"requestId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","token":"0x2222222222222222222222222222222222222222","investor":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cashAmount":"5000000","dealingDay":"2026-10-22","cutOff":"2026-10-22T12:00:00.000Z","createdAt":"2026-10-21T09:30:00.000Z","cancelledAt":null,"settlementId":null,"nav":null,"pricePerUnit":null,"units":null,"cash":null,"transactionHash":null,"settledAt":null,"rejectedAt":null,"rejectionReason":null,"status":"open"}]},"examples":{"example-1":{"value":{"requestId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","token":"0x2222222222222222222222222222222222222222","investor":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cashAmount":"5000000","dealingDay":"2026-10-22","cutOff":"2026-10-22T12:00:00.000Z","createdAt":"2026-10-21T09:30:00.000Z","cancelledAt":null,"settlementId":null,"nav":null,"pricePerUnit":null,"units":null,"cash":null,"transactionHash":null,"settledAt":null,"rejectedAt":null,"rejectionReason":null,"status":"open"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FUND_SUBSCRIPTION_OPERATION_REJECTED","FUND_SUBSCRIPTION_REQUESTS_CHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14081","DALP-14270","DALP-14749","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records one subscription request for a fund token: the investor and the cash amount in the stablecoin named by the token's subscription terms. The request lands on the next dealing day, which is the same weekday when the call arrives before the 12:00 UTC cut-off and the next weekday otherwise. The investor must be the caller, hold an eligible identity for the token, and ask for at least the minimum cash in the terms. A token with no terms, an amount below the minimum or an investor that is not the caller answers 409 with the reason. Each call records a new request.","summary":"Request a fund subscription","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"investor":{"$ref":"#/components/schemas/EvmAddress"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"}},"required":["investor","cashAmount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"},"get":{"tags":["Token features"],"operationId":"v2/token/listFundSubscriptionRequests","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"dealingDay":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"investor":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"dealingDay","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"investor","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"A page of the token's subscription requests, each with the class NAV, units and cash its settlement priced it at once settled.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"token":{"$ref":"#/components/schemas/EvmAddress"},"investor":{"$ref":"#/components/schemas/EvmAddress"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"dealingDay":{"$ref":"#/components/schemas/FundDealingDay"},"cutOff":{"type":"string"},"status":{"$ref":"#/components/schemas/FundSubscriptionRequestStatus"},"createdAt":{"type":"string"},"cancelledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlementId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The settlement that priced this request. Null while it is open or cancelled."},"nav":{"anyOf":[{"$ref":"#/components/schemas/FundSubscriptionNav"},{"type":"null"}],"description":"The class NAV the settlement priced this request at."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The NAV scaled to the stablecoin's smallest unit."},"units":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The units this request mints, in the token's base units."},"cash":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash this request pays, in the stablecoin's smallest unit."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction that pulled this request's cash and minted its units."},"settledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"$ref":"#/components/schemas/FundSubscriptionSettlementRejectionReason"},{"type":"null"}],"description":"Why the settlement left this request out."}},"required":["requestId","token","investor","stablecoin","cashAmount","dealingDay","cutOff","status","createdAt","cancelledAt","settlementId","nav","pricePerUnit","units","cash","transactionHash","settledAt","rejectedAt","rejectionReason"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false,"description":"A page of the token's subscription requests, each with the class NAV, units and cash its settlement priced it at once settled.","examples":[{"data":[{"requestId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","token":"0x2222222222222222222222222222222222222222","investor":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cashAmount":"5000000","dealingDay":"2026-10-22","cutOff":"2026-10-22T12:00:00.000Z","createdAt":"2026-10-21T09:30:00.000Z","cancelledAt":null,"settlementId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","nav":{"price":"1.25","currency":"USD"},"pricePerUnit":"1250000","units":"4000000000000000000","cash":"5000000","transactionHash":"0x1111111111111111111111111111111111111111111111111111111111111111","settledAt":"2026-10-22T12:05:00.000Z","rejectedAt":null,"rejectionReason":null,"status":"settled"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-requests","first":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-requests","prev":null,"next":null,"last":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-requests"}}]},"examples":{"example-1":{"value":{"data":[{"requestId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","token":"0x2222222222222222222222222222222222222222","investor":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cashAmount":"5000000","dealingDay":"2026-10-22","cutOff":"2026-10-22T12:00:00.000Z","createdAt":"2026-10-21T09:30:00.000Z","cancelledAt":null,"settlementId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","nav":{"price":"1.25","currency":"USD"},"pricePerUnit":"1250000","units":"4000000000000000000","cash":"5000000","transactionHash":"0x1111111111111111111111111111111111111111111111111111111111111111","settledAt":"2026-10-22T12:05:00.000Z","rejectedAt":null,"rejectionReason":null,"status":"settled"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-requests","first":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-requests","prev":null,"next":null,"last":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-requests"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FUND_SUBSCRIPTION_OPERATION_REJECTED","FUND_SUBSCRIPTION_REQUESTS_CHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-14081","DALP-14749","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9244","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/subscription-requests/{requestId}/cancellations":{"post":{"tags":["Token features"],"operationId":"v2/token/cancelFundSubscriptionRequest","parameters":[{"name":"assetId","in":"path","schema":{"type":"string"},"required":true},{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The request with its status set to cancelled and the time it was cancelled.","content":{"application/json":{"schema":{"type":"object","properties":{"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"token":{"$ref":"#/components/schemas/EvmAddress"},"investor":{"$ref":"#/components/schemas/EvmAddress"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"dealingDay":{"$ref":"#/components/schemas/FundDealingDay"},"cutOff":{"type":"string"},"status":{"$ref":"#/components/schemas/FundSubscriptionRequestStatus"},"createdAt":{"type":"string"},"cancelledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"settlementId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The settlement that priced this request. Null while it is open or cancelled."},"nav":{"anyOf":[{"$ref":"#/components/schemas/FundSubscriptionNav"},{"type":"null"}],"description":"The class NAV the settlement priced this request at."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The NAV scaled to the stablecoin's smallest unit."},"units":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The units this request mints, in the token's base units."},"cash":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash this request pays, in the stablecoin's smallest unit."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction that pulled this request's cash and minted its units."},"settledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"$ref":"#/components/schemas/FundSubscriptionSettlementRejectionReason"},{"type":"null"}],"description":"Why the settlement left this request out."}},"required":["requestId","token","investor","stablecoin","cashAmount","dealingDay","cutOff","status","createdAt","cancelledAt","settlementId","nav","pricePerUnit","units","cash","transactionHash","settledAt","rejectedAt","rejectionReason"],"additionalProperties":false,"description":"The cancelled subscription request.","examples":[{"requestId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","token":"0x2222222222222222222222222222222222222222","investor":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cashAmount":"5000000","dealingDay":"2026-10-22","cutOff":"2026-10-22T12:00:00.000Z","createdAt":"2026-10-21T09:30:00.000Z","cancelledAt":"2026-10-21T15:00:00.000Z","settlementId":null,"nav":null,"pricePerUnit":null,"units":null,"cash":null,"transactionHash":null,"settledAt":null,"rejectedAt":null,"rejectionReason":null,"status":"cancelled"}]},"examples":{"example-1":{"value":{"requestId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","token":"0x2222222222222222222222222222222222222222","investor":"0x70997970C51812dc3A010C7d01b50e0d17dc79C8","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cashAmount":"5000000","dealingDay":"2026-10-22","cutOff":"2026-10-22T12:00:00.000Z","createdAt":"2026-10-21T09:30:00.000Z","cancelledAt":"2026-10-21T15:00:00.000Z","settlementId":null,"nav":null,"pricePerUnit":null,"units":null,"cash":null,"transactionHash":null,"settledAt":null,"rejectedAt":null,"rejectionReason":null,"status":"cancelled"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FUND_SUBSCRIPTION_OPERATION_REJECTED","FUND_SUBSCRIPTION_REQUESTS_CHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14081","DALP-14270","DALP-14749","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Cancels one open subscription request before the cut-off of its dealing day. Only the investor who made the request can cancel it. A request that is already cancelled, or whose cut-off has passed, answers 409 with the reason; an unknown request, or one made by someone else, answers 409 with request-not-found.","summary":"Cancel a fund subscription request","requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/subscription-settlements":{"post":{"tags":["Token features"],"operationId":"v2/token/createFundSubscriptionSettlement","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"dealingDay":{"$ref":"#/components/schemas/FundDealingDay"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"receivingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"nav":{"type":"object","properties":{"price":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The NAV per fund unit as the price feed's exact decimal string."},"currency":{"type":"string","minLength":1,"description":"The currency the NAV is quoted in."},"feed":{"$ref":"#/components/schemas/EvmAddress"},"blockTime":{"type":"string"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The position of the NAV event in that transaction."}},"required":["price","currency","feed","blockTime","transactionHash","logIndex"],"additionalProperties":false},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The wallets that had an open request in this settlement."},"settlingCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The requests this settlement prices and mints."},"rejectedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The requests this settlement rejects."},"unitsTotal":{"type":"string","pattern":"^[0-9]+$"},"cashTotal":{"type":"string","pattern":"^[0-9]+$"},"pendingCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The settling requests whose mint and cash pull the queue has accepted and not yet landed. Zero once every batch has landed."}},"required":["id","dealingDay","stablecoin","receivingTreasury","nav","pricePerUnit","holderCount","settlingCount","rejectedCount","unitsTotal","cashTotal","pendingCount"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false,"description":"The dealing day's settlement: the class NAV it priced at, the units it mints and the cash it pulls, and the requests it rejected with their reasons.","examples":[{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","dealingDay":"2026-10-22","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","receivingTreasury":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","nav":{"price":"27230000000000000000","currency":"USD","feed":"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419","blockTime":"2026-10-22T11:58:00.000Z","transactionHash":"0x1111111111111111111111111111111111111111111111111111111111111111","logIndex":0},"pricePerUnit":"1250000","holderCount":1,"settlingCount":1,"rejectedCount":0,"unitsTotal":"4000000000000000000","cashTotal":"5000000","pendingCount":0},"links":{"self":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-settlements"}}]},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","dealingDay":"2026-10-22","stablecoin":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","receivingTreasury":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","nav":{"price":"27230000000000000000","currency":"USD","feed":"0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419","blockTime":"2026-10-22T11:58:00.000Z","transactionHash":"0x1111111111111111111111111111111111111111111111111111111111111111","logIndex":0},"pricePerUnit":"1250000","holderCount":1,"settlingCount":1,"rejectedCount":0,"unitsTotal":"4000000000000000000","cashTotal":"5000000","pendingCount":0},"links":{"self":"/api/v2/tokens/0x2222222222222222222222222222222222222222/subscription-settlements"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The dealing day's settlement as recorded. At least one batch is accepted by the queue and has not landed, so `pendingCount` is above zero and those requests are still settling. Retry this request with the same `Idempotency-Key` to record the batches that have landed; `Location` is the status of the last batch sent.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"dealingDay":{"$ref":"#/components/schemas/FundDealingDay"},"stablecoin":{"$ref":"#/components/schemas/EvmAddress"},"receivingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"nav":{"type":"object","properties":{"price":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The NAV per fund unit as the price feed's exact decimal string."},"currency":{"type":"string","minLength":1,"description":"The currency the NAV is quoted in."},"feed":{"$ref":"#/components/schemas/EvmAddress"},"blockTime":{"type":"string"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The position of the NAV event in that transaction."}},"required":["price","currency","feed","blockTime","transactionHash","logIndex"],"additionalProperties":false},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The wallets that had an open request in this settlement."},"settlingCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The requests this settlement prices and mints."},"rejectedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The requests this settlement rejects."},"unitsTotal":{"type":"string","pattern":"^[0-9]+$"},"cashTotal":{"type":"string","pattern":"^[0-9]+$"},"pendingCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The settling requests whose mint and cash pull the queue has accepted and not yet landed. Zero once every batch has landed."}},"required":["id","dealingDay","stablecoin","receivingTreasury","nav","pricePerUnit","holderCount","settlingCount","rejectedCount","unitsTotal","cashTotal","pendingCount"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","dealingDay":"example","stablecoin":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","receivingTreasury":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nav":{"price":"0","currency":"example","feed":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","blockTime":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","logIndex":0},"pricePerUnit":"0","holderCount":0,"settlingCount":0,"rejectedCount":0,"unitsTotal":"0","cashTotal":"0","pendingCount":0},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FUND_SUBSCRIPTION_OPERATION_REJECTED","FUND_SUBSCRIPTION_REQUESTS_CHANGED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14081","DALP-14270","DALP-14749","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"dealingDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"The dealing day to settle, as a UTC calendar date. The settlement prices every open request whose dealing day is on or before it, at that day's class NAV. A Saturday or a Sunday is not a dealing day.","examples":["2026-10-22"]}},"required":["dealingDay"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-14081"]}},"/api/v2/tokens/{assetId}/features/permit/permits":{"post":{"tags":["Token features"],"operationId":"v2/token/permit","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","TOKEN_PERMIT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9497","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_PERMIT_ALREADY_RELAYED","TOKEN_PERMIT_CUSTODY_APPROVAL_CLOSED","TOKEN_PERMIT_NONCE_CONFLICT","TOKEN_PERMIT_NOT_RELAYABLE","TOKEN_PERMIT_SIGNING_PENDING","TOKEN_PERMIT_WALLET_UNAVAILABLE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14037","DALP-14038","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9496","DALP-9498","DALP-9499","DALP-9500"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_PERMIT_DEADLINE_EXPIRED","TOKEN_PERMIT_READ_REFUSED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-13001","DALP-14034","DALP-9326","DALP-9495","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TOKEN_PERMIT_FEATURE_UNAVAILABLE","TOKEN_PERMIT_PERSISTENCE_FAILED","TOKEN_PERMIT_SIGNING_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9501","DALP-9502","DALP-9505","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Relays a previously signed EIP-2612 permit on the attached permit feature so the spender allowance is set on-chain. Supply a stored permit identifier, an ECDSA v/r/s tuple, or a packed signature. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. Sign and store a permit first when you do not already have a signature.","summary":"Relay a signed permit","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"owner":{"$ref":"#/components/schemas/EvmAddress"},"spender":{"$ref":"#/components/schemas/EvmAddress"},"value":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"deadline":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"v":{"type":"number","enum":[27,28]},"r":{"$ref":"#/components/schemas/EthereumHashEncoded"},"s":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["owner","spender","value","deadline","v","r","s"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"owner":{"$ref":"#/components/schemas/EvmAddress"},"spender":{"$ref":"#/components/schemas/EvmAddress"},"value":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"deadline":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"signature":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]}},"required":["owner","spender","value","deadline","signature"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"signedPermitId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"required":["signedPermitId"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-9026","DALP-9027"]}},"/api/v2/tokens/{assetId}/features/permit/signatures":{"post":{"tags":["Token features"],"operationId":"v2/token/signPermit","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Stored EIP-2612 permit ready to relay. This write does not submit an on-chain permit transaction. Send data.id to the relay route.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"owner":{"$ref":"#/components/schemas/EvmAddress"},"spender":{"$ref":"#/components/schemas/EvmAddress"},"value":{"type":"string"},"deadline":{"type":"string"},"nonce":{"type":"string"},"signatureKind":{"type":"string","enum":["ecdsa","bytes"]},"status":{"type":"string","enum":["pending","relayed","expired"]},"createdAt":{"type":"string"}},"required":["id","tokenAddress","owner","spender","value","deadline","nonce","signatureKind","status","createdAt"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"c4e8d1a0-2b3c-4d5e-8f90-1a2b3c4d5e6f","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","owner":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","spender":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","value":"10000000000000000000000","deadline":"1743671561","nonce":"3","signatureKind":"ecdsa","status":"pending","createdAt":"2026-03-04T09:12:41.000Z"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/permit/signatures"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","TOKEN_PERMIT_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9497","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_PERMIT_ALREADY_RELAYED","TOKEN_PERMIT_CUSTODY_APPROVAL_CLOSED","TOKEN_PERMIT_NONCE_CONFLICT","TOKEN_PERMIT_NOT_RELAYABLE","TOKEN_PERMIT_SIGNING_PENDING","TOKEN_PERMIT_WALLET_UNAVAILABLE","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14037","DALP-14038","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9496","DALP-9498","DALP-9499","DALP-9500"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_PERMIT_DEADLINE_EXPIRED","TOKEN_PERMIT_READ_REFUSED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-13001","DALP-14034","DALP-9326","DALP-9495","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TOKEN_PERMIT_FEATURE_UNAVAILABLE","TOKEN_PERMIT_PERSISTENCE_FAILED","TOKEN_PERMIT_SIGNING_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9501","DALP-9502","DALP-9505","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Signs an EIP-2612 permit for the selected token and stores it for later relay. The write returns the stored permit, including its identifier and status. It does not submit an on-chain permit transaction and does not wait for a queue. Use the relay route with the returned identifier to set the spender allowance on-chain.","summary":"Sign and store a permit","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"externalMessageAuthorization":{"type":"object","properties":{"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signature"],"additionalProperties":false},"spender":{"$ref":"#/components/schemas/EvmAddress"},"value":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"deadline":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]}},"required":["spender","value","deadline"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"get":{"tags":["Tokens"],"operationId":"v2/token/signedPermits","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"nonce":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"owner":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"nonce","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"createdAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"owner","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of stored permit signatures. Default sort is nonce ascending. The list is indexed and does not relay a permit.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"owner":{"$ref":"#/components/schemas/EvmAddress"},"spender":{"$ref":"#/components/schemas/EvmAddress"},"value":{"type":"string","pattern":"^[0-9]+$"},"deadline":{"type":"string"},"nonce":{"type":"string","pattern":"^[0-9]+$"},"signatureKind":{"type":"string","enum":["ecdsa","bytes"]},"status":{"type":"string","enum":["pending","relayed","expired"]},"relayable":{"type":"boolean"},"relayedTxHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string"}},"required":["family","id","tokenAddress","owner","spender","value","deadline","nonce","signatureKind","status","relayable","relayedTxHash","createdAt"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"c4e8d1a0-2b3c-4d5e-8f90-1a2b3c4d5e6f","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","owner":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","spender":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","value":"10000000000000000000000","deadline":"1743671561","nonce":"3","signatureKind":"ecdsa","status":"pending","relayable":true,"relayedTxHash":null,"createdAt":"2026-03-04T09:12:41.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/permit/signatures?sort=nonce&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/permit/signatures?sort=nonce&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/permit/signatures?sort=nonce&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_PERMIT_READ_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-13001","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of pending, relayed, and expired permit signatures visible for the selected token. Page, filter, and sort with the shared collection parameters. Default sort is nonce ascending. `relayable` tells you whether the platform can still submit the signature. The list is indexed and does not relay a permit.","summary":"List signed permits","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/permit-info":{"get":{"tags":["Tokens"],"operationId":"v2/token/permitInfo","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"owner","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"Live permit domain data, wrapped in a single-resource envelope. `data` is null when the token has no permit feature.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"owner":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"nonce":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"domainSeparator":{"$ref":"#/components/schemas/EthereumHashEncoded"},"permitTypeHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"tokenName":{"anyOf":[{"type":"string"},{"type":"null"}]},"asOfBlockNumber":{"$ref":"#/components/schemas/BlockHeightEncoded"}},"required":["family","featureAddress","owner","nonce","domainSeparator","permitTypeHash","tokenName","asOfBlockNumber"],"additionalProperties":false},{"type":"null"}]},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"family":"evm","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","owner":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","nonce":"3","domainSeparator":"0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925","permitTypeHash":"0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9","tokenName":"Example Bond","asOfBlockNumber":"0"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/permit-info?owner=0x2546BcD3c84621e976D8185a91A922aE77ECEc30"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_PERMIT_READ_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-13001","DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Reads the permit feature on the active chain for the selected token. Returns the domain separator, permit type hash, and, when you send `owner`, that owner's current permit nonce. A missing token returns 404. A missing feature returns a null body. Nonce and domain values are live, not indexed. Use the nonce when you build the next permit signature.","summary":"Read permit information","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/permit/replay-history":{"get":{"tags":["Tokens"],"operationId":"v2/token/featurePermitReplayHistory","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"blockTime":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"owner":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"blockTime","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"owner","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of consumed permit nonces. Default sort is block time descending. Use this before you relay a signed permit.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"owner":{"$ref":"#/components/schemas/EvmAddress"},"nonce":{"type":"string","pattern":"^[0-9]+$"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"blockNumber":{"type":"string","pattern":"^[0-9]+$"},"blockTime":{"type":"string"}},"required":["family","owner","nonce","txHash","blockNumber","blockTime"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","owner":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","nonce":"2","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","blockNumber":"21450881","blockTime":"2026-03-04T09:12:41.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/permit/replay-history?sort=-blockTime&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/permit/replay-history?sort=-blockTime&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/permit/replay-history?sort=-blockTime&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed permit replay-protection records for the selected token. Each row is a nonce that has already been consumed on chain. Page and sort with the shared collection parameters. Default sort is block time descending. Use this before you relay a signed permit so you do not replay a spent nonce.","summary":"List permit replay history","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/register-lines/lines":{"get":{"tags":["Token features"],"operationId":"v2/token/registerLines","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"state":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"kind":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"holder":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"corrects":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"state","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"kind","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"holder","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"corrects","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"lineId":{"type":"string","pattern":"^[0-9]+$"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"type":"string","enum":["subscription","transfer","redemption"]},"state":{"type":"string","enum":["requested","booked","cancelled"]},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"registerReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"corrects":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"openedBy":{"$ref":"#/components/schemas/EvmAddress"},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"openedAt":{"type":"string"},"openedTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["lineId","tokenAddress","featureAddress","kind","state","from","to","amount","registerReference","corrects","openedBy","decidedBy","openedAt","openedTxHash","decidedAt","decidedTxHash"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}},"holder":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"string","pattern":"^[0-9]+$"},"locked":{"type":"string","pattern":"^[0-9]+$"},"available":{"type":"string","pattern":"^[0-9]+$"}},"required":["address","balance","locked","available"],"additionalProperties":false,"description":"The filtered holder's position: `locked` is the units held by their open transfer and redemption requests, and `available` is the spendable balance (the balance less frozen units) less `locked`."}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"lineId":"0","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"subscription","state":"requested","from":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","to":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","registerReference":"example","corrects":"0","openedBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","decidedBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","openedAt":"example","openedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000","decidedAt":"example","decidedTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"meta":{"total":0,"facets":{},"holder":{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","locked":"0","available":"0"}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Token features"],"operationId":"v2/token/registerLineRequest","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REGISTER_LINE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14096","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTER_LINE_OPERATION_REJECTED","REGISTER_LINE_SUBSCRIPTION_REQUEST_OPEN","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14058","DALP-14097","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_PARTICIPANT_RESTRICTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-14453","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["from","to","amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/register-lines/lines/{lineId}":{"get":{"tags":["Token features"],"operationId":"v2/token/registerLine","parameters":[{"name":"assetId","in":"path","schema":{"type":"string"},"required":true},{"name":"lineId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true}],"responses":{"200":{"description":"The register line.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"lineId":{"type":"string","pattern":"^[0-9]+$"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"type":"string","enum":["subscription","transfer","redemption"]},"state":{"type":"string","enum":["requested","booked","cancelled"]},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"registerReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"corrects":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"openedBy":{"$ref":"#/components/schemas/EvmAddress"},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"openedAt":{"type":"string"},"openedTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["lineId","tokenAddress","featureAddress","kind","state","from","to","amount","registerReference","corrects","openedBy","decidedBy","openedAt","openedTxHash","decidedAt","decidedTxHash"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"lineId":"7","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","kind":"subscription","state":"requested","from":"0x0000000000000000000000000000000000000000","to":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","amount":"1000000000000000000","registerReference":null,"corrects":null,"openedBy":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","decidedBy":null,"openedAt":"2026-01-15T10:00:00.000Z","openedTxHash":"0xabababababababababababababababababababababababababababababababab","decidedAt":null,"decidedTxHash":null},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/register-lines/lines/7"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REGISTER_LINE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-14096","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTER_LINE_OPERATION_REJECTED","REGISTER_LINE_SUBSCRIPTION_REQUEST_OPEN","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14058","DALP-14097","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one register line of the token: its kind, parties, amount, state, and the booking reference once booked. The read is indexed and does not touch the chain.","summary":"Read a register line","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/register-lines/bookings":{"post":{"tags":["Token features"],"operationId":"v2/token/registerLineBook","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REGISTER_LINE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14096","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTER_LINE_OPERATION_REJECTED","REGISTER_LINE_SUBSCRIPTION_REQUEST_OPEN","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14058","DALP-14097","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"lineId":{"type":"string","pattern":"^[0-9]+$"},"registerReference":{"type":"string","minLength":1},"from":{"not":{}},"to":{"not":{}},"amount":{"not":{}},"corrects":{"not":{}}},"required":["lineId","registerReference"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"lineId":{"not":{}},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^[0-9]+$"}},"required":["from","to","amount","registerReference"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/register-lines/lines/{lineId}/cancellations":{"post":{"tags":["Token features"],"operationId":"v2/token/registerLineCancel","parameters":[{"name":"assetId","in":"path","schema":{"type":"string"},"required":true},{"name":"lineId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REGISTER_LINE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14096","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTER_LINE_OPERATION_REJECTED","REGISTER_LINE_SUBSCRIPTION_REQUEST_OPEN","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14058","DALP-14097","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/register-lines/settings":{"put":{"tags":["Token features"],"operationId":"v2/token/registerLineSettings","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REGISTER_LINE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14096","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTER_LINE_OPERATION_REJECTED","REGISTER_LINE_SUBSCRIPTION_REQUEST_OPEN","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14058","DALP-14097","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"requestableKinds":{"type":"array","items":{"type":"string","enum":["subscription","transfer","redemption"]},"maxItems":3}},"required":["requestableKinds"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/register-lines/preflights":{"post":{"tags":["Token features"],"operationId":"v2/token/registerLinePreflight","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"The register-line write would be accepted now. Nothing was signed or queued. The refusals it can return are the ones the write returns for the same state, so a write that is cleared here can still be refused if the state changes before it is sent.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterLinePreflightOutputSchema"},"examples":{"example-1":{"value":{"data":{"action":"request","clears":true},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REGISTER_LINE_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14096","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REGISTER_LINE_OPERATION_REJECTED","REGISTER_LINE_SUBSCRIPTION_REQUEST_OPEN","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14058","DALP-14097","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_PARTICIPANT_RESTRICTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-14453","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterLinePreflightBody"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/redemption-requests":{"get":{"tags":["Token features"],"operationId":"v2/token/redemptionRequests/list","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"dealingDay":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"holder":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"dealingDay","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"holder","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of redemption requests.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RedemptionRequest"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","amount":"250000000000000000000","status":"settled","dealingDay":"2026-10-21","cutOffAt":"2026-10-21T12:00:00.000Z","createdAt":"2026-10-20T13:05:00.000Z","cancelledAt":null,"settlementId":"0198f1c4-9a1b-7c2d-8e3f-5a6b7c8d9e0f","corporateActionId":"0198f1c4-9a1c-7d3e-9f40-6b7c8d9e0f1a","nav":{"price":"1.2345","currency":"USD"},"pricePerUnit":"1234500","denominationAsset":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","cash":"308625000","transactionHash":"0x7d2a9c4e6b8f1a3c5e7d9b2f4a6c8e0b1d3f5a7c9e1b3d5f7a9c1e3b5d7f9a2c","settledAt":"2026-10-21T15:40:00.000Z","rejectedAt":null,"rejectionReason":null}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/redemption-requests?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50&filter%5BdealingDay%5D=2026-10-21&filter%5Bstatus%5D=settled","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/redemption-requests?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50&filter%5BdealingDay%5D=2026-10-21&filter%5Bstatus%5D=settled","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/redemption-requests?sort=-createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50&filter%5BdealingDay%5D=2026-10-21&filter%5Bstatus%5D=settled"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9244","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the token's redemption requests, newest first. A caller who holds the token's supply management role sees every request; any other caller sees only the requests of their own wallets. Filter by `dealingDay` (YYYY-MM-DD), by `status` (`open`, `cancelled`, `settling`, `settled` or `rejected`) and by `holder` (a wallet address; a caller without the role who names a wallet that is not their own gets an empty page). A request that a settlement took shows the NAV, the price per unit, the stablecoin and the cash it receives. The transaction hash and the time of payment appear once the payment is on the chain. A rejected request shows the reason and the time.","summary":"List redemption requests","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Token features"],"operationId":"v2/token/redemptionRequests/create","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"201":{"description":"The recorded redemption request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedemptionRequest"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","amount":"250000000000000000000","status":"open","dealingDay":"2026-10-21","cutOffAt":"2026-10-21T12:00:00.000Z","createdAt":"2026-10-20T13:05:00.000Z","cancelledAt":null,"settlementId":null,"corporateActionId":null,"nav":null,"pricePerUnit":null,"denominationAsset":null,"cash":null,"transactionHash":null,"settledAt":null,"rejectedAt":null,"rejectionReason":null},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/redemption-requests"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REDEMPTION_REQUEST_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14074","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REDEMPTION_REQUEST_CURRENCY_MISMATCH","REDEMPTION_REQUEST_CUT_OFF_PASSED","REDEMPTION_REQUEST_EXCEEDS_AVAILABLE_UNITS","REDEMPTION_REQUEST_HOLDER_NOT_CALLER","REDEMPTION_REQUEST_IDEMPOTENCY_KEY_REUSED","REDEMPTION_REQUEST_NAV_UNAVAILABLE","REDEMPTION_REQUEST_NOT_A_DEALING_DAY","REDEMPTION_REQUEST_NOT_OPEN","REDEMPTION_REQUEST_NO_OPEN_REQUESTS","REDEMPTION_REQUEST_REQUESTS_CHANGED","REDEMPTION_REQUEST_SETTLEMENT_KEY_REUSED","REDEMPTION_REQUEST_STABLECOIN_UNSUPPORTED","REDEMPTION_REQUEST_TOKEN_NOT_REDEEMABLE","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14075","DALP-14076","DALP-14077","DALP-14078","DALP-14079","DALP-14080","DALP-14098","DALP-14099","DALP-14100","DALP-14101","DALP-14102","DALP-14103","DALP-14104","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records a request to redeem units of a fund token on a dealing day. Dealing days run Monday to Friday by UTC date, with a cut-off at 12:00 UTC: a request at or after the cut-off, or on a weekend, joins the next weekday. The amount may not exceed the wallet's available units less its open requests on the token. The request moves no units and locks none. Needs wallet verification. Send an `Idempotency-Key` header so that a retry returns the same request instead of recording a second one.","summary":"Request a redemption","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$"},"holder":{"$ref":"#/components/schemas/EvmAddress"}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-14075","DALP-14076","DALP-14077","DALP-14080"]}},"/api/v2/tokens/{assetId}/redemption-requests/{requestId}/cancellations":{"post":{"tags":["Token features"],"operationId":"v2/token/redemptionRequests/cancellations/create","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"requestId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Redemption request identifier (UUID).","examples":["0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The cancelled redemption request.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedemptionRequest"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","token":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","amount":"250000000000000000000","status":"cancelled","dealingDay":"2026-10-21","cutOffAt":"2026-10-21T12:00:00.000Z","createdAt":"2026-10-20T13:05:00.000Z","cancelledAt":"2026-10-21T08:30:00.000Z","settlementId":null,"corporateActionId":null,"nav":null,"pricePerUnit":null,"denominationAsset":null,"cash":null,"transactionHash":null,"settledAt":null,"rejectedAt":null,"rejectionReason":null},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/redemption-requests/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/cancellations"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REDEMPTION_REQUEST_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14074","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REDEMPTION_REQUEST_CURRENCY_MISMATCH","REDEMPTION_REQUEST_CUT_OFF_PASSED","REDEMPTION_REQUEST_EXCEEDS_AVAILABLE_UNITS","REDEMPTION_REQUEST_HOLDER_NOT_CALLER","REDEMPTION_REQUEST_IDEMPOTENCY_KEY_REUSED","REDEMPTION_REQUEST_NAV_UNAVAILABLE","REDEMPTION_REQUEST_NOT_A_DEALING_DAY","REDEMPTION_REQUEST_NOT_OPEN","REDEMPTION_REQUEST_NO_OPEN_REQUESTS","REDEMPTION_REQUEST_REQUESTS_CHANGED","REDEMPTION_REQUEST_SETTLEMENT_KEY_REUSED","REDEMPTION_REQUEST_STABLECOIN_UNSUPPORTED","REDEMPTION_REQUEST_TOKEN_NOT_REDEEMABLE","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14075","DALP-14076","DALP-14077","DALP-14078","DALP-14079","DALP-14080","DALP-14098","DALP-14099","DALP-14100","DALP-14101","DALP-14102","DALP-14103","DALP-14104","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Cancels one of the caller's own open redemption requests before its cut-off. A request that does not belong to one of the caller's wallets reads as not found. A request that is already cancelled, or whose cut-off has passed, is refused. Needs wallet verification.","summary":"Cancel a redemption request","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-14074","DALP-14078","DALP-14079"]}},"/api/v2/tokens/{assetId}/redemption-settlements":{"post":{"tags":["Token features"],"operationId":"v2/token/redemptionSettlements/create","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"201":{"description":"The settlement summary: the NAV that priced the day, the drafted corporate action, and the holder, request, unit and cash totals.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/RedemptionSettlementSummary"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-9a1b-7c2d-8e3f-5a6b7c8d9e0f","dealingDay":"2026-10-21","denominationAsset":"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48","payingTreasury":"0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC","nav":{"price":"1.2345","currency":"USD","feed":"0x5FbDB2315678afecb367f032d93F642f64180aa3","blockTime":"2026-10-21T13:05:00.000Z","transactionHash":"0x4f1c8a7b2d9e3f605a1b7c8d2e4f6a8b0c1d3e5f7a9b1c2d4e6f8a0b2c4d6e8f","logIndex":3},"pricePerUnit":"1234500","corporateActionId":"0198f1c4-9a1c-7d3e-9f40-6b7c8d9e0f1a","holderCount":3,"settlingCount":3,"rejectedCount":1,"unitsTotal":"400000000000000000000","cashTotal":"493800000"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/redemption-settlements"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REDEMPTION_REQUEST_CURRENCY_MISMATCH","REDEMPTION_REQUEST_CUT_OFF_PASSED","REDEMPTION_REQUEST_EXCEEDS_AVAILABLE_UNITS","REDEMPTION_REQUEST_HOLDER_NOT_CALLER","REDEMPTION_REQUEST_IDEMPOTENCY_KEY_REUSED","REDEMPTION_REQUEST_NAV_UNAVAILABLE","REDEMPTION_REQUEST_NOT_A_DEALING_DAY","REDEMPTION_REQUEST_NOT_OPEN","REDEMPTION_REQUEST_NO_OPEN_REQUESTS","REDEMPTION_REQUEST_REQUESTS_CHANGED","REDEMPTION_REQUEST_SETTLEMENT_KEY_REUSED","REDEMPTION_REQUEST_STABLECOIN_UNSUPPORTED","REDEMPTION_REQUEST_TOKEN_NOT_REDEEMABLE","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14075","DALP-14076","DALP-14077","DALP-14078","DALP-14079","DALP-14080","DALP-14098","DALP-14099","DALP-14100","DALP-14101","DALP-14102","DALP-14103","DALP-14104","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9244","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Settles the redemption requests of a dealing day at the fund's net asset value (NAV). The settlement takes every open request up to and including the dealing day and prices all of them at one NAV: the latest value the fund's price feed published from the dealing day's cut-off up to the next dealing day's cut-off. Once a request of the day is paid, a later settlement of the same day keeps that NAV. It drafts one buyback corporate action that burns the units and pays each holder in the stablecoin from the paying treasury. A request the settlement cannot pay is rejected with a reason. The corporate action then goes through preview, approval by a second person, and confirmation, as any buyback does. Needs the token's supply management role and wallet verification. Send an `Idempotency-Key` header so that a retry returns the same settlement instead of drafting a second action.","summary":"Settle a dealing day","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"dealingDay":{"$ref":"#/components/schemas/RedemptionDealingDay_1"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"payingTreasury":{"$ref":"#/components/schemas/EvmAddress"}},"required":["dealingDay","denominationAsset","payingTreasury"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-14076","DALP-14098","DALP-14099","DALP-14100","DALP-14101","DALP-14102","DALP-14103","DALP-14104"]}},"/api/v2/tokens/{assetId}/features/voting-power/delegations":{"post":{"tags":["Governance"],"operationId":"v2/token/delegate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","VOTING_OPERATION_REJECTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9166","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Delegates the caller's voting power on the attached voting-power feature to another address. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, later votes use the delegatee's power.","summary":"Delegate voting power","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"delegatee":{"$ref":"#/components/schemas/EvmAddress"}},"required":["delegatee"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/voting-delegations":{"get":{"tags":["Governance"],"operationId":"v2/token/votingDelegations","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"account":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"delegate":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"isActive":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"delegatedBlockNumber":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"delegatedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"fromDelegate":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"toDelegate":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"account","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"delegate","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"isActive","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"delegatedBlockNumber","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"delegatedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"fromDelegate","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"toDelegate","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed voting-power delegations. Each row is a delegation from one account to another, including whether it is still active. Default sort is delegation time descending.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"delegator":{"$ref":"#/components/schemas/EvmAddress"},"fromDelegate":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"toDelegate":{"$ref":"#/components/schemas/EvmAddress"},"delegatedAt":{"type":"string"},"delegatedBlockNumber":{"type":"string","pattern":"^[0-9]+$"},"delegatedTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"delegatedLogIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"undelegatedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"undelegatedBlockNumber":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"undelegatedTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"undelegatedLogIndex":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"isActive":{"type":"boolean"}},"required":["family","id","delegator","fromDelegate","toDelegate","delegatedAt","delegatedBlockNumber","delegatedTxHash","delegatedLogIndex","undelegatedAt","undelegatedBlockNumber","undelegatedTxHash","undelegatedLogIndex","isActive"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F-0x8ba1f109551bD432803012645Ac136ddd64DBA72-0x2546BcD3c84621e976D8185a91A922aE77ECEc30","delegator":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","fromDelegate":null,"toDelegate":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","delegatedAt":"2026-03-04T09:12:41.000Z","delegatedBlockNumber":"21450881","delegatedTxHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","delegatedLogIndex":2,"undelegatedAt":null,"undelegatedBlockNumber":null,"undelegatedTxHash":null,"undelegatedLogIndex":null,"isActive":true}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-delegations?sort=-delegatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-delegations?sort=-delegatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-delegations?sort=-delegatedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed voting-power delegation history for the selected token. Each row is a delegation from one account to another, including whether it is still active. Page and filter with the shared collection parameters. Default sort is delegation time descending. The token must have voting power attached.","summary":"List voting delegations","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/voting-power/distribution":{"get":{"tags":["Governance"],"operationId":"v2/token/votingPowerDistribution","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"topN","in":"query","schema":{"type":"integer","minimum":1,"maximum":200},"required":false}],"responses":{"200":{"description":"Current indexed voting-power distribution. The top `topN` holders appear individually; remaining votes go into `other`.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"topN":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalVotes":{"$ref":"#/components/schemas/BigDecimal"},"totalVotesExact":{"type":"string","pattern":"^[0-9]+$"},"holders":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"votes":{"$ref":"#/components/schemas/BigDecimal"},"votesExact":{"type":"string","pattern":"^[0-9]+$"},"progress":{"$ref":"#/components/schemas/MeterProgress"}},"required":["account","votes","votesExact","progress"],"additionalProperties":false}},"other":{"type":"object","properties":{"holders":{"type":"integer","minimum":0,"maximum":9007199254740991},"votes":{"$ref":"#/components/schemas/BigDecimal"},"votesExact":{"type":"string","pattern":"^[0-9]+$"},"progress":{"$ref":"#/components/schemas/MeterProgress"}},"required":["holders","votes","votesExact","progress"],"additionalProperties":false}},"required":["family","total","topN","totalVotes","totalVotesExact","holders","other"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"family":"evm","total":12,"topN":50,"totalVotes":"2500000.00","totalVotesExact":"2500000000000000000000000","holders":[{"account":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","votes":"25000.00","votesExact":"25000000000000000000000","progress":{"value":0.01,"max":1}}],"other":{"holders":11,"votes":"2475000.00","votesExact":"2475000000000000000000000","progress":{"value":0.99,"max":1}}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-power/distribution?topN=50"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the current indexed voting-power distribution for the selected token. The top `topN` holders appear individually; remaining votes go into `other`. The token must have voting power attached. Use snapshot weights when you need votes at a past block.","summary":"Read voting-power distribution","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/voting-power/snapshot-weights":{"get":{"tags":["Governance"],"operationId":"v2/token/votingPowerSnapshotWeights","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"account":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"account","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"block","in":"query","schema":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]},"required":true}],"responses":{"200":{"description":"One page of indexed voting-power weights at the requested block. Filter `account` only with `eq`. Default sort is exact votes descending.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"account":{"$ref":"#/components/schemas/EvmAddress"},"votes":{"$ref":"#/components/schemas/BigDecimal"},"votesExact":{"type":"string","pattern":"^[0-9]+$"},"asOfBlockNumber":{"type":"string","pattern":"^[0-9]+$"},"asOfBlockTimestamp":{"type":"string"},"asOfTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"asOfLogIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","account","votes","votesExact","asOfBlockNumber","asOfBlockTimestamp","asOfTxHash","asOfLogIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"family":"evm","account":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","votes":"25000.00","votesExact":"25000000000000000000000","asOfBlockNumber":"21450881","asOfBlockTimestamp":"2026-03-04T09:12:41.000Z","asOfTxHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","asOfLogIndex":2}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-power/snapshot-weights?block=21450881&sort=-votesExact&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-power/snapshot-weights?block=21450881&sort=-votesExact&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/voting-power/snapshot-weights?block=21450881&sort=-votesExact&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_LIST_METADATA_KEY_IDENTIFIER_INELIGIBLE","TOKEN_LIST_METADATA_KEY_NOT_BUCKETABLE","TOKEN_LIST_METADATA_KEY_UNKNOWN","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0645","DALP-0646","DALP-0647","DALP-12299","DALP-12308","DALP-14261","DALP-14265","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9326"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","DATABASE_QUERY_REFUSED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","TOKEN_FEATURES_UNAVAILABLE","TOKEN_READ_DEPENDENCY_FAILED","WALLET_RESOLUTION_INVALID","core.database.QUERY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-12148","DALP-12307","DALP-14273","DALP-14276","DALP-9259"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.database.QUERY_FAILED","status":503,"message":"A database query failed","data":{"id":"DALP-12148","why":"The platform could not complete a database query required for this request.","fix":"Retry the request. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed voting-power weights at the requested `block` for the selected token. Filter `account` only with `eq`. Default sort is exact votes descending. The token must have voting power attached. Use this when you need the electorate at a past block.","summary":"List voting snapshot weights","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/dividend-yield/class-b-call-amount":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/classBCallAmount","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"callDate","in":"query","schema":{"type":"string","description":"The date the issuer calls Class B.","examples":["2028-01-01"],"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"required":true},{"name":"issueDate","in":"query","schema":{"type":"string","description":"The date the Class B shares were issued.","examples":["2026-01-01"],"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"required":true},{"name":"issuePrice","in":"query","schema":{"type":"string","pattern":"^[0-9]+$","description":"Issue price per share in the smallest unit of the denomination asset.","examples":["100000000"]},"required":true},{"name":"targetReturnBps","in":"query","schema":{"type":"string","pattern":"^[0-9]+$","description":"Target Return per annum in basis points; 7.5% is 750.","examples":["750"]},"required":true},{"name":"addOnBps","in":"query","schema":{"type":"string","pattern":"^[0-9]+$","description":"Add-on over the Target Return in basis points per annum; defaults to 100 (1%).","examples":["100"]},"required":false},{"name":"denominationAsset","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"callable":{"type":"boolean","description":"False when no call price is due because distributions already met the target return."},"annualRateBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"holdingDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"convention":{"type":"object","properties":{"dayCount":{"type":"string","enum":["actual/365"]},"compounding":{"type":"string","enum":["annual"]}},"required":["dayCount","compounding"],"additionalProperties":false},"inputs":{"type":"object","properties":{"issuePrice":{"type":"string","pattern":"^[0-9]+$"},"issueDate":{"type":"string","description":"A calendar date as YYYY-MM-DD.","examples":["2028-01-01"],"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"callDate":{"type":"string","description":"A calendar date as YYYY-MM-DD.","examples":["2028-01-01"],"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"targetReturnBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"addOnBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"distributions":{"type":"array","items":{"type":"object","properties":{"dividendId":{"type":"string"},"paidOn":{"type":"string","description":"A calendar date as YYYY-MM-DD.","examples":["2028-01-01"],"pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"perShare":{"type":"string","pattern":"^[0-9]+$"}},"required":["dividendId","paidOn","perShare"],"additionalProperties":false}}},"required":["issuePrice","issueDate","callDate","targetReturnBps","addOnBps","distributions"],"additionalProperties":false}},"required":["tokenAddress","denominationAsset","pricePerUnit","callable","annualRateBps","holdingDays","convention","inputs"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","pricePerUnit":"0","callable":false,"annualRateBps":0,"holdingDays":0,"convention":{"dayCount":"actual/365","compounding":"annual"},"inputs":{"issuePrice":"0","issueDate":"2028-01-01","callDate":"2028-01-01","targetReturnBps":0,"addOnBps":0,"distributions":[{"dividendId":"example","paidOn":"2028-01-01","perShare":"0"}]}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/denomination-eligibility":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/dividendDenominationEligibility","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Payout eligibility on the denomination asset for the instrument's holders, treasury, and venue fee accounts. Advisory: the denomination asset's compliance modules remain the authorization layer.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"complianceContract":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"status":{"type":"string","enum":["clear","ineligible","indeterminate"]},"retryable":{"type":"boolean"},"checkedCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"ineligibleCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"indeterminateCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"holdersTruncated":{"type":"boolean"},"parties":{"type":"array","items":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","enum":["holder","treasury","venue-fee-account"]},"status":{"type":"string","enum":["eligible","ineligible","indeterminate"]},"reason":{"type":"string"}},"required":["address","role","status","reason"],"additionalProperties":false}}},"required":["tokenAddress","featureAddress","denominationAsset","complianceContract","status","retryable","checkedCount","ineligibleCount","indeterminateCount","holdersTruncated","parties"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","denominationAsset":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","complianceContract":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","status":"ineligible","retryable":false,"checkedCount":3,"ineligibleCount":1,"indeterminateCount":0,"holdersTruncated":false,"parties":[{"address":"0x2546BcD3c84621e976D8185a91A922aE77ECEc30","role":"treasury","status":"eligible","reason":""},{"address":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","role":"holder","status":"eligible","reason":""},{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"holder","status":"ineligible","reason":"Receiver country not allowed"}]},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/dividend-yield/denomination-eligibility"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Evaluates the denomination asset's own compliance against the instrument's holders, the paying treasury, and any venue fee account, and names every party that could not receive the payout. Read this before you declare a dividend: a declared dividend can be cancelled only until its record-date snapshot is recorded, and without the preflight an ineligible party only surfaces at claim time. The caller must hold the role that may declare a payout, because the response carries per-holder regulatory status. The verdict is advisory. The denomination asset's compliance modules remain the authorization layer, and a party whose chain answer could not be read is reported as indeterminate with retryable true rather than blocking the declaration.","summary":"Preflight denomination-asset payout eligibility","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/declareDividend","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14021","DALP-14043","DALP-14044","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Declares a dividend on the attached dividend-yield feature. Holders who owned tokens before the ex-dividend date become eligible at the record date. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, preview the snapshot, fund any denomination shortfall, then confirm the snapshot before holders claim. A Canton body runs `DividendYield_OpenDistribution` against the attached `DividendYield` contract named by `dividendYieldContractId`.","summary":"Declare a dividend","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"exDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"recordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"paymentDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"claimDeadline":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]},"countryCode":{"type":"string","pattern":"^[A-Za-z]{2}$"}},"required":["amountPerShare","exDate","recordDate","paymentDate","countryCode"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"dividendYieldContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."},"period":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$","description":"Daml integer, as an exact decimal string."},"recordAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"Daml time, as a UTC instant with at most microsecond precision."},"recordWindow":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},"claimUntil":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"Daml time, as a UTC instant with at most microsecond precision."},"amountPerUnit":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$","description":"Daml decimal, as an exact decimal string with at most ten fractional digits."}},"required":["cantonPartyId","instrumentAdmin","dividendYieldContractId","period","recordAt","recordWindow","claimUntil","amountPerUnit"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"get":{"tags":["Yield and distributions"],"operationId":"v2/token/listDividends","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"dividendId":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"dividendId","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"paymentDate","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"One page of dividends for the selected token's attached dividend-yield feature. Use a row's dividend identifier for snapshot, claim, top-up, or reclaim calls.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"scheduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["address","symbol","decimals"],"additionalProperties":false},"dividendId":{"type":"string","pattern":"^[0-9]+$"},"amountPerShareExact":{"type":"string","pattern":"^[0-9]+$"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"claimDeadline":{"type":"string"},"kind":{"$ref":"#/components/schemas/DividendKind"},"status":{"type":"string","enum":["declared","recorded","payable","paid","cancelled","unknown"]},"statusCode":{"type":"integer","minimum":0,"maximum":9007199254740991},"merkleRoot":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"totalEntitled":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"totalRequiredExact":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"totalClaimedExact":{"type":"string","pattern":"^[0-9]+$"},"outstandingExact":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"declaredAt":{"type":"string"},"recordedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tokenAddress","featureAddress","scheduleAddress","denominationAsset","dividendId","amountPerShareExact","exDate","recordDate","paymentDate","claimDeadline","kind","status","statusCode","merkleRoot","totalEntitled","totalRequiredExact","totalClaimedExact","outstandingExact","declaredAt","recordedAt"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","scheduleAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","denominationAsset":{"address":"0x5FbDB2315678afecb367f032d93F642f64180aa3","symbol":"EURC","decimals":6},"dividendId":"1","amountPerShareExact":"50000","exDate":"2026-01-01T00:00:00.000Z","recordDate":"2026-01-02T00:00:00.000Z","paymentDate":"2026-01-03T00:00:00.000Z","claimDeadline":"2026-04-03T00:00:00.000Z","kind":"regular","status":"payable","statusCode":2,"merkleRoot":"0xabcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789","totalEntitled":"128","totalRequiredExact":"2500000000","totalClaimedExact":"1000000000","outstandingExact":"1500000000","declaredAt":"2025-12-15T09:12:41.000Z","recordedAt":"2026-01-02T00:05:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/dividend-yield/dividends","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/dividend-yield/dividends","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/dividend-yield/dividends"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of dividends for the selected token's attached dividend-yield feature. Each row includes dates, status, Merkle root, and funding figures. Default sort is payment date descending. The list is indexed and idempotent. Use a row's dividend identifier for snapshot, claim, top-up, or reclaim calls.","summary":"List dividends","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends/{dividendId}/snapshot":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/recordDividendSnapshot","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"dividendId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"HTTP 200 is either a snapshot preview or a settled record. Without confirm true, the body is a preview: stage is preview, no transaction is queued, and ready is true only after indexed holder balances at the record date produce a Merkle root. Echo rootPreview as merkleRoot with totalEntitled and totalRequired on the next call with confirm true. If ready is false, wait for record-date finality and call again without confirm. With confirm true and Prefer: wait, the body is the settled token mutation envelope after recordSnapshot is on-chain; holders can then read their proof and claim. A confirm that is still queued answers 202 instead.","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"stage":{"type":"string","enum":["preview"]},"ready":{"type":"boolean"},"notReadyReason":{"type":"string","enum":["awaiting_finality","not_computed"]},"rootPreview":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"totalEntitled":{"type":"string","pattern":"^[0-9]+$"},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalRequired":{"type":"string","pattern":"^[0-9]+$"},"denomBalanceAtRecord":{"type":"string","pattern":"^[0-9]+$"},"shortfall":{"type":"string","pattern":"^[0-9]+$"},"treasuryUnitsExcluded":{"type":"string","pattern":"^[0-9]+$"}},"required":["stage","ready","rootPreview","totalEntitled","holderCount","totalRequired","denomBalanceAtRecord","shortfall","treasuryUnitsExcluded"],"additionalProperties":false},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"stage":"preview","ready":true,"rootPreview":"0xabcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789","totalEntitled":"128","holderCount":128,"totalRequired":"2500000000","denomBalanceAtRecord":"2500000000","shortfall":"0","treasuryUnitsExcluded":"1000000000000000000000"}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14043","DALP-14044","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Without confirm true, returns a snapshot preview and does not queue a transaction. The preview is computed from indexed holder balances at the record date. With confirm true, records the reviewed Merkle root on-chain so holders can later claim. Confirm requires merkleRoot, totalEntitled, and totalRequired from the preview. Prefer: wait=<seconds> waits for settlement of the confirm path. If the preview is not ready, wait and call again without confirm.","summary":"Preview or record a dividend snapshot","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"confirm":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"merkleRoot":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"totalEntitled":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"totalRequired":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends/{dividendId}/claims":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/claimDividend","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"dividendId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenRecord"},{"$ref":"#/components/schemas/CantonArmSettledResult"}]},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CANTON_TOKEN_OPERATION_REQUEST_INVALID","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","INVALID_REQUEST_NETWORK_IDENTITY","REQUEST_CHAIN_SCOPE_CONFLICT","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14265","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9330","DALP-9430","DALP-9432","DALP-9810"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CANTON_PROVIDER_SIGNING_DENIED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9315","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_PARTY_WALLET_NOT_FOUND","CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9311","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_PARTY_WALLET_NOT_FOUND","status":404,"message":"The Canton party wallet was not found","data":{"id":"DALP-9311","why":"No Canton party wallet, or no contract or instrument the write names, is visible to the active organisation.","fix":"Use a wallet id from the wallets list of the active organization.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_COMMAND_NO_LONGER_APPLIES","CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9314","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_COMMAND_NO_LONGER_APPLIES","status":409,"message":"The approved Canton command no longer applies","data":{"id":"DALP-9314","why":"The DAML command was approved, then the target contract or ledger state changed so the same command cannot settle.","fix":"Submit a new command. The existing approval is not reopened.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CANTON_NETWORK_NOT_CONFIGURED","CANTON_PROVIDER_CONFIGURATION_MISSING","CANTON_SUBMISSION_REJECTED","CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12234","DALP-14034","DALP-14434","DALP-9313","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CANTON_NETWORK_NOT_CONFIGURED","status":422,"message":"No Canton participant network is configured","data":{"id":"DALP-9313","why":"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.","fix":"Ask an operator to add a Canton network to the platform configuration, then retry.","retryable":false,"category":"domain"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","CANTON_SUBMISSION_FAILED","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-9318"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Claims the named dividend for the authenticated holder after the snapshot is recorded and the payment date is open. Read the caller's proof first to confirm entitlement. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. A Canton body runs `YieldDistribution_Claim` against the `YieldDistribution` contract the body names.","summary":"Claim a dividend","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"distributionContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."},"snapshotContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."},"accountOwnerParty":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"accountId":{"type":"string","description":"Account of the owner party this operation acts on. An empty string selects the unnamed account."},"rulesContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as a platform read returned it."}},"required":["cantonPartyId","instrumentAdmin","distributionContractId","snapshotContractId","accountOwnerParty","rulesContractId"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}]}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/entitlements/push":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/pushEntitlements","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"stage":{"type":"string","enum":["preview"]},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAmountExact":{"type":"string","pattern":"^[0-9]+$"},"skippedClaimed":{"type":"integer","minimum":0,"maximum":9007199254740991},"skipped":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"type":"string","enum":["claimed","frozen","identity","payout"]}},"required":["holder","reason"],"additionalProperties":false}},"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"required":["stage","holderCount","totalAmountExact","skippedClaimed","skipped","remaining","approvalId"],"additionalProperties":false},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"stage":"preview","holderCount":0,"totalAmountExact":"0","skippedClaimed":0,"skipped":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","reason":"claimed"}],"remaining":0,"approvalId":"00000000-0000-7000-8000-000000000000"}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"dividendId":{"type":"string","pattern":"^[0-9]+$"},"featureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"preview":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"approvalId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"maxHolders":{"anyOf":[{"type":"integer","minimum":1,"maximum":100},{"type":"null"}]}},"required":["dividendId"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends/{dividendId}/transitions":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/dividendTransition","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"dividendId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14043","DALP-14044","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"transition":{"type":"string","enum":["cancel"]}},"required":["transition"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends/{dividendId}/reclaim":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/reclaimDividend","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"dividendId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends/{dividendId}/top-ups":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/topUpDividendDenomination","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"dividendId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the yield write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Transfers denomination assets from the caller to the treasury address that pays dividends on the attached dividend-yield feature. The treasury still has to approve the feature as a spender before holders can claim. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Top up a dividend denomination","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/dividend-yield/dividends/{dividendId}/proofs/me":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/dividendProofMe","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"dividendId","in":"path","schema":{"type":"string","pattern":"^[0-9]+$"},"required":true},{"name":"featureAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":false}],"responses":{"200":{"description":"Indexed Merkle proof the authenticated holder uses to claim the named dividend. Call this after the snapshot is recorded and before you claim.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"scheduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","pattern":"^[0-9]+$"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"leafIndex":{"type":"string","pattern":"^[0-9]+$"},"amountExact":{"type":"string","pattern":"^[0-9]+$"},"proof":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"computedAtBlock":{"type":"string","pattern":"^[0-9]+$"},"computedAt":{"type":"string"},"funded":{"type":"boolean"}},"required":["tokenAddress","featureAddress","scheduleAddress","dividendId","holder","leafIndex","amountExact","proof","computedAtBlock","computedAt","funded"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","scheduleAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","dividendId":"1","holder":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","leafIndex":"17","amountExact":"1250000","proof":["0xabcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789"],"computedAtBlock":"21450000","computedAt":"2026-01-02T00:05:00.000Z","funded":true},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/dividend-yield/dividends/1/proofs/me"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the authenticated holder's persisted Merkle proof leaf for the named dividend. The proof is what the claim path consumes. The read is indexed and idempotent. Call this after the snapshot is recorded and before you claim.","summary":"Read the caller's dividend proof","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/dividend-yield/holder-position":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/dividendHolderPosition","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Indexed aggregate dividend-claim state for the authenticated holder on this token's dividend-yield feature.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"scheduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"totalClaimedExact":{"type":"string","pattern":"^[0-9]+$"},"lastClaimedAtBlock":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"lastClaimedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tokenAddress","featureAddress","scheduleAddress","holder","totalClaimedExact","lastClaimedAtBlock","lastClaimedAt"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","scheduleAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","holder":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","totalClaimedExact":"125000000","lastClaimedAtBlock":"21450881","lastClaimedAt":"2026-03-04T09:12:41.000Z"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/dividend-yield/holder-position"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the authenticated holder's aggregate claim state across dividends on this token's attached dividend-yield feature, including total claimed and the last claim time. The read is indexed and idempotent. Use list dividends and the per-dividend proof to inspect a single dividend.","summary":"Read the caller's dividend position","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/issuer-stats":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/issuerStats","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"feature","in":"query","schema":{"type":"string","enum":["dividend-yield","interest-yield"]},"required":true},{"name":"excludeDividend","in":"query","schema":{"type":"string","pattern":"^[0-9]+$"},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"feature":{"type":"string","enum":["dividend-yield"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"stillClaimableExact":{"type":"string","pattern":"^[0-9]+$"},"expiredReclaimableExact":{"type":"string","pattern":"^[0-9]+$"},"funding":{"anyOf":[{"$ref":"#/components/schemas/FundingCoverage"},{"type":"null"}]}},"required":["feature","tokenAddress","featureAddress","stillClaimableExact","expiredReclaimableExact","funding"],"additionalProperties":false},{"type":"object","properties":{"feature":{"type":"string","enum":["interest-yield"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"pendingExact":{"type":"string","pattern":"^[0-9]+$"},"asOf":{"type":"string"},"paused":{"type":"boolean"},"funding":{"anyOf":[{"$ref":"#/components/schemas/FundingCoverage"},{"type":"null"}]}},"required":["feature","tokenAddress","featureAddress","pendingExact","asOf","paused","funding"],"additionalProperties":false}]},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"feature":"dividend-yield","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","stillClaimableExact":"0","expiredReclaimableExact":"0","funding":{"available":"0","outstanding":"0","projected":"0","coverageBps":0,"status":"covered","limitedBy":"balance","measuredAt":"example"}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/interest-yield/claims":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/claimInterest","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the token an EVM write moved, or the Canton operation a Canton write submitted.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Claims accrued interest for the authenticated holder on the attached interest-yield feature. Read the holder's interest position first to see accruedExact. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. A Canton body runs `YieldDistribution_Claim` against the `YieldDistribution` contract the body names.","summary":"Claim accrued interest","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4531"]}},"/api/v2/tokens/{assetId}/features/interest-yield/recovered-wallet-claims":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/claimInterestForRecoveredWallet","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"lostWallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["lostWallet"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4532"]}},"/api/v2/tokens/{assetId}/features/interest-yield/top-ups":{"post":{"tags":["Yield and distributions"],"operationId":"v2/token/topUpInterestTreasury","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the yield write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Transfers denomination assets from the caller to the treasury address that pays interest on the attached interest-yield feature. The treasury still has to approve the feature as a spender before holders can claim. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Top up an interest treasury","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["amount"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/interest-yield/rate-history":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/interestRateHistory","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"updatedAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"newRateBps":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"updatedAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"newRateBps","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of indexed interest-rate changes for the selected token's attached interest-yield feature.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"scheduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"oldRateBps":{"type":"integer","minimum":0,"maximum":9007199254740991},"newRateBps":{"type":"integer","minimum":0,"maximum":9007199254740991},"globalIndexExact":{"type":"string","pattern":"^[0-9]+$"},"daycountConvention":{"type":"string","enum":["continuous","act-360","unknown"]},"updatedAtBlock":{"type":"string","pattern":"^[0-9]+$"},"updatedAt":{"type":"string"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["tokenAddress","scheduleAddress","oldRateBps","newRateBps","globalIndexExact","daycountConvention","updatedAtBlock","updatedAt","txHash","logIndex"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","scheduleAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","oldRateBps":500,"newRateBps":450,"globalIndexExact":"1025000000000000000","daycountConvention":"continuous","updatedAtBlock":"21450881","updatedAt":"2026-03-04T09:12:41.000Z","txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","logIndex":2}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/rate-history","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/rate-history","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/rate-history"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of indexed interest-rate changes for the selected token's attached interest-yield feature. Each row includes the previous rate, the new rate, the global index, and the transaction that applied the change. Default sort is update time descending. The list is indexed and idempotent.","summary":"List interest rate history","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/interest-yield/accrual-periods":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/interestAccrualPeriods","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"periodStart":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"periodStart","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of per-holder, per-month interest earned on the selected token's interest-yield feature.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"periodStart":{"type":"string"},"periodEnd":{"type":"string"},"earnedExact":{"type":"string","pattern":"^[0-9]+$"}},"required":["tokenAddress","featureAddress","holder","periodStart","periodEnd","earnedExact"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","holder":"0x90F79bf6EB2c4f870365E785982E1f101E93b906","periodStart":"2026-10-01T00:00:00.000Z","periodEnd":"2026-11-01T00:00:00.000Z","earnedExact":"5166666"}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/accrual-periods","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/accrual-periods","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/accrual-periods"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of the interest each holder earned per UTC calendar month on the selected token's attached interest-yield feature, for both the continuous and ACT/360 accrual models. Each period counts interest claimed, still unclaimed, and consumed by a conversion; the current month runs to the chain time of the read. Rows sort by month, newest first by default, then by holder. The caller must hold an issuer role. Repeating the request is safe.","summary":"List interest accrual periods","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/interest-yield/holder-position":{"get":{"tags":["Yield and distributions"],"operationId":"v2/token/interestHolderPosition","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true}],"responses":{"200":{"description":"Indexed accrued-interest position for the authenticated holder. Use accruedExact to decide whether to claim.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"scheduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"accruedExact":{"type":"string","pattern":"^[0-9]+$"},"userIndexExact":{"type":"string","pattern":"^[0-9]+$"},"totalClaimedExact":{"type":"string","pattern":"^[0-9]+$"},"lastClaimedAtBlock":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"lastClaimedAt":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["tokenAddress","featureAddress","scheduleAddress","holder","accruedExact","userIndexExact","totalClaimedExact","lastClaimedAtBlock","lastClaimedAt"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","featureAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","scheduleAddress":"0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9","holder":"0x8ba1f109551bD432803012645Ac136ddd64DBA72","accruedExact":"840000","userIndexExact":"1025000000000000000","totalClaimedExact":"2100000","lastClaimedAtBlock":"21450881","lastClaimedAt":"2026-03-04T09:12:41.000Z"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/features/interest-yield/holder-position"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the authenticated holder's accrued interest on this token's attached interest-yield feature, including accruedExact, user index, and total claimed. The read is indexed and idempotent. Use accruedExact to decide whether to claim.","summary":"Read the caller's interest position","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/corporate-actions":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/listCorporateActions","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"sort","in":"query","schema":{"type":"string"},"required":false},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"type":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"type","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"createdAt","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{"eq":{"type":"string"},"ne":{"type":"string"},"iLike":{"type":"string"},"notILike":{"type":"string"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string"},"isEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"isNotEmpty":{"anyOf":[{"type":"boolean"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string"},{"type":"number"}]},"gte":{"anyOf":[{"type":"string"},{"type":"number"}]},"lt":{"anyOf":[{"type":"string"},{"type":"number"}]},"lte":{"anyOf":[{"type":"string"},{"type":"number"}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"One page of Corporate Actions for the selected token. Filter by type or status. Use a row identifier for preview, confirm, or abort. Send `view=summary` or `fields[corporateAction]` to answer each row without its holder book.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bonusIssue","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":3,"denominator":2,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":null,"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":null,"tokenSaleId":null,"childTokenAddress":null,"followsUpOn":null,"transactionRequestId":null,"transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-04T09:12:41.000Z","approval":{"policy":"not_required","waiver":null,"state":"pending","proposerUserId":null,"lastPreviewedBy":null,"checkerUserId":null,"decidedAt":null,"rejectionReason":null,"expiresAt":null,"planDigest":"3b8f1d2c4a5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8","approvedByViewer":false,"approvalsNeeded":null},"appliedSplit":null,"releaseInFlight":false,"releasingTo":"aborted"}],"meta":{"total":1,"facets":{}},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of Corporate Actions for this token in the active organization and request chain. Filter by type or status. Each row includes terms, snapshot identity, remainder, applied, skipped, and remaining holders, and transaction hashes. Send `view=summary` to answer every row without its holder book, or `fields[corporateAction]` to keep only the summary members a table renders; the summary carries `holderCounts` and `transactionHashCount` where the record carries the holders and the hashes. The read is indexed and idempotent.","summary":"List Corporate Actions","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"post":{"tags":["Corporate actions"],"operationId":"v2/token/createCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Corporate Action record after a persist that did not queue a chain write.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bonusIssue","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":3,"denominator":2,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":null,"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":null,"tokenSaleId":null,"childTokenAddress":null,"followsUpOn":null,"transactionRequestId":null,"transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-04T09:12:41.000Z","approval":{"policy":"not_required","waiver":null,"state":"pending","proposerUserId":null,"lastPreviewedBy":null,"checkerUserId":null,"decidedAt":null,"rejectionReason":null,"expiresAt":null,"planDigest":"3b8f1d2c4a5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8","approvedByViewer":false,"approvalsNeeded":null},"appliedSplit":null,"releaseInFlight":false,"releasingTo":"aborted"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The corporate action as recorded. A transaction this request sent has not landed within the request's `Prefer` wait, so the action is still `executing`, or a declared dividend is still `drafted` with no `dividendId`. Poll `Location`, the corporate action read, which settles the action from the queue; or retry this request with the same `Idempotency-Key`.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Declares a named Corporate Action on this token. type selects cashDividend, bondCoupon, bonusIssue, rightsIssue, capitalDecrease, stockSplit, or spinOff. Composition types persist as drafted. A token accepts only one in-flight composition at a time. Cash dividend declares dividend-yield and stores dividendId. Bond coupon names the attached fixed-treasury-yield program and completes immediately. First pass has no atomic rebase, market halt, rights instrument, capital-account ledger, or cash remainder.","summary":"Create a Corporate Action","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["buyback"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"call":{"anyOf":[{"not":{}},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["buyback"]},"call":{"type":"string","enum":["all"]},"holders":{"anyOf":[{"not":{}},{"type":"null"}]},"recordDate":{"anyOf":[{"not":{}},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"payingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","call","denominationAsset","pricePerUnit","payingTreasury"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/getCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The stored Corporate Action record, or its summary when the request sent `view=summary` or `fields[corporateAction]`. The summary replaces the holder book with `holderCounts` and carries no announced holder book in `terms`.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bonusIssue","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":3,"denominator":2,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":null,"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":null,"tokenSaleId":null,"childTokenAddress":null,"followsUpOn":null,"transactionRequestId":null,"transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-04T09:12:41.000Z","approval":{"policy":"not_required","waiver":null,"state":"pending","proposerUserId":null,"lastPreviewedBy":null,"checkerUserId":null,"decidedAt":null,"rejectionReason":null,"expiresAt":null,"planDigest":"3b8f1d2c4a5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8","approvedByViewer":false,"approvalsNeeded":null},"appliedSplit":null,"releaseInFlight":false,"releasingTo":"aborted"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one Corporate Action for this token, including stored terms, snapshot identity, remainder, applied, skipped, and remaining holders, and landed hashes. Send `view=summary` to answer it without the holder book, or `fields[corporateAction]` to keep only the summary members a sheet renders; the summary carries `holderCounts` and `transactionHashCount` where the record carries the holders and the hashes. Use the record to resume a sheet that is not yet completed or aborted after refresh, and the summary to render a row. The read is indexed and idempotent.","summary":"Read a Corporate Action","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/preview":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/previewCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitForSettlementNoFundingPause"}],"responses":{"200":{"description":"Stored preview. Review allocations, remainder, and snapshot identity, then confirm those stored values. A cash bond coupon is not previewed; an in-kind one is.","content":{"application/json":{"schema":{"type":"object","properties":{"stage":{"type":"string","enum":["preview"]},"corporateAction":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"treasuryUnitsExcluded":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"Token units, in raw token decimals, that the dividend feature's treasury held at the record date and that the cash-dividend snapshot pays nothing. Null for every action type other than a cash dividend."},"dividendConfirmation":{"anyOf":[{"type":"object","properties":{"merkleRoot":{"$ref":"#/components/schemas/EthereumHashEncoded"},"totalEntitled":{"type":"string","pattern":"^[0-9]+$"},"totalRequired":{"type":"string","pattern":"^[0-9]+$"}},"required":["merkleRoot","totalEntitled","totalRequired"],"additionalProperties":false},{"type":"null"}]},"coordinatedSplit":{"anyOf":[{"type":"object","properties":{"ordinary":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"}},"required":["classToken","role","rank","leg","priorityLeg"],"additionalProperties":false}},"priority":{"anyOf":[{"type":"object","properties":{"determinationKind":{"type":"string","minLength":1},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"}},"required":["classToken","role","rank","leg","priorityLeg"],"additionalProperties":false}}},"required":["determinationKind","legs"],"additionalProperties":false},{"type":"null"}]}},"required":["ordinary","priority"],"additionalProperties":false},{"type":"null"}]}},"required":["stage","corporateAction","remainder","denominationShortfall","holderCount","treasuryUnitsExcluded","dividendConfirmation","coordinatedSplit"],"additionalProperties":false},"examples":{"example-1":{"value":{"stage":"preview","corporateAction":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bonusIssue","status":"previewed","terms":{"type":"cashDividend","paymentKind":"cash","numerator":3,"denominator":2,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"current","recordDate":null,"remainder":"1","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"1500000000000000000","direction":"mint","state":"remaining","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":null,"tokenSaleId":null,"childTokenAddress":null,"followsUpOn":null,"transactionRequestId":null,"transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-04T09:12:41.000Z","approval":{"policy":"not_required","waiver":null,"state":"pending","proposerUserId":null,"lastPreviewedBy":null,"checkerUserId":null,"decidedAt":null,"rejectionReason":null,"expiresAt":null,"planDigest":"3b8f1d2c4a5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8","approvedByViewer":false,"approvalsNeeded":null},"appliedSplit":null,"releaseInFlight":false,"releasingTo":"aborted"},"remainder":"1","denominationShortfall":"0","holderCount":2,"treasuryUnitsExcluded":null,"dividendConfirmation":null,"coordinatedSplit":{"ordinary":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0"}],"priority":{"determinationKind":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0"}]}}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Computes and stores preview allocations for this Corporate Action. Cash-dividend preview delegates to dividend-yield snapshot preview and does not queue a transaction. Bond-coupon preview returns 409 because the coupon completed on create. Composition preview stores floor amounts, remainder, and holder states. Confirm must echo this stored preview. Per-holder amounts round down. Remainder is the sum over holders of (balance × numerator) modulo denominator. First pass does not pay cash remainder.","summary":"Preview a Corporate Action","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/quote":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/quoteCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"receives":{"type":"string","enum":["true","false"],"description":"true keeps the holders whose allocation is greater than zero, false keeps the holders whose allocation is zero. A rights issue through a linked sale with no ratio allocates nothing and enrols every holder it lists on the sale's whitelist, so true keeps all of them and false keeps none. `meta.total` and the page links follow the filter; `holderCount`, `totalAmount` and `quoteFingerprint` always describe the whole plan."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Only on the quote of a coordinated distribution: the share class whose dividend pays this row. One holder appears once per class."},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"anyOf":[{"$ref":"#/components/schemas/AllocationDirection"},{"type":"null"}]},"residual":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"roundingAdjustment":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]}},"required":["holder","balance","amount","state"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on the first page of a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token, so the plan can be reviewed before it is recorded. The quoteFingerprint covers each holder and amount."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on the first page of a rights issue close with excess applications. Each applicant's excess shares applied for and allotted, payment and refund, so the allotment can be reviewed before it is recorded. The quoteFingerprint covers every entry."},"quoteFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"The fingerprint of the plan a quote returned: a SHA-256 over the terms, the per-holder amounts and the funding shortfall. A commit that carries it runs only if the plan it computes has the same fingerprint."},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAmount":{"type":"string","pattern":"^[0-9]+$"},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"treasuryUnitsExcluded":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"priceAdjustment":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},{"type":"null"}],"description":"The reference price of the share before and after the plan, set for a stock split of a share whose price feed has a current price and null otherwise. The commit applies exactly this price, and the quoteFingerprint covers it."},"acknowledgements":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionAcknowledgement"},"description":"The consequences of this plan the committing operator has to acknowledge. The commit refuses to run until it carries each one."},"approval":{"type":"object","properties":{"requirement":{"type":"string","enum":["required","not-needed","waived"],"description":"required: a second operator must approve the previewed plan before it runs. not-needed: this action type needs no second operator. waived: it would need one, and the organization setting or the number of available approvers waives it."},"reason":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]}},"required":["requirement","reason"],"additionalProperties":false},"coordinated":{"anyOf":[{"type":"object","properties":{"waterfallFeature":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"appliedDeterminationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"classes":{"type":"array","items":{"type":"object","properties":{"classIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"allocation":{"type":"string","pattern":"^[0-9]+$"},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"included":{"type":"boolean"},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"notDeclared":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}],"description":"Why this class pays nothing: no-supply when it held no units on the record date, no-slice when the waterfall allocated it nothing, rate-rounds-to-zero when its slice does not cover one unit. Null when the class is paid."}},"required":["classIndex","classToken","role","rank","allocation","amountPerShare","included","holderCount","notDeclared"],"additionalProperties":false}}},"required":["waterfallFeature","denominationAsset","appliedDeterminationKind","poolAmount","classes"],"additionalProperties":false},{"type":"null"}],"description":"Only on the quote of a coordinated distribution: every class dividend the commit will declare, with its slice, its per-share rate and its holders, and the pool it moves. Null for every other type."}},"required":["data","meta","links","type","quoteFingerprint","holderCount","totalAmount","remainder","denominationShortfall","treasuryUnitsExcluded","priceAdjustment","acknowledgements","approval","coordinated"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","amount":"0","direction":"mint","residual":"0","roundingAdjustment":"0","state":"applied"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"},"type":"cashDividend","rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"quoteFingerprint":"0000000000000000000000000000000000000000000000000000000000000000","holderCount":0,"totalAmount":"0","remainder":"0","denominationShortfall":"0","treasuryUnitsExcluded":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"acknowledgements":["not-declared"],"approval":{"requirement":"required","reason":"organization-disabled"},"coordinated":{"waterfallFeature":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","appliedDeterminationKind":"example","poolAmount":"0","classes":[{"classIndex":0,"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"allocation":"0","amountPerShare":"0","included":false,"holderCount":0,"notDeclared":"no-supply"}]}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["buyback"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"call":{"anyOf":[{"not":{}},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["buyback"]},"call":{"type":"string","enum":["all"]},"holders":{"anyOf":[{"not":{}},{"type":"null"}]},"recordDate":{"anyOf":[{"not":{}},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"payingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","call","denominationAsset","pricePerUnit","payingTreasury"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/quote":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/quoteCorporateActionRecord","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"receives":{"type":"string","enum":["true","false"],"description":"true keeps the holders whose allocation is greater than zero, false keeps the holders whose allocation is zero. A rights issue through a linked sale with no ratio allocates nothing and enrols every holder it lists on the sale's whitelist, so true keeps all of them and false keeps none. `meta.total` and the page links follow the filter; `holderCount`, `totalAmount` and `quoteFingerprint` always describe the whole plan."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Only on the quote of a coordinated distribution: the share class whose dividend pays this row. One holder appears once per class."},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"anyOf":[{"$ref":"#/components/schemas/AllocationDirection"},{"type":"null"}]},"residual":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"roundingAdjustment":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]}},"required":["holder","balance","amount","state"],"additionalProperties":false}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on the first page of a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token, so the plan can be reviewed before it is recorded. The quoteFingerprint covers each holder and amount."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on the first page of a rights issue close with excess applications. Each applicant's excess shares applied for and allotted, payment and refund, so the allotment can be reviewed before it is recorded. The quoteFingerprint covers every entry."},"quoteFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"The fingerprint of the plan a quote returned: a SHA-256 over the terms, the per-holder amounts and the funding shortfall. A commit that carries it runs only if the plan it computes has the same fingerprint."},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"totalAmount":{"type":"string","pattern":"^[0-9]+$"},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"treasuryUnitsExcluded":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"priceAdjustment":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},{"type":"null"}],"description":"The reference price of the share before and after the plan, set for a stock split of a share whose price feed has a current price and null otherwise. The commit applies exactly this price, and the quoteFingerprint covers it."},"acknowledgements":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionAcknowledgement"},"description":"The consequences of this plan the committing operator has to acknowledge. The commit refuses to run until it carries each one."},"approval":{"type":"object","properties":{"requirement":{"type":"string","enum":["required","not-needed","waived"],"description":"required: a second operator must approve the previewed plan before it runs. not-needed: this action type needs no second operator. waived: it would need one, and the organization setting or the number of available approvers waives it."},"reason":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]}},"required":["requirement","reason"],"additionalProperties":false},"coordinated":{"anyOf":[{"type":"object","properties":{"waterfallFeature":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"appliedDeterminationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"classes":{"type":"array","items":{"type":"object","properties":{"classIndex":{"type":"integer","minimum":0,"maximum":9007199254740991},"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"allocation":{"type":"string","pattern":"^[0-9]+$"},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"included":{"type":"boolean"},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"notDeclared":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}],"description":"Why this class pays nothing: no-supply when it held no units on the record date, no-slice when the waterfall allocated it nothing, rate-rounds-to-zero when its slice does not cover one unit. Null when the class is paid."}},"required":["classIndex","classToken","role","rank","allocation","amountPerShare","included","holderCount","notDeclared"],"additionalProperties":false}}},"required":["waterfallFeature","denominationAsset","appliedDeterminationKind","poolAmount","classes"],"additionalProperties":false},{"type":"null"}],"description":"Only on the quote of a coordinated distribution: every class dividend the commit will declare, with its slice, its per-share rate and its holders, and the pool it moves. Null for every other type."}},"required":["data","meta","links","type","quoteFingerprint","holderCount","totalAmount","remainder","denominationShortfall","treasuryUnitsExcluded","priceAdjustment","acknowledgements","approval","coordinated"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","amount":"0","direction":"mint","residual":"0","roundingAdjustment":"0","state":"applied"}],"meta":{"total":0,"facets":{}},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"},"type":"cashDividend","rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"quoteFingerprint":"0000000000000000000000000000000000000000000000000000000000000000","holderCount":0,"totalAmount":"0","remainder":"0","denominationShortfall":"0","treasuryUnitsExcluded":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"acknowledgements":["not-declared"],"approval":{"requirement":"required","reason":"organization-disabled"},"coordinated":{"waterfallFeature":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","appliedDeterminationKind":"example","poolAmount":"0","classes":[{"classIndex":0,"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"allocation":"0","amountPerShare":"0","included":false,"holderCount":0,"notDeclared":"no-supply"}]}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9355","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/commit":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/commitCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"corporateAction":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"previewAvailableAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The record date at which a recorded distribution can be previewed. Set whenever the commit stopped after recording a cash dividend or distribution, because that plan does not exist to be quoted before the record is made. A date that has already passed means the preview can run now: quote the record, then commit it. Null otherwise."}},"required":["corporateAction","previewAvailableAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateAction":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"},"previewAvailableAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The commit as recorded. A transaction it sent has not landed within the request's `Prefer` wait, so the corporate action is still `executing`, or its declared dividend is still `drafted` with no `dividendId`. Poll `Location`, the corporate action read, which settles it from the queue; or retry this request with the same `Idempotency-Key`.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateAction":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"previewAvailableAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The record date at which a recorded distribution can be previewed. Set whenever the commit stopped after recording a cash dividend or distribution, because that plan does not exist to be quoted before the record is made. A date that has already passed means the preview can run now: quote the record, then commit it. Null otherwise."}},"required":["corporateAction","previewAvailableAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateAction":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"},"previewAvailableAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_MINT_MATURITY_REDEMPTION_MATURED","TOKEN_SUPPLY_PAUSED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9077","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9483"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12031","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"terms":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["buyback"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"call":{"anyOf":[{"not":{}},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["buyback"]},"call":{"type":"string","enum":["all"]},"holders":{"anyOf":[{"not":{}},{"type":"null"}]},"recordDate":{"anyOf":[{"not":{}},{"type":"null"}]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"payingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","call","denominationAsset","pricePerUnit","payingTreasury"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"followsUpOn":{"anyOf":[{"$ref":"#/components/schemas/CorporateActionId"},{"type":"null"}]}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"election":{"$ref":"#/components/schemas/CorporateActionElectionConfig"},"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}],"description":"The terms to record, in the same shape as the create route. A walletVerification inside terms is ignored; send it at the top level."},"quoteFingerprint":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$","description":"The fingerprint of the plan a quote returned: a SHA-256 over the terms, the per-holder amounts and the funding shortfall. A commit that carries it runs only if the plan it computes has the same fingerprint."},{"type":"null"}],"description":"The quoteFingerprint the quote returned. Required except for a cash dividend or distribution, which has no quote before it is recorded."},"acknowledgements":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionAcknowledgement"}},{"type":"null"}]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["terms"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/commit":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/commitCorporateActionRecord","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"corporateAction":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"previewAvailableAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The record date at which a recorded distribution can be previewed. Set whenever the commit stopped after recording a cash dividend or distribution, because that plan does not exist to be quoted before the record is made. A date that has already passed means the preview can run now: quote the record, then commit it. Null otherwise."}},"required":["corporateAction","previewAvailableAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateAction":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"},"previewAvailableAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The commit as recorded. A transaction it sent has not landed within the request's `Prefer` wait, so the corporate action is still `executing`, or its declared dividend is still `drafted` with no `dividendId`. Poll `Location`, the corporate action read, which settles it from the queue; or retry this request with the same `Idempotency-Key`.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateAction":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"previewAvailableAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The record date at which a recorded distribution can be previewed. Set whenever the commit stopped after recording a cash dividend or distribution, because that plan does not exist to be quoted before the record is made. A date that has already passed means the preview can run now: quote the record, then commit it. Null otherwise."}},"required":["corporateAction","previewAvailableAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateAction":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"},"previewAvailableAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_MINT_MATURITY_REDEMPTION_MATURED","TOKEN_SUPPLY_PAUSED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9077","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9483"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12031","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"quoteFingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"The fingerprint of the plan a quote returned: a SHA-256 over the terms, the per-holder amounts and the funding shortfall. A commit that carries it runs only if the plan it computes has the same fingerprint."},"acknowledgements":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionAcknowledgement"}},{"type":"null"}]},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["quoteFingerprint"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/decisions":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/decideCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The Corporate Action after the approval landed. Confirm may now execute it.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"approval":{"type":"object","properties":{"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvedDigest":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["state","checkerUserId","decidedAt","approvedDigest","rejectionReason"],"additionalProperties":false}},"required":["corporateActionId","tokenAddress","status","approval"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"approved","approval":{"state":"approved","checkerUserId":"user-2","decidedAt":"2026-03-04T09:30:00.000Z","approvedDigest":"3b8f1d2c4a5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8","rejectionReason":null}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_APPROVAL_REFUSED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12165","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Approves or rejects a previewed Corporate Action according to the `decision` in the request. The deciding operator must neither have raised nor last previewed the record and must hold the corporate-action approval permission on a signed-in session. Send the digest of the plan you read: a plan that moved since then is refused rather than decided on numbers nobody reviewed. Nothing is signed and nothing is queued; what moves is the record.","summary":"Decide a Corporate Action","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DecideCorporateActionMutation"}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/confirm":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/confirmCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled Corporate Action after confirm completed within the wait window. data is the reconstructable record. meta.txHashes are the submitted transactions. A 202 body is not success.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TOKEN_MINT_MATURITY_REDEMPTION_MATURED","TOKEN_SUPPLY_PAUSED","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9077","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9483"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE","UNPROCESSABLE_ENTITY"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12031","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FINANCIAL_YIELD_OPERATION_REJECTED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506","DALP-9525"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Applies the stored preview. Cash-dividend confirm records the dividend-yield snapshot when the echoed merkle root and totals match. Bond-coupon confirm returns 409. Composition confirm applies only stored allocations under one Settlement Verdict, even when the holder book needs more than one mint or burn batch. Pause, missing historical-balances, or snapshot drift fail closed. A compliance skip that cannot isolate one holder aborts the run. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. A 202 Async-Accepted Handle is not success. Status completed requires every snapshot holder applied or stored as zero-after-floor.","summary":"Confirm a Corporate Action","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"merkleRoot":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"totalEntitled":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"totalRequired":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"acknowledgements":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionAcknowledgement"}},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/abort":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/abortCorporateAction","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitForSettlementNoFundingPause"}],"responses":{"200":{"description":"Corporate Action record after a persist that did not queue a chain write.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bonusIssue","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":3,"denominator":2,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":null,"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":null,"tokenSaleId":null,"childTokenAddress":null,"followsUpOn":null,"transactionRequestId":null,"transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"2026-03-04T09:12:41.000Z","updatedAt":"2026-03-04T09:12:41.000Z","approval":{"policy":"not_required","waiver":null,"state":"pending","proposerUserId":null,"lastPreviewedBy":null,"checkerUserId":null,"decidedAt":null,"rejectionReason":null,"expiresAt":null,"planDigest":"3b8f1d2c4a5e6f708192a3b4c5d6e7f8091a2b3c4d5e6f708192a3b4c5d6e7f8","approvedByViewer":false,"approvalsNeeded":null},"appliedSplit":null,"releaseInFlight":false,"releasingTo":"aborted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Stops a Corporate Action that is not yet completed or aborted. Status becomes aborted. Later chunks do not submit. Applied holders stay in place. There is no rollback.","summary":"Abort a Corporate Action","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/rights-exercises":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/exerciseRights","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"kind":{"$ref":"#/components/schemas/RightsExerciseKind"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"rights":{"type":"string","pattern":"^[0-9]+$"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"status":{"$ref":"#/components/schemas/RightsExerciseStatus"},"createdAt":{"type":"string"}},"required":["corporateActionId","kind","holder","rights","cashAmount","denominationAsset","status","createdAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"example","kind":"exercise","holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","rights":"0","cashAmount":"0","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"submitted","createdAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The exercise as recorded. Its payment and rights movement are accepted by the queue and have not landed, so its status is `submitted`. Poll `Location`, this wallet's exercised total for the rights issue, which settles the exercise from the queue; or retry this request with the same `Idempotency-Key` to read its outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"kind":{"$ref":"#/components/schemas/RightsExerciseKind"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"rights":{"type":"string","pattern":"^[0-9]+$"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"status":{"$ref":"#/components/schemas/RightsExerciseStatus"},"createdAt":{"type":"string"}},"required":["corporateActionId","kind","holder","rights","cashAmount","denominationAsset","status","createdAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"example","kind":"exercise","holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","rights":"0","cashAmount":"0","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"submitted","createdAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rights":{"type":"string","pattern":"^[0-9]+$"},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["rights"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/rights-excess-applications":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/applyExcessRights","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"kind":{"$ref":"#/components/schemas/RightsExerciseKind"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"rights":{"type":"string","pattern":"^[0-9]+$"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"status":{"$ref":"#/components/schemas/RightsExerciseStatus"},"createdAt":{"type":"string"}},"required":["corporateActionId","kind","holder","rights","cashAmount","denominationAsset","status","createdAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"example","kind":"exercise","holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","rights":"0","cashAmount":"0","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"submitted","createdAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"The exercise as recorded. Its payment and rights movement are accepted by the queue and have not landed, so its status is `submitted`. Poll `Location`, this wallet's exercised total for the rights issue, which settles the exercise from the queue; or retry this request with the same `Idempotency-Key` to read its outcome.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"kind":{"$ref":"#/components/schemas/RightsExerciseKind"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"rights":{"type":"string","pattern":"^[0-9]+$"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"status":{"$ref":"#/components/schemas/RightsExerciseStatus"},"createdAt":{"type":"string"}},"required":["corporateActionId","kind","holder","rights","cashAmount","denominationAsset","status","createdAt"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"example","kind":"exercise","holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","rights":"0","cashAmount":"0","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","status":"submitted","createdAt":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"shares":{"type":"string","pattern":"^[0-9]+$"},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["shares"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/rights-exercises/{holder}":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/readRightsExercised","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"holder","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"holder":{"$ref":"#/components/schemas/EvmAddress"},"rights":{"type":"string","pattern":"^[0-9]+$"},"cashAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"shares":{"type":"string","pattern":"^[0-9]+$"},"sharesIssued":{"type":"string","pattern":"^[0-9]+$"},"excessShares":{"type":"string","pattern":"^[0-9]+$"},"excessCashAmount":{"type":"string","pattern":"^[0-9]+$"},"excessAllocated":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The excess shares the close allotted this wallet, in raw share-token units: lapsed rights shared pro-rata to excess demand, rounded down to whole shares. Null until a close of the rights issue has been confirmed."},"excessRefund":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The part of `excessCashAmount` the close refunds to this wallet for excess shares it was not allotted, in raw units of the subscription asset. Null until a close of the rights issue has been confirmed."}},"required":["corporateActionId","holder","rights","cashAmount","denominationAsset","shares","sharesIssued","excessShares","excessCashAmount","excessAllocated","excessRefund"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"example","holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","rights":"0","cashAmount":"0","denominationAsset":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","shares":"0","sharesIssued":"0","excessShares":"0","excessCashAmount":"0","excessAllocated":"0","excessRefund":"0"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9244","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/legs/{classToken}/release":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/releaseCorporateActionLeg","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"classToken","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitForSettlementNoFundingPause"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"type":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]},"status":{"type":"string","enum":["drafted","previewed","approved","executing","redemptionOpen","completed","aborted","releasing"]},"terms":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["cashDividend"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/DividendKind"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["distribution"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amountPerShare":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"exDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"paymentDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bondCoupon"]},"paymentKind":{"anyOf":[{"type":"string","enum":["cash","inKind"]},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"periodNumber":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bonusIssue"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["allotment","tokenSale"]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"numerator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"denominator":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","path"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["tradable"]},"rightsTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"payee":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"exDate":{"type":"string"},"recordDate":{"type":"string"},"tradingEnd":{"type":"string"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"subscriptionPrice":{"type":"string","pattern":"^[0-9]+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"subscriptionStart":{"type":"string"},"subscriptionEnd":{"type":"string"}},"required":["type","path","rightsTokenAddress","payee","numerator","denominator","exDate","recordDate","tradingEnd","denominationAsset","subscriptionPrice","subscriptionStart","subscriptionEnd"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["rightsIssue"]},"path":{"type":"string","enum":["close"]},"rightsIssueId":{"$ref":"#/components/schemas/CorporateActionId"}},"required":["type","path","rightsIssueId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["capitalDecrease"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["buyback"]},"holders":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},{"type":"null"}]},"call":{"anyOf":[{"type":"string","enum":["all"]},{"type":"null"}]},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["partialRedemption"]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount"],"additionalProperties":false},"minItems":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["type","holders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["stockSplit"]},"direction":{"type":"string","enum":["forward","reverse"]},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"fractionPolicy":{"anyOf":[{"$ref":"#/components/schemas/FractionPolicy"},{"type":"null"}],"description":"How a holder's result is rounded when it is not a whole number of shares. floor (the default) drops the part below one base unit. wholeShareFloor drops the part below one whole share, so a token with decimals never ends on a fractional share. roundUpToOne does the same and gives a holder whose result is above zero and below one share exactly one share, which mints that holder up to one when they hold less than one whole share before the split."},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The ERC-3643 deposit token that pays each holder cash in lieu of the part below one whole share a reverse split leaves. Sent with pricePerUnit and payingTreasury, and only with fractionPolicy wholeShareFloor or roundUpToOne."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The cash in lieu paid for one whole pre-split share, in base units of denominationAsset, greater than zero. A holder's cash is the pre-split shares the split did not convert times this price, rounded down to one base unit. A holder rounded up to one share is paid nothing."},"payingTreasury":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The smart-account wallet that holds the deposit tokens and pays every holder in the same transaction as the burn. The confirm is refused while it holds less than the total cash."}},"required":["type","direction","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["spinOff"]},"childTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"numerator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"denominator":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional record instant for a bonus issue, stock split, spin-off, or rights issue. A rights issue on the token-sale path does not read it. Omit it to count the holders when the action is previewed. A supplied instant cannot be previewed before the chain time the indexer has reached passes it. Once it is reached, preview reads the holders at that instant from the token's historical-balances feature, and it is refused for an instant the feature does not cover. For a token without historical balances, preview counts the current holders while the indexed chain time is within one minute after the instant, and is refused later. The stored snapshot records the instant whose holders were counted."}},"required":["type","childTokenAddress","numerator","denominator"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["maturityRedemption","conversion"]}},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["coordinatedDistribution"]},"poolAmount":{"type":"string","pattern":"^[0-9]+$"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"exDate":{"type":"string"},"recordDate":{"type":"string"},"paymentDate":{"type":"string"},"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"countryCode":{"anyOf":[{"type":"string","pattern":"^[A-Za-z]{2}$"},{"type":"null"}]}},"required":["type","poolAmount","denominationAsset","exDate","recordDate","paymentDate"],"additionalProperties":false}]},"snapshot":{"anyOf":[{"type":"object","properties":{"identity":{"type":"string","minLength":1},"recordDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The instant whose holders this snapshot counted. A bonus issue, rights issue, stock split, spin-off, stock dividend, or in-kind bond coupon or distribution stores its record date when preview read the holders at that date, and otherwise the instant its holder book was read. A cash dividend or cash distribution stores its declared record date. An action that settles announced per-holder amounts (capital decrease, partial redemption, buyback) stores null."},"remainder":{"type":"string","pattern":"^[0-9]+$"},"denominationShortfall":{"type":"string","pattern":"^[0-9]+$"},"priceAdjustment":{"$ref":"#/components/schemas/CorporateActionPriceAdjustment"},"priceStep":{"$ref":"#/components/schemas/CorporateActionPriceStep"},"rightsBurn":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"Only on a rights issue close. The rights the close burns once it has minted the new shares, one entry per holder of the rights token: the exercised rights held by the issuer's receiving wallet and every holder's unexercised rights, which lapse. The approval digest covers each holder and amount, so the approved plan cannot burn different amounts. `state` is remaining until the burn lands, then applied."},"rightsExcess":{"type":"array","items":{"$ref":"#/components/schemas/RightsExcessEntry"},"description":"Only on a rights issue close with excess applications. One entry per applicant: the excess shares applied for and allotted, the payment held in escrow and the refund. The approval digest covers each entry, so the approved plan cannot allot or refund different amounts."},"batchFailure":{"$ref":"#/components/schemas/CorporateActionBatchFailure"},"custodialSteps":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionCustodialStep"},"description":"Only on an action that re-bases holdings (a stock split, bonus issue, rights issue that is not traded, or an in-kind dividend, coupon or distribution). One entry per escrow, token sale, XvP settlement or airdrop that held the token at the record date. Each such contract's allocation counts its owners one by one, as if they held the units directly, and confirm writes the action's step to the contract so its per-owner records follow the action. Absent when no such contract holds the token."}},"required":["identity","recordDate","remainder","denominationShortfall"],"additionalProperties":false},{"type":"null"}]},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false}},"dividendId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSaleId":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"childTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"followsUpOn":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionRequestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"approval":{"type":"object","properties":{"policy":{"type":"string","enum":["required","not_required","not_applicable"]},"waiver":{"anyOf":[{"type":"string","enum":["organization-disabled","too-few-approvers"]},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","denied","expired","not_required"]},"proposerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"lastPreviewedBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"checkerUserId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"decidedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"expiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"planDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"approvedByViewer":{"type":"boolean","description":"Whether the caller's approval is already recorded on this action's current approval request. An approval that needs more than one approver stays pending after it, and the caller does not decide it again."},"approvalsNeeded":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many more approvals the action's pending approval request needs before it is approved. Null when no approval request is pending."}},"required":["policy","waiver","state","proposerUserId","lastPreviewedBy","checkerUserId","decidedAt","rejectionReason","expiresAt","planDigest","approvedByViewer","approvalsNeeded"],"additionalProperties":false},"appliedSplit":{"anyOf":[{"type":"object","properties":{"determinationKind":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"distributionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"legs":{"type":"array","items":{"type":"object","properties":{"classToken":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991},"leg":{"type":"string","pattern":"^[0-9]+$"},"priorityLeg":{"type":"string","pattern":"^[0-9]+$"},"requestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releaseRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"$ref":"#/components/schemas/CorporateActionCoordinatedLegState"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"recovery":{"anyOf":[{"type":"object","properties":{"state":{"type":"string","enum":["open","reclaimable","releasable","releasable-unregistered","releasing","released","empty"]},"remaining":{"type":"string","pattern":"^[0-9]+$"},"funder":{"$ref":"#/components/schemas/EvmAddress"},"claimDeadline":{"anyOf":[{"type":"string"},{"type":"null"}]},"released":{"anyOf":[{"type":"object","properties":{"amount":{"type":"string","pattern":"^[0-9]+$"},"at":{"type":"string"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["amount","at","transactionHash"],"additionalProperties":false},{"type":"null"}]}},"required":["state","remaining","funder","claimDeadline","released"],"additionalProperties":false},{"type":"null"}]},"contributionBasis":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"supplyOnRecordDate":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountPerShare":{"type":"string","pattern":"^[0-9]+$"},"willBeDeclared":{"type":"boolean"},"notDeclaredReason":{"anyOf":[{"type":"string","enum":["no-supply","no-slice","rate-rounds-to-zero"]},{"type":"null"}]},"excludedHolders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"type":"string","enum":["lost-identity","zero-after-floor","class-not-declared"]}},"required":["holder","amount","reason"],"additionalProperties":false}}},"required":["classToken","role","rank","leg","priorityLeg","requestId","releaseRequestId","state","dividend","recovery","contributionBasis","supplyOnRecordDate","amountPerShare","willBeDeclared","notDeclaredReason","excludedHolders"],"additionalProperties":false}},"classDividendsOpen":{"type":"boolean"},"fundingSent":{"type":"boolean"},"fundingRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["determinationKind","distributionId","legs","classDividendsOpen","fundingSent","fundingRequestId"],"additionalProperties":false},{"type":"null"}]},"releaseInFlight":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"`true` while the record is `releasing` and a transaction that lifts its custodial freeze still waits in the queue, a custody approval hold included. Abort sends no second lift to a contract whose lift still waits. `null` while the record is `releasing` and the queue could not be read, so whether a lift waits is unknown. `false` otherwise."},"releasingTo":{"anyOf":[{"type":"string","enum":["aborted","completed"]},{"type":"null"}],"description":"The status a `releasing` record takes once no custodial contract carries its freeze and no freeze request can still land: `aborted` after an abort, a rejection or a lapsed approval, `completed` after a finished run. `null` while the record is not `releasing`."}},"required":["id","tokenAddress","type","status","terms","snapshot","holders","dividendId","tokenSaleId","childTokenAddress","followsUpOn","transactionRequestId","transactionHashes","createdAt","updatedAt","approval","appliedSplit","releaseInFlight","releasingTo"],"additionalProperties":false},"examples":{"example-1":{"value":{"id":"example","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"cashDividend","status":"drafted","terms":{"type":"cashDividend","paymentKind":"cash","numerator":1,"denominator":1,"amountPerShare":"0","exDate":"example","recordDate":"example","paymentDate":"example","claimDeadline":"example","countryCode":null,"kind":"regular"},"snapshot":{"identity":"example","recordDate":"example","remainder":"0","denominationShortfall":"0","priceAdjustment":{"currency":"AED","before":"6","after":"108"},"priceStep":{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"},"rightsBurn":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"rightsExcess":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","applied":"0","allocated":"0","paid":"0","refund":"0","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"batchFailure":{"reason":"example","unreached":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}]},"custodialSteps":[{"contract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","kind":"escrow","index":0}]},"holders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","direction":"mint","state":"applied","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","balance":"0","residual":"0","roundingAdjustment":"0"}],"dividendId":"example","tokenSaleId":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","childTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","followsUpOn":"example","transactionRequestId":"example","transactionHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"createdAt":"example","updatedAt":"example","approval":{"policy":"required","waiver":"organization-disabled","state":"pending","proposerUserId":"example","lastPreviewedBy":"example","checkerUserId":"example","decidedAt":"example","rejectionReason":"example","expiresAt":"example","planDigest":"0000000000000000000000000000000000000000000000000000000000000000","approvedByViewer":false,"approvalsNeeded":0},"appliedSplit":{"determinationKind":"example","distributionId":"example","legs":[{"classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"example","rank":0,"leg":"0","priorityLeg":"0","requestId":"example","releaseRequestId":"example","state":"pending","dividend":{"featureAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividendId":"example"},"recovery":{"state":"open","remaining":"0","funder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","claimDeadline":"example","released":{"amount":"0","at":"example","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}},"contributionBasis":"0","supplyOnRecordDate":"0","amountPerShare":"0","willBeDeclared":false,"notDeclaredReason":"no-supply","excludedHolders":[{"holder":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","reason":"lost-identity"}]}],"classDividendsOpen":false,"fundingSent":false,"fundingRequestId":"example"},"releaseInFlight":false,"releasingTo":"aborted"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_IN_FLIGHT","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12067","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/unpaid-entitlements":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/listUnpaidEntitlements","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":200},"offset":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of one unpaid-holder entry, as the unpaid-entitlements list returns it.","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"corporateActionId":{"type":"string","minLength":1},"distributionId":{"type":"string","minLength":1},"classToken":{"$ref":"#/components/schemas/EvmAddress"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"$ref":"#/components/schemas/UnpaidEntitlementReason"},"recordedAt":{"type":"string"},"payment":{"anyOf":[{"type":"object","properties":{"paidAt":{"type":"string"},"paidBy":{"$ref":"#/components/schemas/EvmAddress"},"reference":{"type":"string","minLength":1}},"required":["paidAt","paidBy","reference"],"additionalProperties":false},{"type":"null"}]},"reopens":{"type":"array","items":{"type":"object","properties":{"paidAt":{"type":"string"},"paidBy":{"$ref":"#/components/schemas/EvmAddress"},"reference":{"type":"string","minLength":1},"reopenedAt":{"type":"string"},"reopenedBy":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"type":"string","minLength":1}},"required":["paidAt","paidBy","reference","reopenedAt","reopenedBy","reason"],"additionalProperties":false},"description":"Every earlier payment mark that governance cleared, oldest first."}},"required":["id","corporateActionId","distributionId","classToken","dividend","holder","amount","reason","recordedAt","payment","reopens"],"additionalProperties":false,"examples":[{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}]}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"pendingClasses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["data","meta","links","corporateActionId","tokenAddress","pendingClasses"],"additionalProperties":false,"examples":[{"data":[{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions/01934567-89ab-7def-8123-456789abcdef/unpaid-entitlements?sort=classToken&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions/01934567-89ab-7def-8123-456789abcdef/unpaid-entitlements?sort=classToken&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions/01934567-89ab-7def-8123-456789abcdef/unpaid-entitlements?sort=classToken&page%5Boffset%5D=0&page%5Blimit%5D=50"},"corporateActionId":"01934567-89ab-7def-8123-456789abcdef","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","pendingClasses":[]}]},"examples":{"example-1":{"value":{"data":[{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}],"meta":{"total":1},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions/01934567-89ab-7def-8123-456789abcdef/unpaid-entitlements?sort=classToken&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions/01934567-89ab-7def-8123-456789abcdef/unpaid-entitlements?sort=classToken&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F/corporate-actions/01934567-89ab-7def-8123-456789abcdef/unpaid-entitlements?sort=classToken&page%5Boffset%5D=0&page%5Blimit%5D=50"},"corporateActionId":"01934567-89ab-7def-8123-456789abcdef","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","pendingClasses":[]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/unpaid-entitlements/{entryId}/paid":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/markUnpaidEntitlementPaid","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"entryId","in":"path","schema":{"type":"string","description":"The identifier of one unpaid-holder entry, as the unpaid-entitlements list returns it.","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of one unpaid-holder entry, as the unpaid-entitlements list returns it.","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"corporateActionId":{"type":"string","minLength":1},"distributionId":{"type":"string","minLength":1},"classToken":{"$ref":"#/components/schemas/EvmAddress"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"$ref":"#/components/schemas/UnpaidEntitlementReason"},"recordedAt":{"type":"string"},"payment":{"anyOf":[{"type":"object","properties":{"paidAt":{"type":"string"},"paidBy":{"$ref":"#/components/schemas/EvmAddress"},"reference":{"type":"string","minLength":1}},"required":["paidAt","paidBy","reference"],"additionalProperties":false},{"type":"null"}]},"reopens":{"type":"array","items":{"type":"object","properties":{"paidAt":{"type":"string"},"paidBy":{"$ref":"#/components/schemas/EvmAddress"},"reference":{"type":"string","minLength":1},"reopenedAt":{"type":"string"},"reopenedBy":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"type":"string","minLength":1}},"required":["paidAt","paidBy","reference","reopenedAt","reopenedBy","reason"],"additionalProperties":false},"description":"Every earlier payment mark that governance cleared, oldest first."}},"required":["id","corporateActionId","distributionId","classToken","dividend","holder","amount","reason","recordedAt","payment","reopens"],"additionalProperties":false,"examples":[{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}]},"examples":{"example-1":{"value":{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"paymentReference":{"type":"string","description":"The reference of the payment made outside the platform, such as a bank transfer reference.","maxLength":200},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["paymentReference"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/unpaid-entitlements/{entryId}/reopen":{"post":{"tags":["Corporate actions"],"operationId":"v2/token/reopenUnpaidEntitlementPayment","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"entryId","in":"path","schema":{"type":"string","description":"The identifier of one unpaid-holder entry, as the unpaid-entitlements list returns it.","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The identifier of one unpaid-holder entry, as the unpaid-entitlements list returns it.","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"corporateActionId":{"type":"string","minLength":1},"distributionId":{"type":"string","minLength":1},"classToken":{"$ref":"#/components/schemas/EvmAddress"},"dividend":{"anyOf":[{"type":"object","properties":{"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"type":"string","minLength":1}},"required":["featureAddress","dividendId"],"additionalProperties":false},{"type":"null"}]},"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"reason":{"$ref":"#/components/schemas/UnpaidEntitlementReason"},"recordedAt":{"type":"string"},"payment":{"anyOf":[{"type":"object","properties":{"paidAt":{"type":"string"},"paidBy":{"$ref":"#/components/schemas/EvmAddress"},"reference":{"type":"string","minLength":1}},"required":["paidAt","paidBy","reference"],"additionalProperties":false},{"type":"null"}]},"reopens":{"type":"array","items":{"type":"object","properties":{"paidAt":{"type":"string"},"paidBy":{"$ref":"#/components/schemas/EvmAddress"},"reference":{"type":"string","minLength":1},"reopenedAt":{"type":"string"},"reopenedBy":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"type":"string","minLength":1}},"required":["paidAt","paidBy","reference","reopenedAt","reopenedBy","reason"],"additionalProperties":false},"description":"Every earlier payment mark that governance cleared, oldest first."}},"required":["id","corporateActionId","distributionId","classToken","dividend","holder","amount","reason","recordedAt","payment","reopens"],"additionalProperties":false,"examples":[{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}]},"examples":{"example-1":{"value":{"id":"0f8fad5b-d9cb-469f-a165-70867728950e","corporateActionId":"01934567-89ab-7def-8123-456789abcdef","distributionId":"1","classToken":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","dividend":{"featureAddress":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","dividendId":"3"},"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"2000000000","reason":"unclaimed","recordedAt":"2026-10-19T09:00:00.000Z","payment":null,"reopens":[{"paidAt":"2026-10-19T09:30:00.000Z","paidBy":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","reference":"WIRE-1","reopenedAt":"2026-10-19T10:00:00.000Z","reopenedBy":"0x8A791620dd6260079BF849Dc5567aDC3F2FdC318","reason":"Wrong holder"}]}}}}},"headers":{}},"202":{"description":"The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminMutationHeld"},"example":{"approvalId":"0199f1d0-0000-7000-8000-000000000001","status":"pending-approval","statusUrl":"/api/v2/checker-approvals/0199f1d0-0000-7000-8000-000000000001"}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","description":"Why the payment mark is cleared, such as a wrong holder or a wrong reference. Kept in the history.","maxLength":500},"paidAt":{"type":"string"},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["reason","paidAt"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/election":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/getCorporateActionElection","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The election deadline and available options for the corporate action.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"deadline":{"type":"string"},"options":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionElectionOption"},"minItems":2},"defaultOption":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"}},"required":["corporateActionId","tokenAddress","deadline","options","defaultOption"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","deadline":"2027-04-03T09:12:41.000Z","options":[{"key":"participate","label":"Participate","settlementLeg":"primary"},{"key":"decline","label":"Decline","settlementLeg":"none"}],"defaultOption":"participate"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the election deadline and available options for the corporate action. Holders use these option keys when submitting a choice. Repeating the request is safe.","summary":"Read a corporate-action election configuration","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]},"post":{"tags":["Corporate actions"],"operationId":"v2/token/submitCorporateActionElection","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored holder election after the submission is accepted.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"option":{"type":"string","minLength":1},"amount":{"type":"string","pattern":"^[0-9]+$"},"submittedAt":{"type":"string"}},"required":["corporateActionId","tokenAddress","holder","option","amount","submittedAt"],"additionalProperties":false,"examples":[{"corporateActionId":"01934567-89ab-7def-8123-456789abcdef","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","option":"cash","amount":"1000","submittedAt":"2026-09-29T00:00:00Z"}]},"examples":{"example-1":{"value":{"corporateActionId":"01934567-89ab-7def-8123-456789abcdef","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","option":"cash","amount":"1000","submittedAt":"2026-09-29T00:00:00Z"}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14270","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Submits or replaces a verified holder's election before the corporate action deadline. Choose one of the options published for the action; the elected amount comes from the action's holder snapshot. The final tally feeds the corporate-action execution after the deadline.","summary":"Submit a corporate-action election","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"option":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["holder","option"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/election/choice/{holder}":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/getCorporateActionElectionChoice","parameters":[{"name":"assetId","in":"path","schema":{"type":"string"},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true},{"name":"holder","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"choice":{"anyOf":[{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"option":{"type":"string","minLength":1},"amount":{"type":"string","pattern":"^[0-9]+$"},"submittedAt":{"type":"string"}},"required":["corporateActionId","tokenAddress","holder","option","amount","submittedAt"],"additionalProperties":false,"examples":[{"corporateActionId":"01934567-89ab-7def-8123-456789abcdef","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","option":"cash","amount":"1000","submittedAt":"2026-09-29T00:00:00Z"}]},{"type":"null"}]}},"required":["choice"],"additionalProperties":false},"examples":{"example-1":{"value":{"choice":{"corporateActionId":"01934567-89ab-7def-8123-456789abcdef","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","option":"cash","amount":"1000","submittedAt":"2026-09-29T00:00:00Z"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TENANT_WALLET_RESOLUTION_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9244","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/election/tally":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/getCorporateActionElectionTally","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The election tally grouped by option, including counts and elected amounts.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"deadline":{"type":"string"},"eligibleHolderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"submittedHolderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"defaultedHolderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entries":{"type":"array","items":{"type":"object","properties":{"option":{"type":"string","minLength":1},"holderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["option","holderCount","amount"],"additionalProperties":false}},"submittedEntries":{"type":"array","items":{"type":"object","properties":{"option":{"type":"string","minLength":1},"holderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["option","holderCount","amount"],"additionalProperties":false}}},"required":["corporateActionId","tokenAddress","deadline","eligibleHolderCount","submittedHolderCount","defaultedHolderCount","entries","submittedEntries"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","deadline":"2027-04-03T09:12:41.000Z","eligibleHolderCount":0,"submittedHolderCount":0,"defaultedHolderCount":0,"entries":[],"submittedEntries":[]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the amount-weighted tally of holder elections for the corporate action, grouped by option. Holders who did not choose count under the default option, so the entries match the final outcome. The submittedEntries field keeps the counts of submitted choices only. The read is scoped to the selected token and active organization and is not cached.","summary":"Read the corporate-action election tally","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/corporate-actions/{corporateActionId}/election/outcome":{"get":{"tags":["Corporate actions"],"operationId":"v2/token/getCorporateActionElectionOutcome","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"corporateActionId","in":"path","schema":{"type":"string","minLength":1},"required":true}],"responses":{"200":{"description":"The per-holder election outcome and the totals per option.","content":{"application/json":{"schema":{"type":"object","properties":{"corporateActionId":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"deadline":{"type":"string"},"final":{"type":"boolean"},"holders":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"option":{"type":"string","minLength":1},"isDefault":{"type":"boolean"},"state":{"type":"string","enum":["remaining","skipped"]}},"required":["holder","amount","option","isDefault","state"],"additionalProperties":false}},"entries":{"type":"array","items":{"type":"object","properties":{"option":{"type":"string","minLength":1},"holderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^[0-9]+$"},"defaultedHolderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["option","holderCount","amount","defaultedHolderCount"],"additionalProperties":false}}},"required":["corporateActionId","tokenAddress","deadline","final","holders","entries"],"additionalProperties":false},"examples":{"example-1":{"value":{"corporateActionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","deadline":"2027-04-03T09:12:41.000Z","final":true,"holders":[{"holder":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db","amount":"1000","option":"participate","isDefault":true,"state":"remaining"}],"entries":[{"option":"participate","holderCount":1,"amount":"1000","defaultedHolderCount":1}]}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","CORPORATE_ACTION_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12048","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CORPORATE_ACTION_ACKNOWLEDGEMENT_REQUIRED","CORPORATE_ACTION_BOND_ALREADY_MATURED","CORPORATE_ACTION_BOND_MATURED","CORPORATE_ACTION_CALL_PROTECTED","CORPORATE_ACTION_CAPABILITY_MISSING","CORPORATE_ACTION_CASH_LEG_BURN_FEE","CORPORATE_ACTION_CASH_LEG_NEEDS_SMART_ACCOUNT","CORPORATE_ACTION_CASH_LEG_SELF_DENOMINATED","CORPORATE_ACTION_CASH_LEG_UNDERFUNDED","CORPORATE_ACTION_CASH_LEG_UNPAYABLE_HOLDER","CORPORATE_ACTION_CASH_LEG_UNVERIFIABLE_ASSET","CORPORATE_ACTION_CASH_LEG_WALLET_MISMATCH","CORPORATE_ACTION_CHILD_INELIGIBLE","CORPORATE_ACTION_CHILD_NOT_EMPTY","CORPORATE_ACTION_CHILD_UNAUTHORIZED","CORPORATE_ACTION_CLAIM_STILL_OPEN","CORPORATE_ACTION_CLASS_TREASURY_MISMATCH","CORPORATE_ACTION_COMPLETE_ON_CREATE","CORPORATE_ACTION_COORDINATED_DIVIDEND_HELD","CORPORATE_ACTION_CUSTODIAN_FREEZE_REQUIRED","CORPORATE_ACTION_DECIMALS_MISMATCH","CORPORATE_ACTION_DIVIDEND_DECLARED","CORPORATE_ACTION_DIVIDEND_UNLINKED","CORPORATE_ACTION_ELECTION_ABSENT","CORPORATE_ACTION_ELECTION_CLOSED","CORPORATE_ACTION_ELECTION_DEADLINE_INVALID","CORPORATE_ACTION_ELECTION_HOLDER_INELIGIBLE","CORPORATE_ACTION_ELECTION_HOLDER_UNAUTHORIZED","CORPORATE_ACTION_ELECTION_LOCKED","CORPORATE_ACTION_ELECTION_OPEN","CORPORATE_ACTION_ELECTION_OPTION_INVALID","CORPORATE_ACTION_ELECTION_SHAPE_INVALID","CORPORATE_ACTION_ENTRY_ALREADY_PAID","CORPORATE_ACTION_ENTRY_MARK_CHANGED","CORPORATE_ACTION_ENTRY_NOT_PAID","CORPORATE_ACTION_FOLLOW_UP_UNKNOWN","CORPORATE_ACTION_HISTORICAL_BALANCES","CORPORATE_ACTION_HOLDER_LIMIT_EXCEEDED","CORPORATE_ACTION_IDEMPOTENCY_CONFLICT","CORPORATE_ACTION_INSTRUMENT_MISSING","CORPORATE_ACTION_MATURITY_DATE_NOT_REACHED","CORPORATE_ACTION_NOTHING_TO_RELEASE","CORPORATE_ACTION_NO_ENTITLED_HOLDER","CORPORATE_ACTION_PAYOUT_INELIGIBLE","CORPORATE_ACTION_POOL_UNFUNDABLE","CORPORATE_ACTION_PREVIEW_MISMATCH","CORPORATE_ACTION_PREVIEW_REQUIRED","CORPORATE_ACTION_PRICE_DRIFTED","CORPORATE_ACTION_PRICE_UNADJUSTABLE","CORPORATE_ACTION_PROGRAM_MISSING","CORPORATE_ACTION_QUOTE_NOT_APPLICABLE","CORPORATE_ACTION_QUOTE_STALE","CORPORATE_ACTION_RECONCILIATION_BREAK_OPEN","CORPORATE_ACTION_RIGHTS_CLOSE_NOT_READY","CORPORATE_ACTION_RIGHTS_EXERCISE_INELIGIBLE","CORPORATE_ACTION_RIGHTS_EXERCISE_INVALID","CORPORATE_ACTION_RIGHTS_PAYEE_INVALID","CORPORATE_ACTION_RIGHTS_SUBSCRIPTION_ASSET_INVALID","CORPORATE_ACTION_RIGHTS_TRADING_ENDED","CORPORATE_ACTION_RIGHTS_WINDOW_CLOSED","CORPORATE_ACTION_RUN_COMPLETED","CORPORATE_ACTION_SALE_DISABLED","CORPORATE_ACTION_SALE_MISSING","CORPORATE_ACTION_SALE_TOKEN_MISMATCH","CORPORATE_ACTION_SALE_UNKNOWN","CORPORATE_ACTION_SNAPSHOT_DRIFT","CORPORATE_ACTION_SNAPSHOT_NOT_READY","CORPORATE_ACTION_TOKEN_PAUSED","CORPORATE_ACTION_TOKEN_UNINDEXED","CORPORATE_ACTION_UNDECLARED_LEG_UNRELEASED","CORPORATE_ACTION_WATERFALL_CANNOT_RECEIVE","CORPORATE_ACTION_WATERFALL_CLASS_DIVIDEND","CORPORATE_ACTION_WRONG_STATUS","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12049","DALP-12050","DALP-12051","DALP-12052","DALP-12053","DALP-12054","DALP-12055","DALP-12056","DALP-12057","DALP-12058","DALP-12059","DALP-12060","DALP-12061","DALP-12062","DALP-12063","DALP-12065","DALP-12066","DALP-12069","DALP-12071","DALP-12097","DALP-12098","DALP-12142","DALP-12163","DALP-12164","DALP-12166","DALP-12167","DALP-12168","DALP-12171","DALP-12172","DALP-12173","DALP-12174","DALP-12175","DALP-12176","DALP-12177","DALP-12178","DALP-12179","DALP-12180","DALP-12181","DALP-12182","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-12391","DALP-14012","DALP-14013","DALP-14016","DALP-14021","DALP-14030","DALP-14043","DALP-14044","DALP-14046","DALP-14047","DALP-14048","DALP-14049","DALP-14050","DALP-14057","DALP-14070","DALP-14071","DALP-14072","DALP-14073","DALP-14107","DALP-14110","DALP-14426","DALP-14427","DALP-14480","DALP-14481","DALP-14746","DALP-184651","DALP-184652","DALP-184653","DALP-184654","DALP-184671","DALP-184672","DALP-184673","DALP-184674","DALP-184675","DALP-184676","DALP-184677","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_FEATURE_STORED_ROW_INVALID","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236","DALP-18238"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the allocation each holder receives from the stored plan once the election applies: the chosen or default option, whether it is the default, and whether the holder is still planned or skipped. Totals per option include holders who did not choose. The read changes nothing and needs the same access as the tally. The final field is true from the election deadline on, and before then the outcome is provisional.","summary":"Read the corporate-action election outcome","x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/addons/fixed-yield-schedules/{scheduleAddress}":{"get":{"tags":["Yield and distributions"],"operationId":"v2/addons/fixedYield/read","parameters":[{"name":"scheduleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Standalone fixed-yield schedule in a single-resource envelope. links.self is the canonical v2 URL for the schedule.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"startDate":{"type":"string"},"endDate":{"type":"string"},"rate":{"type":"string"},"rateBpsExact":{"type":"string"},"interval":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"denominationAsset":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"anyOf":[{"type":"string"},{"type":"number"}]},"symbol":{"type":"string"}},"required":["id","decimals","symbol"],"additionalProperties":false},"currentPeriod":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false},{"type":"null"}]},"nextPeriod":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false},{"type":"null"}]},"periods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false}}},"required":["id","startDate","endDate","rate","rateBpsExact","interval","totalClaimed","totalUnclaimedYield","totalYield","denominationAsset","currentPeriod","nextPeriod","periods"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6","startDate":"2026-03-04T09:12:41.000Z","endDate":"2029-03-04T00:00:00.000Z","rate":"500","rateBpsExact":"500","interval":"MONTHLY","totalClaimed":"98000.00","totalUnclaimedYield":"27000.00","totalYield":"125000.00","denominationAsset":{"id":"0x5FbDB2315678afecb367f032d93F642f64180aa3","decimals":6,"symbol":"EURC"},"currentPeriod":{"id":"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6-period-2","startDate":"2026-04-04T09:12:41.000Z","endDate":"2026-05-04T09:12:41.000Z","totalClaimed":"0","totalUnclaimedYield":"25000.00","totalYield":"25000.00","progress":{"value":0,"max":1},"completed":false},"nextPeriod":null,"periods":[{"id":"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6-period-1","startDate":"2026-03-04T09:12:41.000Z","endDate":"2026-04-04T09:12:41.000Z","totalClaimed":"98000.00","totalUnclaimedYield":"2000.00","totalYield":"100000.00","progress":{"value":0.98,"max":1},"completed":true},{"id":"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6-period-2","startDate":"2026-04-04T09:12:41.000Z","endDate":"2026-05-04T09:12:41.000Z","totalClaimed":"0","totalUnclaimedYield":"25000.00","totalYield":"25000.00","progress":{"value":0,"max":1},"completed":false}]},"links":{"self":"/api/v2/addons/fixed-yield-schedules/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","FIXED_YIELD_OPERATION_ADDON_NOT_FOUND","FIXED_YIELD_OPERATION_DENOMINATION_ASSET_NOT_INDEXED","FIXED_YIELD_OPERATION_DENOMINATION_METADATA_NOT_INDEXED","FIXED_YIELD_OPERATION_DEPLOYMENT_NOT_INDEXED","FIXED_YIELD_OPERATION_SCHEDULE_NOT_FOUND","FIXED_YIELD_OPERATION_SYSTEM_MISMATCH","FIXED_YIELD_OPERATION_TOKEN_LINKAGE_NOT_INDEXED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9470","DALP-9471","DALP-9472","DALP-9473","DALP-9474","DALP-9475","DALP-9476"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one standalone fixed-yield schedule identified by scheduleAddress, wrapped in a single-resource envelope. The schedule is not a token-attached feature. The read is idempotent. Use the returned periods to decide whether to claim, top up, or withdraw.","summary":"Read a fixed-yield schedule","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/fixed-yield-schedules":{"post":{"tags":["Yield and distributions"],"operationId":"v2/addons/fixedYield/create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled standalone fixed-yield schedule after create completed within the wait window.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"startDate":{"type":"string"},"endDate":{"type":"string"},"rate":{"type":"string"},"rateBpsExact":{"type":"string"},"interval":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"denominationAsset":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"anyOf":[{"type":"string"},{"type":"number"}]},"symbol":{"type":"string"}},"required":["id","decimals","symbol"],"additionalProperties":false},"currentPeriod":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false},{"type":"null"}]},"nextPeriod":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false},{"type":"null"}]},"periods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}-period-\\d+$"},"startDate":{"type":"string"},"endDate":{"type":"string"},"totalClaimed":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalUnclaimedYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"totalYield":{"anyOf":[{"type":"string"},{"type":"number"}]},"progress":{"$ref":"#/components/schemas/MeterProgress"},"completed":{"type":"boolean"}},"required":["id","startDate","endDate","totalClaimed","totalUnclaimedYield","totalYield","progress","completed"],"additionalProperties":false}}},"required":["id","startDate","endDate","rate","rateBpsExact","interval","totalClaimed","totalUnclaimedYield","totalYield","denominationAsset","currentPeriod","nextPeriod","periods"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6","startDate":"2026-03-04T09:12:41.000Z","endDate":"2029-03-04T00:00:00.000Z","rate":"500","rateBpsExact":"500","interval":"MONTHLY","totalClaimed":"98000.00","totalUnclaimedYield":"27000.00","totalYield":"125000.00","denominationAsset":{"id":"0x5FbDB2315678afecb367f032d93F642f64180aa3","decimals":6,"symbol":"EURC"},"currentPeriod":{"id":"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6-period-2","startDate":"2026-04-04T09:12:41.000Z","endDate":"2026-05-04T09:12:41.000Z","totalClaimed":"0","totalUnclaimedYield":"25000.00","totalYield":"25000.00","progress":{"value":0,"max":1},"completed":false},"nextPeriod":null,"periods":[{"id":"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6-period-1","startDate":"2026-03-04T09:12:41.000Z","endDate":"2026-04-04T09:12:41.000Z","totalClaimed":"98000.00","totalUnclaimedYield":"2000.00","totalYield":"100000.00","progress":{"value":0.98,"max":1},"completed":true},{"id":"0x2279b7a0a67db372996a5fab50d91eaa73d2ebe6-period-2","startDate":"2026-04-04T09:12:41.000Z","endDate":"2026-05-04T09:12:41.000Z","totalClaimed":"0","totalUnclaimedYield":"25000.00","totalYield":"25000.00","progress":{"value":0,"max":1},"completed":false}]},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/addons/fixed-yield-schedules/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FIXED_YIELD_OPERATION_ADDON_NOT_FOUND","FIXED_YIELD_OPERATION_DENOMINATION_ASSET_NOT_INDEXED","FIXED_YIELD_OPERATION_DENOMINATION_METADATA_NOT_INDEXED","FIXED_YIELD_OPERATION_DEPLOYMENT_NOT_INDEXED","FIXED_YIELD_OPERATION_SCHEDULE_NOT_FOUND","FIXED_YIELD_OPERATION_SYSTEM_MISMATCH","FIXED_YIELD_OPERATION_TOKEN_LINKAGE_NOT_INDEXED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9470","DALP-9471","DALP-9472","DALP-9473","DALP-9474","DALP-9475","DALP-9476"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a standalone fixed-yield schedule for the named token. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, top up denomination assets so holders can claim completed periods.","summary":"Create a fixed-yield schedule","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"yieldRate":{"type":"integer","minimum":0,"maximum":10000},"paymentInterval":{"anyOf":[{"type":"string","enum":["HOURLY","DAILY","WEEKLY","MONTHLY","QUARTERLY","SEMI_ANNUAL","YEARLY"]},{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}]},"startTime":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"endTime":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"number","minimum":0},{"type":"string"}]},"token":{"$ref":"#/components/schemas/EvmAddress"},"countryCode":{"type":"integer","minimum":1,"maximum":999}},"required":["yieldRate","paymentInterval","token","countryCode"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4225","DALP-4261"]}},"/api/v2/addons/fixed-yield-schedules/{scheduleAddress}/top-ups":{"post":{"tags":["Yield and distributions"],"operationId":"v2/addons/fixedYield/topUp","parameters":[{"name":"scheduleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled top-up or withdraw of denomination assets on the standalone schedule. data.txHash is the chain transaction.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"txHash":{"type":"string"}},"required":["txHash"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/addons/fixed-yield-schedules/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FIXED_YIELD_OPERATION_ADDON_NOT_FOUND","FIXED_YIELD_OPERATION_DENOMINATION_ASSET_NOT_INDEXED","FIXED_YIELD_OPERATION_DENOMINATION_METADATA_NOT_INDEXED","FIXED_YIELD_OPERATION_DEPLOYMENT_NOT_INDEXED","FIXED_YIELD_OPERATION_SCHEDULE_NOT_FOUND","FIXED_YIELD_OPERATION_SYSTEM_MISMATCH","FIXED_YIELD_OPERATION_TOKEN_LINKAGE_NOT_INDEXED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9470","DALP-9471","DALP-9472","DALP-9473","DALP-9474","DALP-9475","DALP-9476"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","FIXED_YIELD_DENOMINATION_ASSET_NOT_INDEXED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0076","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds denomination assets to the named standalone schedule. The amount is an integer decimal string in denomination base units. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. Prefer: wait=<seconds> waits for settlement. After settlement, holders can claim completed periods.","summary":"Top up a fixed-yield schedule","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["amount","tokenAddress"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4324"]}},"/api/v2/addons/fixed-yield-schedules/{scheduleAddress}/withdrawals":{"post":{"tags":["Yield and distributions"],"operationId":"v2/addons/fixedYield/withdraw","parameters":[{"name":"scheduleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled top-up or withdraw of denomination assets on the standalone schedule. data.txHash is the chain transaction.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"txHash":{"type":"string"}},"required":["txHash"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/addons/fixed-yield-schedules/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FIXED_YIELD_OPERATION_ADDON_NOT_FOUND","FIXED_YIELD_OPERATION_DENOMINATION_ASSET_NOT_INDEXED","FIXED_YIELD_OPERATION_DENOMINATION_METADATA_NOT_INDEXED","FIXED_YIELD_OPERATION_DEPLOYMENT_NOT_INDEXED","FIXED_YIELD_OPERATION_SCHEDULE_NOT_FOUND","FIXED_YIELD_OPERATION_SYSTEM_MISMATCH","FIXED_YIELD_OPERATION_TOKEN_LINKAGE_NOT_INDEXED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9470","DALP-9471","DALP-9472","DALP-9473","DALP-9474","DALP-9475","DALP-9476"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Withdraws denomination assets from the named standalone schedule to the recipient in the request body. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. Prefer: wait=<seconds> waits for settlement. Use this for excess treasury funds, not for holder claims.","summary":"Withdraw from a fixed-yield schedule","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"amount":{"type":"string","pattern":"^[0-9]+$"},"to":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["amount","to","tokenAddress"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003","DALP-4325"]}},"/api/v2/addons/fixed-yield-schedules/{scheduleAddress}/claims":{"post":{"tags":["Yield and distributions"],"operationId":"v2/addons/fixedYield/claim","parameters":[{"name":"scheduleAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled claim of completed coupon periods. complete is false when more completed periods remain.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"txHash":{"type":"string"},"complete":{"type":"boolean"}},"required":["txHash"],"additionalProperties":false},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"txHash":"0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24","complete":true},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"]},"links":{"self":"/api/v2/addons/fixed-yield-schedules/0x2279B7A0a67DB372996a5FaB50D91eAA73d2eBe6"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"},"complete":{"type":"boolean","description":"True when this claim reaches every completed period, so the holder needs no further claim once it settles; false when more claims remain. Absent when unknown. On a 202 handle it is the forecast made when the claim was queued.","examples":[true]}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","FIXED_YIELD_OPERATION_ADDON_NOT_FOUND","FIXED_YIELD_OPERATION_DENOMINATION_ASSET_NOT_INDEXED","FIXED_YIELD_OPERATION_DENOMINATION_METADATA_NOT_INDEXED","FIXED_YIELD_OPERATION_DEPLOYMENT_NOT_INDEXED","FIXED_YIELD_OPERATION_SCHEDULE_NOT_FOUND","FIXED_YIELD_OPERATION_SYSTEM_MISMATCH","FIXED_YIELD_OPERATION_TOKEN_LINKAGE_NOT_INDEXED","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469","DALP-9470","DALP-9471","DALP-9472","DALP-9473","DALP-9474","DALP-9475","DALP-9476"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Claims completed standalone fixed-yield periods for the caller. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. Prefer: wait=<seconds> waits for settlement. complete is false when more completed periods remain; call claim again to continue.","summary":"Claim fixed yield","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003","DALP-4320","DALP-4322"]}},"/api/v2/token-features/definitions":{"get":{"tags":["Asset design"],"operationId":"v2/token/features/definitions","parameters":[],"responses":{"200":{"description":"Returns the canonical field, validation, source, and operation definitions used by token feature authoring and issuance.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":128},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991},"label":{"type":"string","minLength":1,"maxLength":256},"multipleInstances":{"type":"boolean"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FeatureFieldDefinition"}},"operations":{"type":"array","items":{"type":"string","enum":["addAuthorizedConverter","bindClass"]}},"constraints":{"type":"array","items":{"type":"string","enum":["waterfall-terms","conversion-terms","yield-dates","external-fee-terms","converter-terms"]}}},"required":["id","revision","label","multipleInstances","fields","operations","constraints"],"additionalProperties":false}},"limits":{"type":"object","properties":{"depth":{"type":"number","enum":[8]},"nodes":{"type":"number","enum":[2048]},"links":{"type":"number","enum":[256]}},"required":["depth","nodes","links"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","enum":["/api/v2/token-features/definitions"]}},"required":["self"],"additionalProperties":false}},"required":["data","limits","links"],"additionalProperties":false,"examples":[{"data":[{"id":"dividend-yield","revision":1,"label":"dividend-yield","multipleInstances":false,"fields":[{"kind":"scalar","id":"denominationAsset","label":"denominationAsset","scalarType":"address","required":true,"accepts":["erc20"],"reference":{"targets":["token"],"allowSelf":true,"multipleInstances":false},"nonzero":true},{"kind":"scalar","id":"treasury","label":"treasury","scalarType":"address","required":true,"accepts":["account","feature"],"reference":{"targets":["feature"],"requiresFeature":"distribution-waterfall","allowSelf":true,"multipleInstances":false,"reciprocal":{"featureId":"distribution-waterfall","fieldId":"classTerms"}},"nonzero":true},{"kind":"scalar","id":"defaultClaimDeadlineDays","label":"defaultClaimDeadlineDays","scalarType":"integer","required":true,"minimum":1,"maximum":9007199254740991,"defaultValue":90}],"operations":[],"constraints":[]}],"limits":{"depth":8,"nodes":2048,"links":256},"links":{"self":"/api/v2/token-features/definitions"}}]},"examples":{"example-1":{"value":{"data":[{"id":"dividend-yield","revision":1,"label":"dividend-yield","multipleInstances":false,"fields":[{"kind":"scalar","id":"denominationAsset","label":"denominationAsset","scalarType":"address","required":true,"accepts":["erc20"],"reference":{"targets":["token"],"allowSelf":true,"multipleInstances":false},"nonzero":true},{"kind":"scalar","id":"treasury","label":"treasury","scalarType":"address","required":true,"accepts":["account","feature"],"reference":{"targets":["token","feature"],"requiresFeature":"distribution-waterfall","allowSelf":true,"multipleInstances":false,"reciprocal":{"featureId":"distribution-waterfall","fieldId":"classTerms"}},"nonzero":true},{"kind":"scalar","id":"defaultClaimDeadlineDays","label":"defaultClaimDeadlineDays","scalarType":"integer","required":true,"minimum":1,"maximum":9007199254740991,"defaultValue":90}],"operations":[],"constraints":[]}],"limits":{"depth":8,"nodes":2048,"links":256},"links":{"self":"/api/v2/token-features/definitions"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0083","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the canonical field, validation, source, and operation definitions used by token feature authoring and issuance.","summary":"List token feature definitions","x-dalp-auth":"session-or-api-key"}},"/api/v2/tokens/{assetId}/features/hold/reservers":{"post":{"tags":["Token features"],"operationId":"v2/token/addHoldReserver","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Allows an address to place holds on this token through the attached hold feature, with the lifetime its holds keep. A hold feature starts with an empty allow-list, so a trading venue can only back orders on this token once it is added here. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement. After settlement, list the token features to read the reserver set.","summary":"Allow a reserver to place holds","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"reserver":{"$ref":"#/components/schemas/EvmAddress"},"holdLifetimeSeconds":{"type":"integer","minimum":0,"maximum":4294967295}},"required":["reserver","holdLifetimeSeconds"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]},"delete":{"tags":["Token features"],"operationId":"v2/token/removeHoldReserver","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the token URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"2026-03-04T09:12:41.000Z","name":"Northwind Coffee Series A Bond","symbol":"NWCAB","logoUrl":"example","decimals":"example","basePrice":"100.00","basePriceCurrencyCode":"EUR","totalSupply":"2500000.00","totalSupplyExact":"2500000000000000000000000","extensions":["ACCESS_MANAGED"],"implementsERC3643":true,"smartInterface":2,"implementsSMART":true,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":null,"capped":{"cap":"5000000.00","capExact":"5000000000000000000000000"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"0","redeemedAmountExact":"0"},"yield":null,"bond":{"faceValue":"100.00","faceValueExact":"100000000000000000000","isMatured":false,"maturityDate":"2029-03-04T00:00:00.000Z","totalRedeemed":"0","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":null,"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":12,"totalValueInBaseCurrency":"250000000.00","totalBurned":"0","totalBurnedExact":"0"}},"meta":{"txHashes":["0x2a8f0d4c1b6e39a7c05d8f21b4e7a63c9d0f5b18e24a7c36d91b0f8e5a3c7d24"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Drops an address from the hold feature's allow-list. Every hold it placed is released at once, which frees the holders and invalidates whatever those holds were backing. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Drop a reserver from the hold feature","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"reserver":{"$ref":"#/components/schemas/EvmAddress"}},"required":["reserver"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/hold/reservations/clear":{"post":{"tags":["Token features"],"operationId":"v2/token/clearHoldReservation","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the route URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Clears one reserver's stored hold on one holder when that hold no longer counts: it expired, the reserver was removed, or the reserver's feature was detached. The hold feature's expire call is open to anyone, so the caller needs no token role, only wallet verification. An entry that still counts, or one that is already empty, stays as it is and the call still succeeds. The read GET /api/v2/tokens/{assetId}/features?include=inactiveReservations lists the entries this call clears. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Clear an inactive hold reservation","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"holder":{"$ref":"#/components/schemas/EvmAddress"},"reserver":{"$ref":"#/components/schemas/EvmAddress"}},"required":["holder","reserver"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/{feature}/recover":{"post":{"tags":["Token features"],"operationId":"v2/token/recoverFeatureTokens","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"feature","in":"path","schema":{"type":"string","enum":["historical-balances","maturity-redemption","fixed-treasury-yield","dividend-yield","interest-yield","voting-power","aum-fee","transaction-fee","transaction-fee-accounting","external-transaction-fee","conversion","conversion-minter","distribution-waterfall","permit","hold","register-lines","supply-delegate"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Settled token after the feature write completed within the wait window. data is the indexed token. meta.txHashes are the submitted transactions. links.self is the route URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure. The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","DISTRIBUTION_WATERFALL_FEATURE_NOT_FOUND","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-14005","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_RECOVER_ERC20_NOT_ERC20","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-12094","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","ERC20_METADATA_PROBE_UNAVAILABLE","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9079","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Sends ERC-20 tokens that an attached feature contract holds by mistake to a recipient. The caller needs the token's emergency role and wallet verification. The platform refuses a feature that is not attached, a feature contract that does not report the IRecoverable interface, and a token address that is not an ERC-20. An amount of 0 changes nothing. The distribution waterfall can only send out its denomination asset above the unpaid class legs. The read GET /api/v2/tokens/{assetId}/features?include=balances shows each feature's balances and the amount it can send out now. By default the platform queues the transaction and answers with the transaction identifier and status URL under status 202. A caller that sends Prefer: wait=<seconds> waits for settlement.","summary":"Recover ERC-20 tokens held by a feature","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"token":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"recipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["token","amount","recipient"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/supply-delegate/delegates":{"post":{"tags":["Token features"],"operationId":"v2/token/addSupplyDelegate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"delegate":{"$ref":"#/components/schemas/EvmAddress"},"vouchesForCallers":{"type":"boolean","description":"True when the delegate is a contract that vouches for its callers, such as a system add-on factory for the add-ons it deployed: every caller it vouches for acts as the delegate."},"canMint":{"type":"boolean"},"canBurn":{"type":"boolean"},"mintCap":{"type":"string","pattern":"^[0-9]+$"}},"required":["delegate","vouchesForCallers","canMint","canBurn"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003","DALP-4496","DALP-4497","DALP-4498","DALP-4499","DALP-4500","DALP-4501"]}},"/api/v2/tokens/{assetId}/features/supply-delegate/delegate-removals":{"post":{"tags":["Token features"],"operationId":"v2/token/removeSupplyDelegate","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"delegate":{"$ref":"#/components/schemas/EvmAddress"}},"required":["delegate"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-200384","DALP-4001","DALP-4003","DALP-4495"]}},"/api/v2/tokens/{assetId}/features/{feature}/accrual-exclusions":{"post":{"tags":["Token features"],"operationId":"v2/token/accrualExclusions/create","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"feature","in":"path","schema":{"type":"string","enum":["interest-yield","fixed-treasury-yield"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","FIXED_YIELD_ACCRUAL_EXCLUSION_LIMIT_REACHED","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TOKEN_FEATURES_NO_YIELD_AVAILABLE_CLAIM_FIRST_PERIOD_NOT_COMPLETED_YET","TOKEN_FEATURES_NO_YIELD_AVAILABLE_FOR_HOLDER","TOKEN_FEATURES_YIELD_FULLY_CONSUMED","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-0332","DALP-0606","DALP-0608","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14392","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"account":{"$ref":"#/components/schemas/EvmAddress"},"excluded":{"type":"boolean"}},"required":["account","excluded"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/tokens/{assetId}/features/{feature}/transitions":{"post":{"tags":["Token features"],"operationId":"v2/token/features/transition","parameters":[{"name":"assetId","in":"path","schema":{"type":"string","minLength":1,"maxLength":255},"required":true},{"name":"feature","in":"path","schema":{"type":"string","enum":["dividend-yield","interest-yield"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRecord"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenFactory":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","complianceContract":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","identityRegistry":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","type":"bond","createdAt":"example","name":"example","symbol":"example","logoUrl":"example","decimals":"example","basePrice":"example","basePriceCurrencyCode":null,"totalSupply":"example","totalSupplyExact":"0","extensions":["ACCESS_MANAGED"],"implementsERC3643":false,"smartInterface":0,"implementsSMART":false,"identity":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","contractName":"example"},"isContract":false,"registered":{"isRegistered":true,"country":"example"},"claims":[{"id":"example","name":"example","signature":"example","revoked":false,"issuer":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","account":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}},"values":[{"key":"example","value":"example"}],"isTrusted":false}]},"pausable":{"status":"pre-launch"},"collateral":{"collateral":"example","collateralExact":"0","expiryTimestamp":"example"},"capped":{"cap":"example","capExact":"0"},"createdBy":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"redeemable":{"redeemedAmount":"example","redeemedAmountExact":"0"},"yield":{"schedule":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}}},"bond":{"faceValue":"example","faceValueExact":"0","isMatured":false,"maturityDate":"example","totalRedeemed":"example","totalRedeemedExact":"0","denominationAsset":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","symbol":"ETH","decimals":"example"}},"fund":{"managementFeeBps":"example"},"accessControl":{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","addonModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"admin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"auditor":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimPolicyManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"claimIssuer":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"complianceManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodian":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"emergency":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"feedsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"fundsManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"gasManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"governance":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"identityRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"organisationIdentityManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"saleAdmin":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"supplyManagement":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"systemModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenFactoryRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"tokenManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"trustedIssuersMetaRegistryModule":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"addonManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"venueManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"assetDesigner":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"bankRailManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"custodyGatewayPermissionManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"escrowManager":[{"id":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","isContract":false}],"roleAdmins":[{"id":"0x5208","role":"0x5208","roleFieldName":"addonManager","adminRole":"0x5208","adminFieldName":"addonManager"}]},"complianceModuleConfigs":[],"userPermissions":{"roles":{"admin":false,"custodian":false,"emergency":false,"fundsManager":false,"governance":false,"saleAdmin":false,"supplyManagement":false},"actions":{"burn":false,"grantRole":false,"grantRoleByParticipant":false,"revokeRole":false,"revokeRoleByParticipant":false,"mint":false,"pause":false,"addComplianceModule":false,"approve":false,"forcedRecover":false,"freezeAddress":false,"recoverERC20":false,"recoverTokens":false,"redeem":false,"mature":false,"removeComplianceModule":false,"setCap":false,"setComplianceModuleParams":false,"setYieldSchedule":false,"topUpDenominationAsset":false,"withdrawDenominationAsset":false,"transfer":false,"forcedTransfer":false,"unpause":false,"updateCollateral":false,"freezePartial":false,"unfreezePartial":false,"claimIssue":false,"claimRevoke":false,"setMetadata":false,"removeMetadata":false,"setAumFeeBps":false,"setAumFeeRecipient":false,"approveTransfer":false,"revokeTransferApproval":false,"collectAumFee":false,"freezeAumFeeRate":false,"claimYield":false,"setYieldTreasury":false,"matureEarly":false,"setMaturityTreasury":false,"topUpMaturityTreasury":false,"topUpYieldTreasury":false,"topUpBondDenomination":false,"setTransactionFeeRates":false,"setTransactionFeeRecipient":false,"freezeTransactionFeeRates":false,"setExternalTransactionFees":false,"setExternalTransactionFeeRecipient":false,"setExternalTransactionFeeToken":false,"freezeExternalTransactionFees":false,"setTransactionFeeAccountingRates":false,"setTransactionFeeAccountingRecipient":false,"freezeTransactionFeeAccountingRates":false,"reconcileFees":false,"setFeeExemption":false,"delegate":false,"delegateBySig":false,"permit":false,"publishTrigger":false,"disableTrigger":false,"setConversionWindow":false,"convert":false,"forceConvert":false,"addAuthorizedConverter":false,"removeAuthorizedConverter":false,"addHoldReserver":false,"removeHoldReserver":false,"setPrice":false,"featureAttach":false,"featureDetach":false,"featureRotate":false}},"stats":{"balancesCount":0,"totalValueInBaseCurrency":"example","totalBurned":"example","totalBurnedExact":"0"}},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"],"transactionId":"01934567-89ab-7def-8123-456789abcdef"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"Success The change is held for a second user's approval and has not run. Read the approval at `statusUrl`, also sent as `Location`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},{"$ref":"#/components/schemas/AdminMutationHeld"}]},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["ASSET_REFERENCE_INVALID","BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9323","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ASSET_REFERENCE_INVALID","status":400,"message":"Asset reference names neither a token contract nor a Canton instrument","data":{"id":"DALP-9323","why":"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.","fix":"Send a token contract address, or send the instrument id together with `instrumentAdmin`.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"to":{"$ref":"#/components/schemas/TokenFeatureTransitionTarget"}},"required":["to"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/portfolio/returns/collectable":{"get":{"tags":["Yield and distributions"],"operationId":"v2/portfolio/returns/collectable","parameters":[],"responses":{"200":{"description":"Every return the acting wallet can collect now, in the order a collection claims them: fixed treasury yield, then dividends by payment date, then interest. An empty list means there is nothing to collect.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnsCollectableSuccess"},"examples":{"example-1":{"value":{"data":{"items":[{"returnType":"dividend","tokenAddress":"0x1111111111111111111111111111111111111111","tokenName":"Grey Matter Equity","tokenSymbol":"GME","featureAddress":"0x2222222222222222222222222222222222222222","dividendId":"3","amountExact":"40000000","denominationAddress":"0x3333333333333333333333333333333333333333","denominationSymbol":"EURC","denominationDecimals":6}]},"links":{"self":"/api/v2/portfolio/returns/collectable"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists every return the acting wallet (X-Executor) can collect now: completed fixed-treasury yield, paid and unclaimed dividends before their claim deadline, and accrued interest on an attached, unpaused schedule. Fixed-yield amounts are read live from the chain; the rest come from indexed state. Nothing is written.","summary":"List collectable returns","x-dalp-auth":"session-or-api-key"}},"/api/v2/portfolio/returns/collections":{"post":{"tags":["Yield and distributions"],"operationId":"v2/portfolio/returns/collect","parameters":[{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/preferOnlyWaitPerItemNoFundingPause"}],"responses":{"200":{"description":"One result per claimed item, in claim order, and remaining: the collectable items this request did not attempt because at most ten are claimed per request. A failed or skipped item carries a reason and a message; the others were still claimed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnsCollectionSuccess"},"examples":{"example-1":{"value":{"data":{"items":[{"returnType":"dividend","tokenAddress":"0x1111111111111111111111111111111111111111","tokenName":"Grey Matter Equity","tokenSymbol":"GME","featureAddress":"0x2222222222222222222222222222222222222222","dividendId":"3","amountExact":"40000000","denominationAddress":"0x3333333333333333333333333333333333333333","denominationSymbol":"EURC","denominationDecimals":6,"status":"collected","transactionId":"tx_01J8Z6Q0000000000000000000","transactionHash":"0x4444444444444444444444444444444444444444444444444444444444444444","reason":null,"message":null}],"remaining":0},"links":{"self":"/api/v2/portfolio/returns/collections"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CONVERSION_INTEREST_BACKLOG_PENDING","CONVERSION_WINDOW_CLOSED","CONVERSION_WINDOW_NOT_OPEN","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","TRANSACTION_QUEUE_CONFLICT","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-14057","DALP-14270","DALP-9080","DALP-9086","DALP-9433","DALP-9460","DALP-9461","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","OPERATION_FAMILY_UNSUPPORTED","TOKEN_ACCESS_INTERFACE_UNSUPPORTED","TOKEN_WRITE_OUTCOME_UNKNOWN","TRANSACTION_QUEUE_DEAD_LETTER","TRANSACTION_QUEUE_SMART_WALLET_GAS_REQUIRED","TRANSACTION_QUEUE_UNPROCESSABLE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0447","DALP-12025","DALP-12088","DALP-14034","DALP-9326","DALP-9526"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"OPERATION_FAMILY_UNSUPPORTED","status":422,"message":"The operation is not available on the selected ledger family","data":{"id":"DALP-9326","why":"The request selected a ledger family for which this operation has no serving contract, so the platform stopped before it queried a different ledger.","fix":"Select a family from `data.supportedFamilies`, then retry. An empty list means this deployment serves the operation on no family.","retryable":false,"category":"domain","operation":"0xabababababababababababababababababababab","requestedFamily":"evm","supportedFamilies":[]}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","DURABLE_EXECUTION_ENGINE_CALL_MALFORMED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_AMOUNT_DENOMINATION_UNAVAILABLE","TOKEN_FEATURES_UNAVAILABLE","TOKEN_FEATURE_PERSISTENCE_FAILED","TRANSACTION_QUEUE_RETRIES_EXHAUSTED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","exec.queue.DEPENDENCY"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0333","DALP-0660","DALP-12037","DALP-12038","DALP-12104","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14274","DALP-14276","DALP-14747","DALP-9253","DALP-9266","DALP-9441","DALP-9506"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["INDEXER_BARRIER_TIMEOUT","REQUEST_DEADLINE_EXCEEDED","TRANSACTION_QUEUE_CONFIRMATION_TIMEOUT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0448","DALP-12074","DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"INDEXER_BARRIER_TIMEOUT","status":504,"message":"The transaction succeeded on-chain, but its indexed data is not ready","data":{"id":"DALP-12074","why":"The indexer did not finish projecting the transaction's block before the request deadline. The write has already succeeded and must not be submitted again.","fix":"Do not resubmit the mutation. Read the transaction request with `data.transactionId` at `GET /api/v2/transaction-requests/:transactionId`, then repeat the read after a short wait. If the read keeps timing out, ask an operator to check indexer errors for `data.chainId` at or before `data.blockNumber`.","retryable":false,"category":"dependency","axis":"drained","blockNumber":1,"chainId":1,"timeoutMs":1,"transactionHash":"0xabababababababababababababababababababab","transactionId":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Verifies the wallet once, then claims each collectable return as its own queued transaction, one after another, waiting for each to settle. A failed claim does not stop the others. Answers 200 with one result per item and remaining, the number of collectable items this request did not attempt because at most ten are claimed per request. Read the recorded claim outcomes before sending another request to collect what remains.","summary":"Collect every collectable return","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key","x-contract-errors":["DALP-4001","DALP-4003"]}},"/api/v2/portfolio/returns/collections/{transactionHash}":{"get":{"tags":["Yield and distributions"],"operationId":"v2/portfolio/returns/collection","parameters":[{"name":"transactionHash","in":"path","schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"required":true}],"responses":{"200":{"description":"Every return the acting wallet claimed in the transaction, read from the indexed claim events. An empty list means no claim by this wallet is indexed for the transaction.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnsCollectedSuccess"},"examples":{"example-1":{"value":{"data":{"items":[{"returnType":"interest","tokenAddress":"0x1111111111111111111111111111111111111111","tokenName":"Grey Matter Bond","tokenSymbol":"GMB","featureAddress":"0x2222222222222222222222222222222222222222","dividendId":null,"amountExact":"43700000","denominationAddress":"0x3333333333333333333333333333333333333333","denominationSymbol":"EURC","denominationDecimals":6}]},"links":{"self":"/api/v2/portfolio/returns/collections/0x4444444444444444444444444444444444444444444444444444444444444444"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["BAD_REQUEST","CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_EXECUTOR_FAMILY_UNSUPPORTED","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0001","DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9430","DALP-9432"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","BLOCKCHAIN_ROLE_REQUIRED","CONTRACT_ERROR","FORBIDDEN","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFF_CHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFF_CHAIN_USER_PERMISSION_REQUIRED","REQUEST_CHAIN_CUSTODY_ACCOUNT_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TOKEN_ACCESS_UNAUTHORIZED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0003","DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-14266","DALP-14267","DALP-14268","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438","DALP-9439","DALP-9485"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","SYSTEM_NOT_FOUND","TOKEN_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0022","DALP-0279","DALP-0706","DALP-12296","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONFLICT","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","TOKEN_FEATURE_ALREADY_ATTACHED","TOKEN_FEATURE_CONVERSION_INCOMPATIBLE","TOKEN_FEATURE_CONVERSION_PROVIDER_UNRESOLVABLE","TOKEN_FEATURE_DIVIDENDS_OUTSTANDING","TOKEN_FEATURE_FACTORY_NOT_FOUND","TOKEN_FEATURE_FEATURE_NOT_FOUND","TOKEN_FEATURE_NAME_MISMATCH","TOKEN_FEATURE_NOT_REPLACEABLE","TOKEN_FEATURE_STALE_INDEX","TOKEN_FEATURE_UNCHANGED_ADDRESS","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0024","DALP-12019","DALP-12142","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14057","DALP-9086","DALP-9433","DALP-9462","DALP-9463","DALP-9464","DALP-9465","DALP-9466","DALP-9467","DALP-9468","DALP-9469"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","TOKEN_ACCESS_INTERFACE_UNSUPPORTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12025"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"TOKEN_ACCESS_INTERFACE_UNSUPPORTED","status":422,"message":"The token does not implement the interface this operation needs","data":{"id":"DALP-12025","why":"`data.requiredInterfaces` names the interface the token contract lacks: `PAUSABLE`, `CUSTODIAN` or `IRecoverable`. `data.tokenAddress` names the token.","fix":"Run this operation on a token that implements the named interface.","retryable":false,"category":"domain","tokenAddress":"0xabababababababababababababababababababab"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","TOKEN_PROJECTION_DATA_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124","DALP-18236"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","DALP-0083","DATABASE_QUERY_REFUSED","OIDC_MFA_UNAVAILABLE","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","SYSTEM_READ_FAILED","TOKEN_FEATURE_PERSISTENCE_FAILED","WALLET_RESOLUTION_INVALID","WALLET_VERIFICATION_CAPACITY","WALLET_VERIFICATION_DEPENDENCY_FAILED","core.database.QUERY_FAILED","core.network.RPC_REQUEST_FAILED","dapi.assets.TOKEN_ACCESS_UNAVAILABLE","dapi.runtime.AUTHORIZATION_CHECK_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12037","DALP-12038","DALP-12148","DALP-12300","DALP-12307","DALP-12336","DALP-12360","DALP-14273","DALP-14276","DALP-9253","DALP-9266","DALP-9441"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"BLOCKCHAIN_AUTHORIZATION_DEPENDENCY_FAILED","status":503,"message":"Blockchain authorization state is unavailable","data":{"id":"DALP-9441","why":"The platform could not load the indexed wallet or account-abstraction state needed to authorize the request.","fix":"Retry after the database projections recover. If the failure continues, contact support with the request id.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Lists the returns the acting wallet (X-Executor) claimed in one transaction, with the amount each indexed claim event paid. A collection quotes amounts before it claims, and interest or fixed yield can accrue further before the claim lands, so read this after a claim settles to show what was paid. An empty list means no claim by this wallet is indexed for the transaction yet. Nothing is written.","summary":"Read the returns a transaction collected","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/venuesList","parameters":[],"responses":{"200":{"description":"The active organization's Trading Venue contracts, oldest first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenue"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"Main Venue","description":"Continuous trading for the organization's listed bonds.","creatorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"2026-08-01T09:00:00.000Z","accessManagerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","permissions":{"admin":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"operator":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"submitter":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"holders":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"admin","grantedAt":"example","grantedBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","validUntil":"example"}]},"admission":{"requiredClaimTopics":["example"],"requireMembership":false,"visibility":"discoverable"},"oneTradingModelPerSecurity":false,"minimumAdmissionValueUsd":"1","minimumAdmissionShares":"1","resumeCutoffMinutes":0,"maxOrderQuantity":"10000","maxOrderNotional":"1000000","minOrderNotional":"0","orderLimitOverrides":[{"classification":"retail","maxOrderQuantity":"0","maxOrderNotional":"0","minOrderNotional":"0"}],"classTopics":{},"announcementAlert":{"flash":false,"minSeverity":"info"},"announcementWindows":[{"start":"example","end":"example"}],"announcementWindowMode":"warn","residenceBlockList":["example"],"orderRuleLimits":{"allowedOrderTypes":["limit","market","stop"],"allowedTimeInForce":["gtc","gtd","day","ioc","fok"]},"marketDefaults":{"makerFeeBps":0,"takerFeeBps":0,"feeAccount":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","protectionBandBps":1,"holdingPeriodSeconds":0},"paused":false,"pausedAt":null,"pausedBy":null}],"meta":{"total":1,"more":false,"nextCursor":"example"},"links":{"self":"/v2/addons/trading-venues"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the Trading Venue contracts serving the active organization's network, oldest first. Repeating the request is safe.","summary":"List trading venues","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/venuesRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueDetail"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueDeploying"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false}]},"examples":{"example-1":{"value":{"data":{"venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","name":"example","description":"example","creatorAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","createdAt":"example","accessManagerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","permissions":{"admin":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"operator":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"submitter":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"holders":[{"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","role":"admin","grantedAt":"example","grantedBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","validUntil":"example"}]},"admission":{"requiredClaimTopics":["example"],"requireMembership":false,"visibility":"discoverable"},"oneTradingModelPerSecurity":false,"minimumAdmissionValueUsd":"0","minimumAdmissionShares":"0","resumeCutoffMinutes":0,"maxOrderQuantity":"0","maxOrderNotional":"0","minOrderNotional":"0","orderLimitOverrides":[{"classification":"retail","maxOrderQuantity":"0","maxOrderNotional":"0","minOrderNotional":"0"}],"classTopics":{},"announcementAlert":{"flash":false,"minSeverity":"info"},"announcementWindows":[{"start":"example","end":"example"}],"announcementWindowMode":"warn","residenceBlockList":["example"],"orderRuleLimits":{"allowedOrderTypes":["limit","market","stop"],"allowedTimeInForce":["gtc","gtd","day","ioc","fok"]},"marketDefaults":{"makerFeeBps":0,"takerFeeBps":0,"feeAccount":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","protectionBandBps":1,"holdingPeriodSeconds":0},"paused":false,"pausedAt":"example","pausedBy":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","summary":{"asOf":"example","restingOrders":{"orders":0,"markets":0},"trades":{"last24h":0,"prior24h":0},"settledBatches":{"last24h":0,"prior24h":0},"pendingDeliveryBatches":0}},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/markets":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/marketsList","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"tradeableNow":{"type":"string","enum":["true"],"description":"Keeps only the markets tradeable now for the caller: live, with a caller wallet holding an active registration in an identity registry that trusts the market's base or quote token. Omit the filter for every visible market."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"include","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false}],"responses":{"200":{"description":"The visible markets of the active organization: every public market plus the private markets one of your wallets participates in, live and halted markets included. Venue operators see every market.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueListedMarket"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","venueId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","baseTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","quoteTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","escrowAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tickSize":"1000000","valuationPriceTick":"0","referencePriceTick":"0","valuationEditable":false,"publishesBaseTokenPrice":false,"lotSize":"1000000000000000000","minNotional":"100000000","makerFeeBps":10,"takerFeeBps":20,"vatRateBps":0,"vatApplicable":false,"vatOnChain":false,"feeSchedule":{"types":[{"id":"00000000-0000-7000-8000-000000000000","side":"buy"}],"entries":[{"feeTypeId":"00000000-0000-7000-8000-000000000000","rangeMin":"0","rangeMax":"0","percentageBps":0,"fixedAmount":"0","minimumAmount":"0","maximumAmount":"0"}]},"orderFee":"0","settlementFee":"0","protectionBandBps":500,"priceBand":{"kind":"static","minTick":"0","maxTick":"0"},"priceBandLimits":{"lowerTick":"0","upperTick":"0"},"priceBandType":"static","priceBandSource":"venue","priceBandReferenceTick":"0","status":"live","statusReason":"example","mode":"continuous","private":false,"publishIndicative":"always","depthDeniedMode":"top-of-book","sponsorship":"sponsored","admissionValueUsd":"1","admissionShares":"1","admissionAsOf":"example","goLiveAt":"example","instrumentGroup":{"id":"00000000-0000-7000-8000-000000000000","code":"EQ","name":"example"},"assetType":"equity","issuer":"Acme Holdings AG","isin":"US0378331005","restrictedResidenceCountries":["example"],"participantDepthLevels":1,"entitledDepthLevels":1,"participantLevelFields":["price","quantity","orderCount"],"auctionRemainder":"carry","auctionPriceRounding":"block","preopenPriceRule":"tie-average","nationalityCheck":"sponsored-private-only","maturityCutoffDays":0,"closeMethodology":"last-trade","closeVwapWindowMs":null,"resumeCutoffMinutes":0,"announcementWindows":[{"start":"example","end":"example"}],"closeNoTradeFallback":"auction-then-previous","holdingPeriodSeconds":900,"sessionState":"open-continuous","timezone":"Europe/Brussels","calendarTimezone":"example","allowedOrderTypes":["limit","market","stop"],"allowedTimeInForce":["gtc","gtd","day","ioc","fok"],"haltedAt":null,"haltedBy":null,"venuePaused":false,"createdAt":"2026-08-01T09:00:00.000Z","ceremony":{"feedWriter":"complete","feeAccountEligibility":"complete","tradingSchedule":"complete","tradingModel":"complete","valuationPrice":"complete","floorPrice":"complete","listingRules":"complete","listingRulesRefusal":{"reason":"listing-parameters-incomplete","field":"sponsorship","stated":"0","minimum":"0"},"goLiveAt":"example"},"resumeWindow":{"closeAt":"example","cutoffMinutes":0,"blockedNow":false},"ticker":{"marketId":"example","lastTradeTick":"0","openTick":"0","highTick":"0","lowTick":"0","baseVolume":"0","tradeCount":0,"asOf":"example","sessionOpenTick":"0","sessionHighTick":"0","sessionLowTick":"0","previousCloseTick":"0","changeTicks":"0","changePercent":0,"sessionVolume":"0","sessionValue":"0","bestBidTick":"0","bestBidQty":"0","bestAskTick":"0","bestAskQty":"0","high52wTick":"0","low52wTick":"0","range52wSince":"example","priceBandLimits":{"kind":"none"}},"hourlyCloses":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","close":0}],"prior":[{"t":"example","close":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}}}],"meta":{"total":1,"more":false,"nextCursor":"example"},"links":{"self":"/v2/addons/trading-venues/markets"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the markets of the active organization you can see: every public market plus the private markets one of your wallets participates in, including halted and pending listings. Venue operators see every market. Repeating the request is safe.","summary":"List venue markets","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/marketsRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"The requested market with its grid, fee schedule, price protection band, and status.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueMarket"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","venueId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","baseTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","quoteTokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","escrowAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tickSize":"1000000","valuationPriceTick":"0","referencePriceTick":"0","valuationEditable":false,"publishesBaseTokenPrice":false,"lotSize":"1000000000000000000","minNotional":"100000000","makerFeeBps":10,"takerFeeBps":20,"vatRateBps":0,"vatApplicable":false,"vatOnChain":false,"feeSchedule":{"types":[{"id":"00000000-0000-7000-8000-000000000000","side":"buy"}],"entries":[{"feeTypeId":"00000000-0000-7000-8000-000000000000","rangeMin":"0","rangeMax":"0","percentageBps":0,"fixedAmount":"0","minimumAmount":"0","maximumAmount":"0"}]},"orderFee":"0","settlementFee":"0","protectionBandBps":500,"priceBand":{"kind":"static","minTick":"0","maxTick":"0"},"priceBandLimits":{"lowerTick":"0","upperTick":"0"},"priceBandType":"static","priceBandSource":"venue","priceBandReferenceTick":"0","status":"live","statusReason":"example","mode":"continuous","private":false,"publishIndicative":"always","depthDeniedMode":"top-of-book","sponsorship":"sponsored","admissionValueUsd":"1","admissionShares":"1","admissionAsOf":"example","goLiveAt":"example","instrumentGroup":{"id":"00000000-0000-7000-8000-000000000000","code":"EQ","name":"example"},"assetType":"equity","issuer":"Acme Holdings AG","isin":"US0378331005","restrictedResidenceCountries":["example"],"participantDepthLevels":1,"entitledDepthLevels":1,"participantLevelFields":["price","quantity","orderCount"],"auctionRemainder":"carry","auctionPriceRounding":"block","preopenPriceRule":"tie-average","nationalityCheck":"sponsored-private-only","maturityCutoffDays":0,"closeMethodology":"last-trade","closeVwapWindowMs":null,"resumeCutoffMinutes":0,"announcementWindows":[{"start":"example","end":"example"}],"closeNoTradeFallback":"auction-then-previous","holdingPeriodSeconds":900,"sessionState":"open-continuous","timezone":"Europe/Brussels","calendarTimezone":"example","allowedOrderTypes":["limit","market","stop"],"allowedTimeInForce":["gtc","gtd","day","ioc","fok"],"haltedAt":null,"haltedBy":null,"venuePaused":false,"createdAt":"2026-08-01T09:00:00.000Z","ceremony":{"feedWriter":"complete","feeAccountEligibility":"complete","tradingSchedule":"complete","tradingModel":"complete","valuationPrice":"complete","floorPrice":"complete","listingRules":"complete","listingRulesRefusal":{"reason":"listing-parameters-incomplete","field":"sponsorship","stated":"0","minimum":"0"},"goLiveAt":"example"},"resumeWindow":{"closeAt":"example","cutoffMinutes":0,"blockedNow":false}},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one market with its trading grid, fee schedule, price protection band, and lifecycle status. A market outside the active organization answers 404. Repeating the request is safe.","summary":"Read a venue market","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/scheduled-transitions":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/marketsScheduledTransitionsList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueScheduledTransition"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","marketId":"example","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","to":"halted","effective":{"kind":"at","at":"example"},"effectiveAt":"example","reason":"example","createdBy":"example","approvalId":"example","status":"pending","outcomeReason":"example","createdAt":"example","completedAt":"example","cancelledBy":"example","cancelledAt":"example"}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/pending-changes":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/marketsPendingChangesList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenuePendingMarketChange"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","marketId":"example","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","change":{"kind":"market","patch":{"valuationPrice":"0","referencePrice":"0","mode":"continuous","private":false,"publishIndicative":"always","depthDeniedMode":"top-of-book","sponsorship":"sponsored","admissionValueUsd":"0","admissionShares":"0","admissionAsOf":"example","goLiveAt":"example","instrumentGroupId":"00000000-0000-7000-8000-000000000000","restrictedResidenceCountries":["example"],"participantDepthLevels":1,"entitledDepthLevels":1,"participantLevelFields":["price","quantity","orderCount"],"closeMethodology":"last-trade","closeVwapWindowMs":1,"resumeCutoffMinutes":0,"announcementWindows":[{"start":"example","end":"example"}],"closeNoTradeFallback":"auction-then-previous","holdingPeriodSeconds":0,"auctionPriceRounding":"block","minNotional":"0","preopenPriceRule":"tie-average","nationalityCheck":"sponsored-private-only","maturityCutoffDays":0,"allowedOrderTypes":["limit","market","stop"],"allowedTimeInForce":["gtc","gtd","day","ioc","fok"],"publishesBaseTokenPrice":false}},"effective":{"kind":"at","at":"example"},"effectiveAt":"example","reason":"example","createdBy":"example","approvalId":"example","status":"pending","outcomeReason":"example","createdAt":"example","completedAt":"example","cancelledBy":"example","cancelledAt":"example"}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/listing-preflight":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/marketsListingPreflight","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"baseTokenAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"quoteTokenAddress","in":"query","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueMarketListingPreflight"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","ready":false,"checks":[{"id":"operator-role","passed":false,"reason":"example"}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/orders":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ordersList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"query","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":false},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"open","in":"query","schema":{"type":"string","enum":["true","false"]},"required":false},{"name":"from","in":"query","schema":{"type":"string"},"required":false},{"name":"to","in":"query","schema":{"type":"string"},"required":false},{"name":"market","in":"query","schema":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"string"},{"type":"array","items":{"type":"string"}}]},"required":false},{"name":"side","in":"query","schema":{"type":"string","enum":["buy","sell"]},"required":false},{"name":"orderType","in":"query","schema":{"type":"string","enum":["limit","market"]},"required":false},{"name":"timeInForce","in":"query","schema":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"required":false},{"name":"participant","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"classification","in":"query","schema":{"type":"string","enum":["retail","institutional","proprietary"]},"required":false},{"name":"closeReason","in":"query","schema":{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"description":"Orders per page, 1 to 200, served at 50 when absent. Send the meta.nextCursor of a page as cursor to read the next one."},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","minLength":1,"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z\\|[^|]+$","description":"Opaque placed-at and order id cursor returned by the previous order page."},"required":false},{"name":"fields","in":"query","schema":{"type":"object","properties":{"order":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the order resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"order":"id,marketId,side,orderType,quantity,filledQuantity,status,createdAt"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the order members a list or a strip renders: id, marketId, side, orderType, quantity, filledQuantity, status, createdAt. Send fields[order] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"Orders placed by wallets the selected participant controls, newest first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueOrderRead"}},"meta":{"$ref":"#/components/schemas/CollectionCursorPageMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","makerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","orderType":"limit","timeInForce":"gtc","priceTick":"1010","triggerTick":null,"quantity":"1000000000000000000","filledQuantity":"0","progress":{"value":0,"max":0},"status":"working","settlementStatus":"none","settlementFailureReason":"bust","closeReason":null,"orderHash":"0x5208","expiresAt":"2026-08-02T09:00:00.000Z","createdAt":"2026-08-01T09:00:00.000Z","orderId":"example","participantId":"example","participantName":"example","participantWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","member":{"participantId":"example","name":"example","viaBroker":false},"classification":"retail","remainingQuantity":"0","closeActor":"participant","cancelReason":"maker","cancelReasonText":"example","placedAt":"example","updatedAt":"example","failedSide":false,"undoneQuantity":"0"}],"meta":{"total":21005,"nextCursor":"2026-11-11T20:46:45.278163Z|03db47fa-c4de-4ec5-8b80-53865ad6ce58-4-0"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/orders"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","VENUE_ROLE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12266","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns orders placed by wallets the selected participant controls, newest first. Filter by market or status. Repeating the request is safe.","summary":"List working orders","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ordersPlace","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted Trading Venue write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is confirmed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderPlaced"},"meta":{"$ref":"#/components/schemas/TradingVenueMutationMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"orderId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","orderHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae","transactionHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/orders"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderPlacementStatus"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false,"description":"The order is accepted and is being signed, checked and committed to escrow. It rests on the book only once its escrow commitment has landed. Poll `Location`, the order placement, until its status is `placed` or `failed`."},"examples":{"example-1":{"value":{"data":{"orderId":"example","status":"processing","orderHash":"0x5208","replacesOrderId":"example","approvalReference":"example","approvalExpiresAt":"example","failureReason":"example","failureMessage":"example"},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","ORDER_SIGNING_PENDING","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14036","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Accepts an EIP-712-signed order, or an order without `maker` and `signature` that the venue signs with the selected participant's custody wallet inside this request under the request's one wallet verification. Either way the order passes eligibility, desk-limit, trading-authorization, fee-cap, and signature checks, then the venue commits the reserved balance to its escrow on chain and answers once that commitment confirms, so a 200 means the order is on the book. A commitment that does not confirm in time withdraws the order and answers with an error.","summary":"Place an order","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueOrderPlaceRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/orders/refusals":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ordersRefusalsList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"query","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":false},{"name":"from","in":"query","schema":{"type":"string"},"required":false},{"name":"to","in":"query","schema":{"type":"string"},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"description":"Refusals per page, 1 to 200, served at 50 when absent. Send the meta.nextCursor of a page as cursor to read the next one."},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","minLength":1,"pattern":"^(?:\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z)\\|[^|]+$","description":"Opaque refused-at and refusal id cursor returned by the previous refusal page."},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueOrderRefusal"}},"meta":{"$ref":"#/components/schemas/CollectionCursorPageMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","marketId":"example","orderId":"example","replacesOrderId":"example","side":"buy","orderType":"limit","timeInForce":"gtc","priceTick":"0","quantity":"0","reason":"rate-limit","message":"example","refusedAt":"example"}],"meta":{"total":21005,"nextCursor":"2026-11-11T20:46:45.278163Z|03db47fa-c4de-4ec5-8b80-53865ad6ce58-4-0"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/orders/{orderId}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/orderRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"orderId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderDetail"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"order":{"id":"example","marketId":"example","makerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","orderType":"limit","timeInForce":"gtc","priceTick":"0","triggerTick":"0","quantity":"0","filledQuantity":"0","progress":{"value":0,"max":0},"status":"pending_reservation","settlementStatus":"none","settlementFailureReason":"bust","closeReason":"filled","orderHash":"0x5208","expiresAt":"example","createdAt":"example","orderId":"example","participantId":"example","participantName":"example","participantWallet":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","member":{"participantId":"example","name":"example","viaBroker":false},"classification":"retail","remainingQuantity":"0","closeActor":"participant","cancelReason":"maker","cancelReasonText":"example","placedAt":"example","updatedAt":"example","failedSide":false,"undoneQuantity":"0"},"events":[{"sequence":"0","at":"example","type":"example","actor":"participant","actorId":"example","before":{},"after":{},"reason":"example"}],"fills":[{"tradeId":"example","price":"0","quantity":"0","at":"example","settlementStatus":"pending-delivery"}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","VENUE_ROLE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12266","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ordersCancel","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"orderId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Accepted Trading Venue write. A 202 body carries `transactionId` and `statusUrl`. Poll that URL until the write is confirmed.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderCancelled"},"meta":{"$ref":"#/components/schemas/TradingVenueMutationMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"orderId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","status":"pending_reservation","escrowRefund":"settled"},"meta":{"txHashes":["0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"]},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/orders"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderCancelled"},"meta":{"$ref":"#/components/schemas/TradingVenueMutationMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"orderId":"example","status":"pending_reservation","escrowRefund":"settled"},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"]},"links":{"self":"example"}}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues the on-chain cancellation of one order the selected participant controls, so the signed order can never fill again, and marks it cancelled on the book. Its reserved balance is released when the cancellation confirms. Poll the 202 `statusUrl` before you treat the order as cancelled on chain.","summary":"Cancel an order","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueOrderCancelRequest"}}},"required":false},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ordersAmend","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"orderId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"The amended order: `orderId` is the order now on the book and `priority` says whether it kept its place in the queue.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderAmended"},"meta":{"$ref":"#/components/schemas/TradingVenueMutationMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"amendedOrderId":"example","orderId":"example","priority":"kept"},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"]},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original request unless the queue reports a retryable failure.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderPlacementStatus"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false,"description":"The order is accepted and is being signed, checked and committed to escrow. It rests on the book only once its escrow commitment has landed. Poll `Location`, the order placement, until its status is `placed` or `failed`."},"examples":{"example-1":{"value":{"data":{"orderId":"example","status":"processing","orderHash":"0x5208","replacesOrderId":"example","approvalReference":"example","approvalExpiresAt":"example","failureReason":"example","failureMessage":"example"},"links":{"self":"example"}}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","ORDER_AMENDMENT_INCOMPLETE","ORDER_SIGNING_PENDING","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-12375","DALP-14001","DALP-14010","DALP-14036","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes a resting order the selected participant controls without cancelling it first. A `reduce` amendment lowers the order's total quantity in place: the order keeps its id and its place in the queue, and the reservation behind the removed quantity is released. A `replace` amendment swaps the order for a new one at a new price or a larger quantity, signed by the caller or, when the replacement carries no `maker` and `signature`, by the selected participant's custody wallet inside this request: the original closes as replaced, the replacement takes a new order id and joins the back of the queue, and it may trade at once if its price crosses. The replacement inherits the original's reservation, so only the difference is reserved or released. A signed replacement is accepted once; retry a refused replace with a new replacement.","summary":"Amend a resting order","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueOrderAmendRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/order-stream":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/orderStream","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"lastEventId","in":"query","schema":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"required":false}],"responses":{"200":{"description":"A server-sent event stream of order snapshots and updates. Reconnect with the last event id to resume without replaying the whole stream.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["snapshot"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"makerAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"triggerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"progress":{"type":"object","properties":{"value":{"type":"number"},"max":{"type":"number"}},"required":["value","max"],"additionalProperties":true},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"settlementStatus":{"type":"string","enum":["none","pending-settlement","partially-settled","completed","settlement-failed"]},"settlementFailureReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"orderHash":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"expiresAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantName":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantWallet":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"member":{"anyOf":[{"type":"object","properties":{"participantId":{"type":"string","minLength":1,"description":"The participant the venue operator holds responsible for the wallet: the broker assigned to the wallet's participant, or that participant itself."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's name. Null when the participant has none."},"viaBroker":{"type":"boolean","description":"Whether the member is a broker the venue operator assigned, not the wallet's own participant."}},"required":["participantId","name","viaBroker"],"additionalProperties":true,"description":"The member (broker or house) behind a wallet on this venue. Only venue operators receive it; investors and brokers never see it."},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"cancelReason":{"anyOf":[{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},{"type":"null"}]},"cancelReasonText":{"anyOf":[{"type":"string"},{"type":"null"}]},"placedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"updatedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"failedSide":{"type":"boolean"},"undoneQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["id","marketId","makerAddress","side","orderType","timeInForce","priceTick","triggerTick","quantity","filledQuantity","progress","status","settlementStatus","settlementFailureReason","closeReason","orderHash","expiresAt","createdAt"],"additionalProperties":true}}},"required":["type","eventId","orders"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["order"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"sequence":{"type":"string","pattern":"^-?\\d+$"},"changedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"order":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"makerAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"triggerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"progress":{"type":"object","properties":{"value":{"type":"number"},"max":{"type":"number"}},"required":["value","max"],"additionalProperties":true},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"settlementStatus":{"type":"string","enum":["none","pending-settlement","partially-settled","completed","settlement-failed"]},"settlementFailureReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"orderHash":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"expiresAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantName":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantWallet":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"member":{"anyOf":[{"type":"object","properties":{"participantId":{"type":"string","minLength":1,"description":"The participant the venue operator holds responsible for the wallet: the broker assigned to the wallet's participant, or that participant itself."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's name. Null when the participant has none."},"viaBroker":{"type":"boolean","description":"Whether the member is a broker the venue operator assigned, not the wallet's own participant."}},"required":["participantId","name","viaBroker"],"additionalProperties":true,"description":"The member (broker or house) behind a wallet on this venue. Only venue operators receive it; investors and brokers never see it."},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"cancelReason":{"anyOf":[{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},{"type":"null"}]},"cancelReasonText":{"anyOf":[{"type":"string"},{"type":"null"}]},"placedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"updatedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"failedSide":{"type":"boolean"},"undoneQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["id","marketId","makerAddress","side","orderType","timeInForce","priceTick","triggerTick","quantity","filledQuantity","progress","status","settlementStatus","settlementFailureReason","closeReason","orderHash","expiresAt","createdAt"],"additionalProperties":true}},"required":["type","eventId","sequence","changedAt","order"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["trade"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"sequence":{"type":"string","pattern":"^-?\\d+$"},"changedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"trade":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Trading Venue trade identifier"},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"side":{"type":"string","enum":["buy","sell"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"notional":{"type":"string","pattern":"^-?\\d+$"},"fee":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The fee the fill was charged, or null until its trade settles on chain."},"vat":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The VAT calculated on the fill fee, or null until its trade settles on chain."},"feeBreakdown":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"feeTypeId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"code":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"recipientAccount":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"side":{"type":"string","enum":["buy","sell"]},"vatApplicable":{"type":"boolean"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["feeTypeId","code","name","recipientAccount","side","vatApplicable","amount"],"additionalProperties":true}},{"type":"null"}]},"fees":{"type":"array","items":{"type":"object","properties":{"feeType":{"type":"string","minLength":1,"description":"The stable fee type code used to identify one fee line on a trade."},"amount":{"type":"string","pattern":"^-?\\d+$"},"vatAmount":{"type":"string","pattern":"^-?\\d+$"}},"required":["feeType","amount","vatAmount"],"additionalProperties":true}},"status":{"type":"string","enum":["pending-delivery","delivered","undone"]},"undoReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"executedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"settlementTxHash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}],"description":"The transaction that delivered the trade on chain, or null until it settles. Pass it as `transactionHash` to the reporting confirmations list for the caller's movements in that transaction, which can include other fills settled in the same batch."}},"required":["id","marketId","orderId","side","priceTick","quantity","notional","fee","vat","status","undoReason","executedAt","settlementTxHash"],"additionalProperties":true}},"required":["type","eventId","sequence","changedAt","trade"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["notification"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"notification":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["order-status"]},"payload":{"type":"object","properties":{"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"side":{"type":"string","enum":["buy","sell"]},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended","refused"],"description":"The order's status when it was notified. refused means intake turned the order away at entry."},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"refusalReason":{"anyOf":[{"type":"string","enum":["rate-limit","open-order-cap","market-not-live","market-halted","market-suspended","venue-paused","unregistered-wallet","ineligible-wallet","suspended-wallet","identity-not-verified","wallet-not-admitted","desk-limit-exceeded","authorization-insufficient","max-fee-below-schedule","fee-cap-above-venue-maximum","signature-invalid","expired","invalid-order","idempotency-key-reused","static-band","dynamic-band","floor-price","above-price-band","below-price-band","no-band-anchor","max-quantity","max-notional","min-notional","not-market-participant","order-type-not-allowed","time-in-force-not-allowed","fok-outside-continuous","nationality-restricted","custody-approval-closed","units-time-locked","participant-suspended","participant-closed","participant-terminated","participant-trading-restricted","participant-blocked","market-access-denied","instrument-group-not-permitted","lot-size-mismatch","below-min-notional","below-min-quantity","market-not-visible","residence-restricted","gtd-date-not-trading-day","maturity-cutoff-reached","reservation-refused"]},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["orderId","side","status","closeReason","closeActor","refusalReason","quantity","filledQuantity","remainingQuantity"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["price-alert"]},"payload":{"type":"object","properties":{"alertId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"direction":{"type":"string","enum":["above","below"]},"thresholdTick":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["alertId","direction","thresholdTick","priceTick"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["announcement"]},"payload":{"type":"object","properties":{"announcementId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"title":{"type":"string"},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"alert":{"type":"object","properties":{"flash":{"type":"boolean","description":"When true, the trading screen flashes a newly published announcement at or above minSeverity."},"minSeverity":{"type":"string","enum":["info","warning","critical"],"description":"The lowest severity that flashes. Announcements below it still update the announcement banner."}},"required":["flash","minSeverity"],"additionalProperties":true,"description":"The venue's announcement alert setting when it was published."}},"required":["announcementId","title","category","severity","alert"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["corporate-action"]},"payload":{"type":"object","properties":{"announcementId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"title":{"type":"string"},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"alert":{"type":"object","properties":{"flash":{"type":"boolean","description":"When true, the trading screen flashes a newly published announcement at or above minSeverity."},"minSeverity":{"type":"string","enum":["info","warning","critical"],"description":"The lowest severity that flashes. Announcements below it still update the announcement banner."}},"required":["flash","minSeverity"],"additionalProperties":true,"description":"The venue's announcement alert setting when it was published."}},"required":["announcementId","title","category","severity","alert"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true}],"description":"One event in the caller's notification centre. Notifications are kept for 90 days."}},"required":["type","eventId","notification"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["heartbeat"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."}},"required":["type","eventId"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string","minLength":1}},"required":["type","message"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"error","message":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["ORDER_STREAM_LIMIT_REACHED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-188071"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Opens a server-sent event stream for order snapshots and updates visible to the active participant. Send `lastEventId` to resume after a reconnect; keep the stream open and apply each event in order.","summary":"Stream trading venue order updates","x-dalp-auth":"session"}},"/api/v2/addons/trading-venues/{venueAddress}/orders/stream":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/orderOperatorStream","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"lastEventId","in":"query","schema":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"required":false},{"name":"marketId","in":"query","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":false}],"responses":{"200":{"description":"Success","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["snapshot"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"orders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"makerAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"triggerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"progress":{"type":"object","properties":{"value":{"type":"number"},"max":{"type":"number"}},"required":["value","max"],"additionalProperties":true},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"settlementStatus":{"type":"string","enum":["none","pending-settlement","partially-settled","completed","settlement-failed"]},"settlementFailureReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"orderHash":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"expiresAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantName":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantWallet":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"member":{"anyOf":[{"type":"object","properties":{"participantId":{"type":"string","minLength":1,"description":"The participant the venue operator holds responsible for the wallet: the broker assigned to the wallet's participant, or that participant itself."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's name. Null when the participant has none."},"viaBroker":{"type":"boolean","description":"Whether the member is a broker the venue operator assigned, not the wallet's own participant."}},"required":["participantId","name","viaBroker"],"additionalProperties":true,"description":"The member (broker or house) behind a wallet on this venue. Only venue operators receive it; investors and brokers never see it."},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"cancelReason":{"anyOf":[{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},{"type":"null"}]},"cancelReasonText":{"anyOf":[{"type":"string"},{"type":"null"}]},"placedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"updatedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"failedSide":{"type":"boolean"},"undoneQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["id","marketId","makerAddress","side","orderType","timeInForce","priceTick","triggerTick","quantity","filledQuantity","progress","status","settlementStatus","settlementFailureReason","closeReason","orderHash","expiresAt","createdAt"],"additionalProperties":true}}},"required":["type","eventId","orders"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["order"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"sequence":{"type":"string","pattern":"^-?\\d+$"},"changedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"order":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"makerAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"triggerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"progress":{"type":"object","properties":{"value":{"type":"number"},"max":{"type":"number"}},"required":["value","max"],"additionalProperties":true},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"settlementStatus":{"type":"string","enum":["none","pending-settlement","partially-settled","completed","settlement-failed"]},"settlementFailureReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"orderHash":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"expiresAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantName":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantWallet":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"member":{"anyOf":[{"type":"object","properties":{"participantId":{"type":"string","minLength":1,"description":"The participant the venue operator holds responsible for the wallet: the broker assigned to the wallet's participant, or that participant itself."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's name. Null when the participant has none."},"viaBroker":{"type":"boolean","description":"Whether the member is a broker the venue operator assigned, not the wallet's own participant."}},"required":["participantId","name","viaBroker"],"additionalProperties":true,"description":"The member (broker or house) behind a wallet on this venue. Only venue operators receive it; investors and brokers never see it."},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"cancelReason":{"anyOf":[{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},{"type":"null"}]},"cancelReasonText":{"anyOf":[{"type":"string"},{"type":"null"}]},"placedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"updatedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"failedSide":{"type":"boolean"},"undoneQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["id","marketId","makerAddress","side","orderType","timeInForce","priceTick","triggerTick","quantity","filledQuantity","progress","status","settlementStatus","settlementFailureReason","closeReason","orderHash","expiresAt","createdAt"],"additionalProperties":true}},"required":["type","eventId","sequence","changedAt","order"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["trade"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"sequence":{"type":"string","pattern":"^-?\\d+$"},"changedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"trade":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Trading Venue trade identifier"},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"side":{"type":"string","enum":["buy","sell"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"notional":{"type":"string","pattern":"^-?\\d+$"},"fee":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The fee the fill was charged, or null until its trade settles on chain."},"vat":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The VAT calculated on the fill fee, or null until its trade settles on chain."},"feeBreakdown":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"feeTypeId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"code":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"recipientAccount":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"side":{"type":"string","enum":["buy","sell"]},"vatApplicable":{"type":"boolean"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["feeTypeId","code","name","recipientAccount","side","vatApplicable","amount"],"additionalProperties":true}},{"type":"null"}]},"fees":{"type":"array","items":{"type":"object","properties":{"feeType":{"type":"string","minLength":1,"description":"The stable fee type code used to identify one fee line on a trade."},"amount":{"type":"string","pattern":"^-?\\d+$"},"vatAmount":{"type":"string","pattern":"^-?\\d+$"}},"required":["feeType","amount","vatAmount"],"additionalProperties":true}},"status":{"type":"string","enum":["pending-delivery","delivered","undone"]},"undoReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"executedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"settlementTxHash":{"anyOf":[{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},{"type":"null"}],"description":"The transaction that delivered the trade on chain, or null until it settles. Pass it as `transactionHash` to the reporting confirmations list for the caller's movements in that transaction, which can include other fills settled in the same batch."}},"required":["id","marketId","orderId","side","priceTick","quantity","notional","fee","vat","status","undoReason","executedAt","settlementTxHash"],"additionalProperties":true}},"required":["type","eventId","sequence","changedAt","trade"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["notification"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"notification":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["order-status"]},"payload":{"type":"object","properties":{"orderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"side":{"type":"string","enum":["buy","sell"]},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended","refused"],"description":"The order's status when it was notified. refused means intake turned the order away at entry."},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"refusalReason":{"anyOf":[{"type":"string","enum":["rate-limit","open-order-cap","market-not-live","market-halted","market-suspended","venue-paused","unregistered-wallet","ineligible-wallet","suspended-wallet","identity-not-verified","wallet-not-admitted","desk-limit-exceeded","authorization-insufficient","max-fee-below-schedule","fee-cap-above-venue-maximum","signature-invalid","expired","invalid-order","idempotency-key-reused","static-band","dynamic-band","floor-price","above-price-band","below-price-band","no-band-anchor","max-quantity","max-notional","min-notional","not-market-participant","order-type-not-allowed","time-in-force-not-allowed","fok-outside-continuous","nationality-restricted","custody-approval-closed","units-time-locked","participant-suspended","participant-closed","participant-terminated","participant-trading-restricted","participant-blocked","market-access-denied","instrument-group-not-permitted","lot-size-mismatch","below-min-notional","below-min-quantity","market-not-visible","residence-restricted","gtd-date-not-trading-day","maturity-cutoff-reached","reservation-refused"]},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["orderId","side","status","closeReason","closeActor","refusalReason","quantity","filledQuantity","remainingQuantity"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["price-alert"]},"payload":{"type":"object","properties":{"alertId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"direction":{"type":"string","enum":["above","below"]},"thresholdTick":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["alertId","direction","thresholdTick","priceTick"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["announcement"]},"payload":{"type":"object","properties":{"announcementId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"title":{"type":"string"},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"alert":{"type":"object","properties":{"flash":{"type":"boolean","description":"When true, the trading screen flashes a newly published announcement at or above minSeverity."},"minSeverity":{"type":"string","enum":["info","warning","critical"],"description":"The lowest severity that flashes. Announcements below it still update the announcement banner."}},"required":["flash","minSeverity"],"additionalProperties":true,"description":"The venue's announcement alert setting when it was published."}},"required":["announcementId","title","category","severity","alert"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"createdAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"readAt":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}]},"kind":{"type":"string","enum":["corporate-action"]},"payload":{"type":"object","properties":{"announcementId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"title":{"type":"string"},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"alert":{"type":"object","properties":{"flash":{"type":"boolean","description":"When true, the trading screen flashes a newly published announcement at or above minSeverity."},"minSeverity":{"type":"string","enum":["info","warning","critical"],"description":"The lowest severity that flashes. Announcements below it still update the announcement banner."}},"required":["flash","minSeverity"],"additionalProperties":true,"description":"The venue's announcement alert setting when it was published."}},"required":["announcementId","title","category","severity","alert"],"additionalProperties":true}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":true}],"description":"One event in the caller's notification centre. Notifications are kept for 90 days."}},"required":["type","eventId","notification"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["heartbeat"]},"eventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."}},"required":["type","eventId"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string","minLength":1}},"required":["type","message"],"additionalProperties":true}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"error","message":"example"}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","VENUE_ROLE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12266","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["ORDER_STREAM_LIMIT_REACHED","WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136","DALP-188071"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session"}},"/api/v2/addons/trading-venues/{venueAddress}/blotter":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/blotter","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"query","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":false},{"name":"from","in":"query","schema":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"required":false},{"name":"to","in":"query","schema":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"required":false},{"name":"status","in":"query","schema":{"type":"string","enum":["pending-delivery","delivered","undone"],"description":"Return only the fills whose trade is in this lifecycle status."},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"description":"Fills per page, 1 to 200, served at 50 when absent."},"required":false},{"name":"cursor","in":"query","schema":{"type":"string","minLength":1,"pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?Z\\|[^|]+\\|(?:buy|sell)$","description":"Opaque executed-at, trade id and side cursor returned by the previous blotter page."},"required":false}],"responses":{"200":{"description":"The selected participant's trade blotter, newest fill first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueBlotterEntry"}},"meta":{"$ref":"#/components/schemas/CollectionCursorPageMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9e","marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","orderId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","side":"buy","priceTick":"1011","quantity":"1000000000000000000","notional":"0","fee":"20220","vat":"0","feeBreakdown":[{"feeTypeId":"00000000-0000-7000-8000-000000000000","code":"example","name":"example","recipientAccount":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","vatApplicable":false,"amount":"0"}],"fees":[{"feeType":"example","amount":"0","vatAmount":"0"}],"status":"delivered","undoReason":null,"executedAt":"2026-08-01T09:00:00.000Z","settlementTxHash":"0x0000000000000000000000000000000000000000000000000000000000000000"}],"meta":{"total":21005,"nextCursor":"2026-11-11T20:46:45.278163Z|03db47fa-c4de-4ec5-8b80-53865ad6ce58-4-0"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/blotter"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the selected participant's fills, newest first, with the participant's side and fee per fill. Repeating the request is safe.","summary":"Read the trade blotter","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/reservations":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/reservationsList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"status","in":"query","schema":{"type":"string","enum":["active","released"],"description":"Only the commitments in this state. `active` is what still holds escrow; leave it out for the whole history."},"required":false}],"responses":{"200":{"description":"Reserved balances backing the selected participant's open orders.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueReservation"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"example","orderId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"1010000000","status":"active","committing":false,"refundExhausted":false,"createdAt":"2026-08-01T09:00:00.000Z"}],"meta":{"total":1,"more":false,"nextCursor":"example"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/reservations"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the reserved balances backing the selected participant's open orders. Repeating the request is safe.","summary":"List reserved balances","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/balances":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/escrowBalancesList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueEscrowBalance"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","free":"0","locked":"0"}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/balances/{walletAddress}/{tokenAddress}/transitions":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/escrowBalanceTransition","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"walletAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"Idempotency-Key","in":"header","schema":{"type":"string"},"required":false},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueEscrowWithdrawn"},"meta":{"$ref":"#/components/schemas/TradingVenueMutationMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","amount":"0","transactionHash":"0x0000000000000000000000000000000000000000000000000000000000000000"},"meta":{"txHashes":["0x0000000000000000000000000000000000000000000000000000000000000000"]},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"202":{"description":"TradingVenueQueuedMutation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueQueuedMutation"},"examples":{"example-1":{"value":{"transactionId":"example","status":"example","statusUrl":"example"}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","ESCROW_FREE_BALANCE_SHORT","ESCROW_WITHDRAWAL_REVERTED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-174412","DALP-174413","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueEscrowBalanceTransitionBody"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/maker-epochs":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/makerEpochsList","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueWalletMakerEpoch"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"walletAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","epoch":"0"}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/participants/{walletAddress}/cancel-all":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/participantCancelAll","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"walletAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"$ref":"#/components/parameters/idempotencyKey"},{"$ref":"#/components/parameters/prefer"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderMassCancelApproval"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","filter":{"marketId":"example","makerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","orderType":"limit","timeInForce":"gtc"},"reason":"example","state":"proposed","expectedCount":0,"executedCount":0,"batchIds":["00000000-0000-7000-8000-000000000000"],"stopped":false,"proposerUserId":"example","checkerUserId":"example","expiresAt":"example","decidedAt":"example","executedAt":"example","createdAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"202":{"description":"The venue's maker-checker is on: the cancellation is a proposal that waits for a second venue operator to approve it. No order is cancelled until then.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderMassCancelApproval"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","filter":{"marketId":"example","makerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","orderType":"limit","timeInForce":"gtc"},"reason":"example","state":"proposed","expectedCount":0,"executedCount":0,"batchIds":["00000000-0000-7000-8000-000000000000"],"stopped":false,"proposerUserId":"example","checkerUserId":"example","expiresAt":"example","decidedAt":"example","executedAt":"example","createdAt":"example"},"links":{"self":"example"}}}}}},"headers":{"Location":{"$ref":"#/components/headers/Location"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","VENUE_ROLE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12266","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueParticipantCancelAllRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/order-placements/{orderId}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/orderPlacementRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"orderId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderPlacementStatus"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"orderId":"example","status":"processing","orderHash":"0x5208","replacesOrderId":"example","approvalReference":"example","approvalExpiresAt":"example","failureReason":"example","failureMessage":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/order-signatures":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ordersSign","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The maker wallet, recipient, and EIP-712 signature for the order fields you sent.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueOrderSignature"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"maker":"0x14dC79964da2C08b23698B3D3cc7Ca32193d9955","recipient":"0x14dC79964da2C08b23698B3D3cc7Ca32193d9955","signature":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae1b","orderHash":"0x2c26b46b68ffc68ff99b453c1d30413413422d706483bfa0f98a5e886266e7ae"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/order-signatures"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_INVALID","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-12311","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ORDER_SIGNING_PENDING","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED","dapi.runtime.EXTERNAL_MESSAGE_AUTHORIZATION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-12310","DALP-14036","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","ORDER_INTAKE_REJECTED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-9302"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ORDER_INTAKE_REJECTED","status":422,"message":"The order was refused before it reached the book.","data":{"id":"DALP-9302","why":"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.","fix":"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.","retryable":false,"category":"client","reason":"rate-limit"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Signs the order fields with the selected participant's executing wallet and returns the EIP-712 signature. The platform places nothing and queues no transaction: send the signature with the same fields to place the order. An external wallet answers 409 with the payload to sign, then repeats the request with that signature.","summary":"Sign an order","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueOrderSignRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/book":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/book","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"A sequence-numbered depth snapshot: aggregated bid and offer levels, best price first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueMarketDepth"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","sequence":"42","bids":[{"priceTick":"1010","quantity":"5000000000000000000","orderCount":2,"cumulativeQuantity":"5000000000000000000","cumulativeNotional":"5050000000000000000000"}],"asks":[{"priceTick":"1012","quantity":"3000000000000000000","orderCount":1,"cumulativeQuantity":"3000000000000000000","cumulativeNotional":"3036000000000000000000"}],"lastTradeTick":"1011","midTick":0,"indicativePriceTick":null,"indicativeQuantity":null,"depthAccess":"allowed","asOf":"2026-08-01T09:00:00.000Z"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/book"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the market's aggregated depth as bid and offer levels with a sequence number for stream resynchronization. Repeating the request is safe.","summary":"Read the order book","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/trades":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/trades","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500},"required":false},{"name":"undone","in":"query","schema":{"type":"boolean","description":"Return the market's undone trades, with their undo reason, instead of the tape. Only an operator of the market's venue may ask; the public tape leaves undone trades out."},"required":false}],"responses":{"200":{"description":"Most recent trades on the market, newest first.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueTrade"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9e","marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","sequence":"42","priceTick":"1011","quantity":"1000000000000000000","status":"delivered","undoReason":null,"executedAt":"2026-08-01T09:00:00.000Z"}],"meta":{"total":1},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/trades"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the market's most recent trades, newest first, capped by `limit`. Repeating the request is safe.","summary":"List recent trades","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/candles":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/candles","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true},{"name":"interval","in":"query","schema":{"type":"string","enum":["1m","5m","15m","1h","4h","1d","1w"]},"required":true},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"description":"Bars to return, ending at 500 the newest. Defaults to 500."},"required":false},{"name":"indicators","in":"query","schema":{"type":"string"},"required":false},{"name":"macdFast","in":"query","schema":{"type":"integer","minimum":2,"maximum":200,"description":"A moving-average period or MACD period. Between 2 and 200."},"required":false},{"name":"macdSlow","in":"query","schema":{"type":"integer","minimum":2,"maximum":200,"description":"A moving-average period or MACD period. Between 2 and 200."},"required":false},{"name":"macdSignal","in":"query","schema":{"type":"integer","minimum":2,"maximum":200,"description":"A moving-average period or MACD period. Between 2 and 200."},"required":false}],"responses":{"200":{"description":"OHLC candles with volume for one interval, oldest bucket first.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueCandleList"},"examples":{"example-1":{"value":{"data":[{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","interval":"1m","bucketStart":"2026-08-01T09:00:00.000Z","open":"1010","high":"1012","low":"1009","close":"1011","volume":"4000000000000000000","tradeCount":6}],"meta":{"total":1},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/candles?interval=1m"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns OHLC candles with volume for one interval, oldest bucket first. Repeating the request is safe.","summary":"List OHLC candles","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/ticker":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/ticker","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"The market's trailing 24-hour statistics: last price, open, high, low, volume, trade count.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueMarketTicker"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","lastTradeTick":"1011","openTick":"1005","highTick":"1012","lowTick":"1001","baseVolume":"4000000000000000000","tradeCount":6,"asOf":"2026-08-01T09:00:00.000Z"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/ticker"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns last-trade price and trailing 24-hour open, high, low, volume, and trade count for one market. Repeating the request is safe.","summary":"Read the market ticker","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/activity":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/activity","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueMarketActivity"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"example","ticker":{"marketId":"example","lastTradeTick":"0","openTick":"0","highTick":"0","lowTick":"0","baseVolume":"0","tradeCount":0,"asOf":"example","sessionOpenTick":"0","sessionHighTick":"0","sessionLowTick":"0","previousCloseTick":"0","changeTicks":"0","changePercent":0,"sessionVolume":"0","sessionValue":"0","bestBidTick":"0","bestBidQty":"0","bestAskTick":"0","bestAskQty":"0","high52wTick":"0","low52wTick":"0","range52wSince":"example","priceBandLimits":{"kind":"none"}},"valuationPriceTick":"0","range":{"lastPositionBps":0,"openPositionBps":0},"liquidity":{"bestBid":{"priceTick":"0","quantity":"0"},"bestAsk":{"priceTick":"0","quantity":"0"},"spreadTicks":"0","spreadBps":0,"bidShareBps":0,"indicativePriceTick":"0","indicativeQuantity":"0"},"series":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","closeTick":0,"trades":0}],"prior":[{"t":"example","closeTick":0,"trades":0}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false}},"recentTrades":[{"id":"example","marketId":"example","sequence":"0","priceTick":"0","quantity":"0","status":"pending-delivery","undoReason":"bust","feeBreakdown":{"buyer":[{"feeTypeId":"00000000-0000-7000-8000-000000000000","code":"example","name":"example","recipientAccount":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","vatApplicable":false,"amount":"0"}],"seller":[{"feeTypeId":"00000000-0000-7000-8000-000000000000","code":"example","name":"example","recipientAccount":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","side":"buy","vatApplicable":false,"amount":"0"}]},"executedAt":"example"}],"asOf":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/stream":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/stream","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"Each SSE data event is a depth snapshot, a depth diff, a batch of trades, a heartbeat, or a terminal error.","content":{"text/event-stream":{"schema":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["snapshot"]},"snapshot":{"type":"object","properties":{"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"bids":{"type":"array","items":{"type":"object","properties":{"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The total quantity resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"orderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The number of orders resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"cumulativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity resting at this price and at every price closer to the touch, or null when the market does not show quantities to the caller. A stream diff carries every level whose running total moved, and sends 0 for a level that left the book."},"cumulativeNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quote value of the quantity resting at this price and at every price closer to the touch, in quote token base units (price tick times tick size times lots), or null when the market does not show quantities to the caller. A stream diff sends 0 for a level that left the book."}},"required":["priceTick","quantity","orderCount","cumulativeQuantity","cumulativeNotional"],"additionalProperties":true}},"asks":{"type":"array","items":{"type":"object","properties":{"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The total quantity resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"orderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The number of orders resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"cumulativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity resting at this price and at every price closer to the touch, or null when the market does not show quantities to the caller. A stream diff carries every level whose running total moved, and sends 0 for a level that left the book."},"cumulativeNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quote value of the quantity resting at this price and at every price closer to the touch, in quote token base units (price tick times tick size times lots), or null when the market does not show quantities to the caller. A stream diff sends 0 for a level that left the book."}},"required":["priceTick","quantity","orderCount","cumulativeQuantity","cumulativeNotional"],"additionalProperties":true}},"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"midTick":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The midpoint of the best bid and the best ask, in ticks (a half tick when they are an odd number of ticks apart). Null when either side is empty or the book is crossed. A stream diff always carries the current midpoint."},"indicativePriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"indicativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity that would match at the indicative price, or null when no uncross is indicated or the market does not show quantities to the caller."},"depthAccess":{"type":"string","enum":["allowed","top-of-book","none"],"description":"What the caller's market access shows of the book. allowed: the depth levels the market publishes to the caller. top-of-book: the access profile does not allow depth, so only the best bid and ask. none: the access profile does not allow depth and the market shows such participants no levels."},"asOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["marketId","sequence","bids","asks","lastTradeTick","midTick","indicativePriceTick","indicativeQuantity","depthAccess","asOf"],"additionalProperties":true}},"required":["type","snapshot"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["diff"]},"diff":{"type":"object","properties":{"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"fromSequence":{"type":"string","pattern":"^-?\\d+$"},"toSequence":{"type":"string","pattern":"^-?\\d+$"},"bids":{"type":"array","items":{"type":"object","properties":{"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The total quantity resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"orderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The number of orders resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"cumulativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity resting at this price and at every price closer to the touch, or null when the market does not show quantities to the caller. A stream diff carries every level whose running total moved, and sends 0 for a level that left the book."},"cumulativeNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quote value of the quantity resting at this price and at every price closer to the touch, in quote token base units (price tick times tick size times lots), or null when the market does not show quantities to the caller. A stream diff sends 0 for a level that left the book."}},"required":["priceTick","quantity","orderCount","cumulativeQuantity","cumulativeNotional"],"additionalProperties":true}},"asks":{"type":"array","items":{"type":"object","properties":{"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The total quantity resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"orderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The number of orders resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"cumulativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity resting at this price and at every price closer to the touch, or null when the market does not show quantities to the caller. A stream diff carries every level whose running total moved, and sends 0 for a level that left the book."},"cumulativeNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quote value of the quantity resting at this price and at every price closer to the touch, in quote token base units (price tick times tick size times lots), or null when the market does not show quantities to the caller. A stream diff sends 0 for a level that left the book."}},"required":["priceTick","quantity","orderCount","cumulativeQuantity","cumulativeNotional"],"additionalProperties":true}},"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"midTick":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The midpoint of the best bid and the best ask, in ticks (a half tick when they are an odd number of ticks apart). Null when either side is empty or the book is crossed. A stream diff always carries the current midpoint."},"asOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["marketId","fromSequence","toSequence","bids","asks","lastTradeTick","midTick","asOf"],"additionalProperties":true}},"required":["type","diff"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["trades"]},"trades":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"executedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["sequence","priceTick","quantity","executedAt"],"additionalProperties":true}}},"required":["type","trades"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["trade-undone"]},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"sequences":{"type":"array","items":{"type":"string","pattern":"^-?\\d+$"},"description":"The sequences of the trades this stream sent in a trades frame, or listed in its opening trades, that settlement has since undone. A client drops the print of each from its tape."},"ticker":{"type":"object","properties":{"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"openTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"highTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"lowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"baseVolume":{"type":"string","pattern":"^-?\\d+$"},"tradeCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"asOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"sessionOpenTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionHighTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionLowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"previousCloseTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changeTicks":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changePercent":{"anyOf":[{"type":"number"},{"type":"null"}]},"sessionVolume":{"type":"string","pattern":"^-?\\d+$"},"sessionValue":{"type":"string","pattern":"^-?\\d+$"},"high52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The highest daily high, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"low52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The lowest daily low, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"range52wSince":{"anyOf":[{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},{"type":"null"}],"description":"The start of the market's first trading day when the market has traded for less than 52 weeks, so the 52-week range covers only the days since then. Null when the range covers the full 52 weeks or the market has no trade."}},"required":["lastTradeTick","openTick","highTick","lowTick","baseVolume","tradeCount","asOf"],"additionalProperties":true,"description":"The market ticker's trade figures as they stand once the undone trades are left out: last price, 24-hour and session figures, change and 52-week range. The quotes and the price band are not part of it."}},"required":["type","marketId","sequences","ticker"],"additionalProperties":true,"description":"Settlement undid trades this stream had already announced (a bust, a refused delivery or a removed reservation). The ticker carries the figures with those trades left out, so a client corrects its tape, last price and session volume and value at once instead of waiting for the next trade."},{"type":"object","properties":{"type":{"type":"string","enum":["indicative"]},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity that would match at the indicative price, or null when no uncross is indicated or the market does not show quantities to the caller."},"asOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["type","marketId","sequence","priceTick","quantity","asOf"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["band"]},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"kind":{"type":"string","enum":["none","unanchored","bounded"],"description":"none when the market has no price band, unanchored when its dynamic band has no reference price yet and every order is refused, bounded when the limits below are in force."},"lowerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The inclusive lower limit in ticks, or null unless bounded."},"upperTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The inclusive upper limit in ticks, or null unless bounded."},"referenceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The reference price a dynamic band is computed from, or null for a static band or no band."},"upperSteps":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many times trades at the upper limit have widened a dynamic band since its reference was set."},"lowerSteps":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many times trades at the lower limit have widened a dynamic band since its reference was set."},"interruption":{"anyOf":[{"type":"object","properties":{"startedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"resumesAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"triggerTick":{"type":"string","pattern":"^-?\\d+$"},"referenceTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["startedAt","resumesAt","triggerTick","referenceTick"],"additionalProperties":true,"description":"An automatic volatility interruption in force on the market. Continuous trading is held: orders are collected, nothing matches, until the interruption ends in an auction call."},{"type":"null"}]}},"required":["type","marketId","sequence","kind","lowerTick","upperTick","referenceTick","upperSteps","lowerSteps"],"additionalProperties":true,"description":"The market's price band, sent when the subscriber connects and again whenever a trade widens the band, the session close resets it, or its policy changes."},{"type":"object","properties":{"type":{"type":"string","enum":["venue-status"]},"marketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"venuePaused":{"type":"boolean","description":"True while the market's venue is paused: it accepts no orders until a venue admin resumes it."}},"required":["type","marketId","venuePaused"],"additionalProperties":true,"description":"Whether the market's venue is paused, sent when the subscriber connects and again on a pause or resume."},{"type":"object","properties":{"type":{"type":"string","enum":["heartbeat"]},"sequence":{"type":"string","pattern":"^-?\\d+$"}},"required":["type","sequence"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string","minLength":1},"requestId":{"type":"string"}},"required":["type","message"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","enum":["announcement"]},"announcement":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"marketId":{"anyOf":[{"type":"string","minLength":1,"description":"Trading Venue market identifier"},{"type":"null"}]},"title":{"type":"string","minLength":1},"body":{"type":"string","minLength":1},"generatedNotice":{"anyOf":[{"type":"object","properties":{"marketTransition":{"type":"string","enum":["halted","live","delisted"],"description":"The transition the venue composed the sentence for: `halted`, `live` for a resume, or `delisted`."},"marketLabel":{"type":"string","minLength":1,"description":"The market's label when the venue composed the notice, for the sentence in the reader's language."},"reason":{"type":"string","minLength":1,"description":"The operator's reason for the transition, for the sentence in the reader's language."},"generatedTitle":{"type":"boolean","description":"True when the venue composed `title` from its own sentence rather than the operator's text, so a reader renders it in their language."},"generatedBody":{"type":"boolean","description":"True when the venue composed `body` from its own sentence rather than the operator's text, so a reader renders it in their language."}},"required":["marketTransition","marketLabel","reason","generatedTitle","generatedBody"],"additionalProperties":true,"description":"The parts of a market-transition notice the venue composed itself, so a reader can render them in its own language. A stored sentence cannot know who reads it: `title` and `body` keep the English default for API consumers, and a surface that shows the notice to a person builds the sentence from this when the matching flag is true. Null for a notice an operator wrote in full."},{"type":"null"}]},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"publishedAt":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]}},"required":["id","venueAddress","marketId","title","body","category","severity","publishedAt"],"additionalProperties":true},"flash":{"type":"boolean","description":"True when the venue's announcement alert setting asks the trading screen to flash this announcement."}},"required":["type","announcement","flash"],"additionalProperties":true,"description":"An announcement published to this market or its whole venue after the subscriber connected, sent only to subscribers who can read it."}]},"x-effect-stream":{"encoding":"sse","causeSchema":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Fail"]},"error":{"not":{}}},"required":["_tag","error"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Die"]},"defect":{}},"required":["_tag","defect"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Interrupt"]},"fiberId":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["_tag","fiberId"],"additionalProperties":false}]}},"errorSchema":{"not":{}},"failureEvent":"effect/http-api/stream/failure"},"examples":{"example-1":{"value":{"type":"snapshot","snapshot":{"marketId":"example","sequence":"0","bids":[{"priceTick":"0","quantity":"0","orderCount":0,"cumulativeQuantity":"0","cumulativeNotional":"0"}],"asks":[{"priceTick":"0","quantity":"0","orderCount":0,"cumulativeQuantity":"0","cumulativeNotional":"0"}],"lastTradeTick":"0","midTick":0,"indicativePriceTick":"0","indicativeQuantity":"0","depthAccess":"allowed","asOf":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Each SSE data event is a depth snapshot, a depth diff, a batch of trades, a heartbeat, or a terminal error. Every event carries the engine log sequence; on a gap, reconnect to receive a fresh snapshot instead of rendering stale depth.","summary":"Stream live market data","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlists":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistsList","parameters":[{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"One page of your personal watchlists, the default list first, then newest first by default.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueWatchlist"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","name":"Core holdings","isDefault":true,"assets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"createdAt":"2026-08-01T09:00:00.000Z","updatedAt":"2026-08-01T09:00:00.000Z"}],"meta":{"total":1},"links":{"self":"/api/v2/addons/trading-venues/watchlists?sort=-createdAt&page[offset]=0&page[limit]=50","first":"/api/v2/addons/trading-venues/watchlists?sort=-createdAt&page[offset]=0&page[limit]=50","prev":null,"next":null,"last":"/api/v2/addons/trading-venues/watchlists?sort=-createdAt&page[offset]=0&page[limit]=50"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one page of your personal watchlists in the current organization, your default list first. Each row lists the assets it watches. Watchlists are private to you: nobody else's lists appear, and yours appear to nobody else. Repeating the request is safe.","summary":"List your watchlists","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistsCreate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The created watchlist.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlist"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","name":"Core holdings","isDefault":true,"assets":[],"createdAt":"2026-08-01T09:00:00.000Z","updatedAt":"2026-08-01T09:00:00.000Z"},"links":{"self":"/v2/addons/trading-venues/watchlists/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Creates a named personal watchlist in the current organization. Your session is enough; no wallet verification is asked. You can keep several lists side by side; your first list is your default until you choose another.","summary":"Create a watchlist","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueWatchlistName"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlists/{watchlistId}/transitions":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistsTransition","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlist"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","name":"example","isDefault":false,"assets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"createdAt":"example","updatedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueWatchlistTransitionRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlists/{watchlistId}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistsRead","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true}],"responses":{"200":{"description":"The watchlist with each watched asset, its pinned market, and the venue markets currently visible to you.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlistDetail"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","name":"Core holdings","isDefault":true,"assets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"createdAt":"2026-08-01T09:00:00.000Z","updatedAt":"2026-08-01T09:00:00.000Z","entries":[{"tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","pinnedMarketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","marketIds":["0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c"],"createdAt":"2026-08-01T09:05:00.000Z"}]},"links":{"self":"/v2/addons/trading-venues/watchlists/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one of your watchlists with its watched assets. Each entry lists the venue markets of the asset that you can see: markets that sell the asset, or, when none does, markets priced in it. A pinned market you can no longer see reads as no pin. Another user's watchlist id answers 404. Repeating the request is safe.","summary":"Read a watchlist","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistsRename","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The watchlist after the change.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlist"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","name":"Core holdings","isDefault":true,"assets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"createdAt":"2026-08-01T09:00:00.000Z","updatedAt":"2026-08-01T09:00:00.000Z"},"links":{"self":"/v2/addons/trading-venues/watchlists/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Renames one of your watchlists, makes it your default list, or both. The body names `name`, `isDefault: true`, or both; an empty body answers 400. Your session is enough; no wallet verification is asked. Making a list the default takes the default from your other list. Another user's watchlist id answers 404 and changes nothing.","summary":"Rename a watchlist or make it the default","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueWatchlistUpdate"}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistsDelete","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The deleted watchlist; its entries are removed with it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlist"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","name":"Core holdings","isDefault":true,"assets":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"],"createdAt":"2026-08-01T09:00:00.000Z","updatedAt":"2026-08-01T09:00:00.000Z"},"links":{"self":"/v2/addons/trading-venues/watchlists"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Deletes one of your watchlists and all its entries. Your session is enough; no wallet verification is asked. Another user's watchlist id answers 404 and changes nothing.","summary":"Delete a watchlist","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlists/{watchlistId}/entries":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistEntriesAdd","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored watchlist entry.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlistEntryAdded"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"watchlistId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","pinnedMarketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","createdAt":"2026-08-01T09:05:00.000Z"},"links":{"self":"/v2/addons/trading-venues/watchlists/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Adds one asset to one of your watchlists, optionally pinning one of its venue markets. Your session is enough; no wallet verification is asked. A pinned market must be one you can see that sells the asset, or, when none does, is priced in it; any other pin answers 404. Re-adding a watched asset keeps it and its date: a `pinnedMarketId` moves the pin, `null` clears it, and leaving it out keeps it.","summary":"Watch an asset","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueWatchlistEntryAddRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlists/{watchlistId}/entries/{tokenAddress}":{"delete":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistEntriesRemove","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"tokenAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The removal report, with the market the removed entry had pinned so a client can restore it; removing an asset that was not watched changes nothing.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlistEntryRemoved"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"watchlistId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","removed":true,"pinnedMarketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c"},"links":{"self":"/v2/addons/trading-venues/watchlists/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes one asset from one of your watchlists. Your session is enough; no wallet verification is asked. Removing an asset that was not watched changes nothing. Another user's watchlist id answers 404.","summary":"Unwatch an asset","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/chart-preferences/{scope}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/chartPreferencesRead","parameters":[{"name":"scope","in":"path","schema":{"anyOf":[{"type":"string","enum":["global"]},{"type":"string","minLength":1,"description":"Trading Venue market identifier"}],"description":"The word global for the participant's default, or a market id for that market's own settings."},"required":true},{"name":"actorId","in":"query","schema":{"type":"string","minLength":1,"maxLength":128,"description":"The participant the signed-in user acts as, for example the wallet address of the maker. Settings are stored per signed-in user and per acting participant."},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueChartPreferences"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"scope":"global","preferences":"example","updatedAt":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"put":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/chartPreferencesPut","parameters":[{"name":"scope","in":"path","schema":{"anyOf":[{"type":"string","enum":["global"]},{"type":"string","minLength":1,"description":"Trading Venue market identifier"}],"description":"The word global for the participant's default, or a market id for that market's own settings."},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueChartPreferences"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"scope":"global","preferences":"example","updatedAt":"example"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueChartPreferencesWrite"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlist-order":{"put":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistOrderUpdate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlistOrder"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"watchlistIds":["00000000-0000-7000-8000-000000000000"]},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueWatchlistOrderRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/watchlists/{watchlistId}/entry-order":{"put":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/watchlistEntryOrderUpdate","parameters":[{"name":"watchlistId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","maxLength":36},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueWatchlistEntryOrder"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"tokenAddresses":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueWatchlistEntryOrderRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/calendar":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/calendarRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"The market's trading calendar: timezone, weekly template, dated exceptions, and upcoming session occurrences with their scheduled boundaries. The opening auction's exact uncross instant is never disclosed; only the window width is.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueCalendar"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"example","marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","timezone":"Europe/Brussels","uncrossWindowMs":30000,"days":[{"weekday":1,"preopenTime":"08:00","openTime":"09:00","closingAuctionTime":"example","tradeAtLastTime":"example","closeTime":"17:30"}],"exceptions":[{"date":"2026-12-25","closed":true,"description":"example","preopenTime":"example","openTime":"example","closingAuctionTime":"example","tradeAtLastTime":"example","closeTime":"example"}],"occurrences":[{"id":"example","marketId":"example","kind":"session","sessionDate":"2026-08-24","preopenAt":"2026-08-24T06:00:00.000Z","openAt":"2026-08-24T07:00:00.000Z","closingAuctionAt":"example","tradeAtLastAt":"example","closeAt":"2026-08-24T15:30:00.000Z","appliedState":"none","officialCloseTick":null,"auctionPriceTick":"0","closingAuctionPriceTick":"0","referencePriceTick":"0","closeMethodology":"last-trade","closeVwapWindowMs":0,"closeNoTradeFallback":"auction-then-previous","closeSource":"vwap"}]},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/calendar"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the market's timezone, weekly session template, dated exceptions, and upcoming session occurrences with scheduled boundaries. A market without a calendar trades continuously around the clock. Repeating the request is safe.","summary":"Read a market's trading calendar","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/calendar/trading-days":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/calendarTradingDaysRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true},{"name":"from","in":"query","schema":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"required":true},{"name":"to","in":"query","schema":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"required":true}],"responses":{"200":{"description":"Every date of the range with its trading-day flag and the instants its session opens and closes.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueTradingDayRange"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","timezone":"Asia/Dubai","from":"2026-12-01","to":"2026-12-03","days":[{"date":"2026-12-01","tradingDay":true,"openAt":"2026-12-01T05:30:00.000Z","closeAt":"2026-12-01T11:00:00.000Z"},{"date":"2026-12-02","tradingDay":false,"openAt":null,"closeAt":null},{"date":"2026-12-03","tradingDay":true,"openAt":"2026-12-03T05:30:00.000Z","closeAt":"2026-12-03T11:00:00.000Z"}]},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/calendar/trading-days?from=2026-12-01&to=2026-12-03"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns each calendar date from `from` to `to`, both included and at most 366 dates apart, in the market's effective calendar: the venue week, the market's own days and exceptions, and the venue's holiday closures. A date is a trading day when the market has a session on it. The open and close of that session are instants; both are null on a closed date and on a market with no daily hours. Use it to pick the end date of a good-till-date order: the order lapses at that date's close. Repeating this read is safe.","summary":"List a market's trading days","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/calendar/effective-closures":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/calendarEffectiveClosuresRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true},{"name":"from","in":"query","schema":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"required":true},{"name":"to","in":"query","schema":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"required":true}],"responses":{"200":{"description":"Every dated closure of the range, in date order, with its holiday name and the calendar that closed it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueEffectiveClosures"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","from":"2026-12-01","to":"2026-12-31","closures":[{"date":"2026-12-25","description":"Christmas Day","source":"venue"},{"date":"2026-12-26","description":"Boxing Day","source":"shared-calendar"},{"date":"2026-12-28","description":"Issuer record date","source":"instrument"}]},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/calendar/effective-closures?from=2026-12-01&to=2026-12-31"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns each dated closure from `from` to `to`, both included and at most 366 dates apart: the holidays and closed days the scheduler merges from the venue's own calendar, the shared holiday calendars the venue's calendar extends, and the market's own closed days. A day the weekly schedule never opens, such as a weekend, is not a dated closure and is not listed; read `calendar/trading-days` for whether a date trades. Each closure names its holiday when one was given and the calendar that closed it: `venue` for the venue's own calendar, `shared-calendar` for a calendar the venue's calendar extends, and `instrument` for a closed day of the market itself. A holiday closure wins over the market's own entry for the same date. A shortened day is not a closure and is not listed. Repeating this read is safe.","summary":"List a market's effective closures","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/collection-windows":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/collectionWindowsRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"The market's collection windows, their scheduled boundaries, clearing dates, and current states.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueCollectionWindowSchedule"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","windows":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","clearingDate":"2026-10-09","startAt":"2026-10-05T07:00:00.000Z","endAt":"2026-10-09T12:00:00.000Z","appliedState":"none","officialCloseTick":null}],"schedule":{"startWeekday":0,"startTime":"example","endWeekday":0,"endTime":"example"}},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/collection-windows"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the auction collection windows scheduled for this market, including windows already collecting and closed. Each window collects orders from startAt until endAt and clears once at endAt. Repeating this read is safe.","summary":"Read a market's auction collection windows","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/markets/{marketId}/bands":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/bandsRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"marketId","in":"path","schema":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"required":true}],"responses":{"200":{"description":"The market's price bands and order thresholds, with the static band's current session-reference anchor. Null fields are inactive.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueBandConfig"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"marketId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c","staticBandBps":1000,"staticBandAnchorTick":"1000","dynamicBandBps":300,"maxOrderQuantity":"100000000000000000000","maxOrderNotional":"50000000000"},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/markets/0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9c/bands"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the market's static and dynamic price bands and its per-order quantity and notional thresholds, with the static band's session-reference anchor. Null fields are inactive. Repeating the request is safe.","summary":"Read a market's price bands","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/calendar":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/venueCalendarRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"The venue's own calendar layer: its timezone, weekly template, dated time overrides, and every closed day its leaf holiday calendar and that leaf's whole parent chain carry.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueVenueCalendar"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"venueAddress":"0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0","timezone":"Europe/Brussels","calendarId":"venue:31337:0x1111111111111111111111111111111111111111","parentCalendarId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d","calendarVersion":3,"days":[{"weekday":1,"preopenTime":"08:00","openTime":"09:00","closeTime":"17:30"}],"exceptions":[{"date":"2026-12-24","preopenTime":"08:00","openTime":"09:00","closeTime":"13:00"}],"closures":[{"observedOn":"2026-12-25","kind":"public","source":"platform:admin-1","calendarId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8b9d"}]},"links":{"self":"/v2/addons/trading-venues/0x0000000000000000000000000000000000000a01/calendar"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the week every market of this venue trades unless it declares one of its own, the venue's dated time overrides, and the closed days the venue inherits from the shared holiday calendar its leaf extends. Repeating the request is safe.","summary":"Read a venue's calendar layer","x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/price-alerts":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/priceAlertsList","parameters":[{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenuePriceAlert"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","marketId":"example","direction":"above","status":"active","createdAt":"example","triggeredAt":"example","triggeredPriceTick":"0","kind":"absolute","thresholdTick":"0"}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/priceAlertsCreate","parameters":[{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenuePriceAlert"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","marketId":"example","direction":"above","status":"active","createdAt":"example","triggeredAt":"example","triggeredPriceTick":"0","kind":"absolute","thresholdTick":"0"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED","TRADING_VENUE_PRICE_ALERT_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-174262","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenuePriceAlertCreateRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/price-alerts/{alertId}":{"patch":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/priceAlertsUpdate","parameters":[{"name":"alertId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenuePriceAlert"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","marketId":"example","direction":"above","status":"active","createdAt":"example","triggeredAt":"example","triggeredPriceTick":"0","kind":"absolute","thresholdTick":"0"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","TRADING_VENUE_PRICE_ALERT_NOT_EDITABLE","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174261","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED","TRADING_VENUE_PRICE_ALERT_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-174262","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenuePriceAlertUpdateRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/priceAlertsDelete","parameters":[{"name":"alertId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"X-Wallet-Verification","in":"header","schema":{"type":"string","minLength":1},"required":false},{"name":"X-Step-Up-Challenge","in":"header","schema":{"type":"string","minLength":1},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenuePriceAlert"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","marketId":"example","direction":"above","status":"active","createdAt":"example","triggeredAt":"example","triggeredPriceTick":"0","kind":"absolute","thresholdTick":"0"},"links":{"self":"example"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/retention-policy":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/venueRetentionPolicyRead","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueRetentionPolicy"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","retentionYears":1},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/{venueAddress}/retention-policy/preview":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/venueRetentionPolicyPreview","parameters":[{"name":"venueAddress","in":"path","schema":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"required":true},{"name":"retentionYears","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueRetentionPreview"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","retentionYears":1,"orders":0,"orderEvents":0,"trades":0},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","VENUE_ROLE_REQUIRED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12266","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/notifications":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/notificationsList","parameters":[{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"unread","in":"query","schema":{"type":"string","enum":["true","false"]},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueNotification"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","marketId":"example","createdAt":"example","readAt":"example","kind":"order-status","payload":{"orderId":"example","side":"buy","status":"pending_reservation","closeReason":"filled","closeActor":"participant","refusalReason":"rate-limit","quantity":"0","filledQuantity":"0","remainingQuantity":"0"}}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/notifications/{notificationId}/transitions":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/notificationTransition","parameters":[{"name":"notificationId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueNotification"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","marketId":"example","createdAt":"example","readAt":"example","kind":"order-status","payload":{"orderId":"example","side":"buy","status":"pending_reservation","closeReason":"filled","closeActor":"participant","refusalReason":"rate-limit","quantity":"0","filledQuantity":"0","remainingQuantity":"0"}},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_NOTIFICATION_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-174241","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueNotificationTransitionRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/notifications/transitions":{"post":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/notificationsTransition","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueNotificationsTransition"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"read":0},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueNotificationsTransitionRequest"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/notification-preferences":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/notificationPreferencesRead","parameters":[],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueAlertPreferences"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"preferences":[{"kind":"order-fill","channel":"email","enabled":false,"source":"user"}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/notificationPreferencesUpdate","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueAlertPreferences"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"preferences":[{"kind":"order-fill","channel":"email","enabled":false,"source":"user"}]},"links":{"self":"example"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TradingVenueAlertPreferencesWrite"}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/announcements":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/announcementsList","parameters":[{"name":"offset","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"limit","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"}]},"required":false},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"filter","in":"query","schema":{"type":"object","properties":{"history":{"type":"string","enum":["true"],"description":"Lists the notices that have gone on display, including those whose display window has ended, whoever asks. Withdrawn, scheduled and pending-approval notices never appear. Omit it for the notices the caller sees now."},"category":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"marketId":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"announcementDate":{"type":"object","properties":{"gte":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"lt":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"}},"additionalProperties":false,"description":"Keeps notices whose announcement date is on or after `gte` and before `lt`."}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueAnnouncement"}},"meta":{"$ref":"#/components/schemas/TradingVenueCollectionMeta"},"links":{"$ref":"#/components/schemas/TradingVenueCollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"00000000-0000-7000-8000-000000000000","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","marketId":"example","securityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","marketTransition":"halted","title":"example","body":"example","generatedNotice":{"marketTransition":"halted","marketLabel":"example","reason":"example","generatedTitle":false,"generatedBody":false},"category":"notice","severity":"info","status":"published","announcementDate":"1970-01-01","displayFrom":"example","displayUntil":"example","publishedAt":"example","publishedBy":"example","withdrawnAt":"example","withdrawnBy":"example","updatedAt":"example","attachments":[{"id":"00000000-0000-7000-8000-000000000000","fileName":"example","contentType":"application/pdf","size":0,"sha256":"0000000000000000000000000000000000000000000000000000000000000000"}],"participantIds":["example"]}],"meta":{"total":0,"more":false,"nextCursor":"example"},"links":{"self":"example","first":"example","prev":"example","next":"example","last":"example"}}}}}}},"400":{"description":"A filter value does not fit the type of its field. Send a value that field accepts. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9355","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/announcements/{announcementId}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/announcementsRead","parameters":[{"name":"announcementId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueAnnouncement"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"00000000-0000-7000-8000-000000000000","venueAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","marketId":"example","securityAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F","marketTransition":"halted","title":"example","body":"example","generatedNotice":{"marketTransition":"halted","marketLabel":"example","reason":"example","generatedTitle":false,"generatedBody":false},"category":"notice","severity":"info","status":"published","announcementDate":"1970-01-01","displayFrom":"example","displayUntil":"example","publishedAt":"example","publishedBy":"example","withdrawnAt":"example","withdrawnBy":"example","updatedAt":"example","attachments":[{"id":"00000000-0000-7000-8000-000000000000","fileName":"example","contentType":"application/pdf","size":0,"sha256":"0000000000000000000000000000000000000000000000000000000000000000"}],"participantIds":["example"]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_ANNOUNCEMENT_NOT_FOUND","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14056","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/addons/trading-venues/announcements/{announcementId}/attachments/{attachmentId}":{"get":{"tags":["Trading venue"],"operationId":"v2/addons/tradingVenue/announcementAttachmentsRead","parameters":[{"name":"announcementId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"attachmentId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"Success","content":{"application/pdf":{"schema":{"type":"string","format":"binary"},"examples":{"example-1":{"value":"example"}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","TRANSACTION_QUEUE_DUPLICATE_SETTLED","TRANSACTION_QUEUE_FAMILY_UNSUPPORTED","TRANSACTION_QUEUE_FUNDING_REQUIRED","TRANSACTION_QUEUE_IDEMPOTENCY_CONFLICT","TRANSACTION_QUEUE_INPUT_INVALID","TRANSACTION_QUEUE_KEY_RETIRED","TRANSACTION_QUEUE_OUTCOME_IN_FLIGHT","TRANSACTION_QUEUE_REFUSED","TRANSACTION_QUEUE_TRANSACTION_NOT_FOUND","WALLET_VERIFICATION_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12033","DALP-12299","DALP-12308","DALP-14060","DALP-14061","DALP-14062","DALP-14063","DALP-14064","DALP-14065","DALP-14066","DALP-14067","DALP-14261","DALP-14751","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","USER_MISSING_2FA","WALLET_VERIFICATION_NOT_CONFIGURED","WALLET_VERIFICATION_SESSION_REQUIRED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0005","DALP-12034","DALP-14247","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","TERMS_ACCEPTANCE_REQUIRED","TRADE_BUST_EXECUTION_REFUSED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","WALLET_STEP_UP_CHALLENGE_REFUSED","WALLET_VERIFICATION_HELD","WALLET_VERIFICATION_INVALID","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0524","DALP-0616","DALP-0621","DALP-12035","DALP-12262","DALP-12384","DALP-14420","DALP-17440","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_STREAM_NOT_FOUND","REQUEST_CHAIN_SYSTEM_REQUIRED","TRADING_VENUE_ANNOUNCEMENT_NOT_FOUND","TRADING_VENUE_MARKET_NOT_FOUND","TRADING_VENUE_ORDER_NOT_FOUND","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12296","DALP-14056","DALP-9298","DALP-9299","DALP-9306","DALP-9524"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","ESCROW_COMMIT_REFUSED","MARKET_LISTING_REFUSED","MARKET_LOG_FENCE_LOST","MARKET_STATE_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","SETTLEMENT_LEG_BLOCKED","TRADE_BUST_APPROVAL_INVALID","VENUE_CONFIGURATION_CONFLICT","VENUE_CONFIGURATION_REQUIRED","compliance.kyc.KYC_NOT_APPROVED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12019","DALP-12195","DALP-12196","DALP-12265","DALP-12297","DALP-12298","DALP-14001","DALP-14010","DALP-14112","DALP-14255","DALP-14396","DALP-174411","DALP-9086","DALP-9305","DALP-9415","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","MARKET_CALENDAR_INVALID","MARKET_FIELD_IMMUTABLE","ORDER_INTAKE_REJECTED","TRADE_BUST_REFUSED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-12263","DALP-12264","DALP-9302","DALP-9414"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"MARKET_CALENDAR_INVALID","status":422,"message":"The instrument calendar cannot produce trading sessions","data":{"id":"DALP-12263","why":"The calendar names a timezone the platform cannot resolve, session times or an exception that never open a session, or a private continuous instrument schedules a pre-open. The calendar is also refused when an edit or delete targets a past venue closure or a date with no closure, when a move lands on a date that already has one, or when a collection window overlaps a session that already started.","fix":"Use an IANA timezone and session times with pre-open at or before open and open before close. On a private continuous instrument, leave pre-open empty for every weekday and every open exception, then submit the calendar again. Edit or delete only a venue closure that falls on the current day or a later one.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WALLET_VERIFICATION_THROTTLED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12036","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["DALP-0083","OIDC_MFA_UNAVAILABLE","ORDER_SIGNING_FAILED","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","VENUE_DEPLOYMENT_PENDING","WALLET_VERIFICATION_DEPENDENCY_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0660","DALP-12038","DALP-12146","DALP-12307","DALP-14002"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED","status":503,"message":"The organization's network settings are temporarily unavailable","data":{"id":"DALP-12307","why":"The platform could not load the organization's network configuration for this request.","fix":"Retry after a short backoff. If the problem continues, contact support with the X-Request-Id response header.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks":{"get":{"tags":["Webhooks"],"operationId":"webhooks.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"url":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"systemId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"defaultPayloadShape":{"anyOf":[{"type":"string","enum":["thin","fat"]},{"type":"object","properties":{"eq":{"type":"string","enum":["thin","fat"]},"ne":{"type":"string","enum":["thin","fat"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"breakerState":{"anyOf":[{"type":"string","enum":["closed","half_open","open"]},{"type":"object","properties":{"eq":{"type":"string","enum":["closed","half_open","open"]},"ne":{"type":"string","enum":["closed","half_open","open"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"disabled":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"q","in":"query","schema":{"type":"string","minLength":1,"maxLength":1000},"required":false},{"name":"displayName","in":"query","schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"url","in":"query","schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"systemId","in":"query","schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"defaultPayloadShape","in":"query","schema":{"anyOf":[{"type":"string","enum":["thin","fat"]},{"type":"object","properties":{"eq":{"type":"string","enum":["thin","fat"]},"ne":{"type":"string","enum":["thin","fat"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"breakerState","in":"query","schema":{"anyOf":[{"type":"string","enum":["closed","half_open","open"]},{"type":"object","properties":{"eq":{"type":"string","enum":["closed","half_open","open"]},"ne":{"type":"string","enum":["closed","half_open","open"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"disabled","in":"query","schema":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"createdAt","in":"query","schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"updatedAt","in":"query","schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"fields","in":"query","schema":{"type":"object","properties":{"webhookEndpoint":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the webhookEndpoint resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"webhookEndpoint":"id,displayName,url,defaultPayloadShape,breakerState,createdAt,updatedAt"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the webhookEndpoint members a list or a strip renders: id, displayName, url, defaultPayloadShape, breakerState, createdAt, updatedAt. Send fields[webhookEndpoint] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"One page of webhook endpoints for the calling organization. `meta.total` counts every matching endpoint rather than the ones on this page, and `links` carries relative URLs for the surrounding pages with `prev` and `next` set to null at the ends of the collection.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"systemId":{"type":"string"},"url":{"type":"string"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"},"receiptTimeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"breakerState":{"type":"string","enum":["closed","half_open","open"]},"disabledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"disabledReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"fatEventsAcknowledgment":{"anyOf":[{"type":"object","properties":{"acknowledgedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"acknowledgedByUserId":{"$ref":"#/components/schemas/UserId"},"fieldsAcknowledged":{"type":"array","items":{"type":"string"}}},"required":["acknowledgedAt","acknowledgedByUserId","fieldsAcknowledged"],"additionalProperties":false},{"type":"null"}]},"secret":{"type":"object","properties":{"activeVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousRevokesAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastUsedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["activeVersion","previousVersion","previousRevokesAt","lastUsedAt"],"additionalProperties":false},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]}},"required":["id","tenantId","systemId","url","displayName","subscriptions","defaultPayloadShape","counterSignedReceipts","receiptTimeoutSeconds","breakerState","disabledAt","disabledReason","fatEventsAcknowledgment","secret","createdAt","updatedAt","version","createdByUserId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"systemId":{"type":"string"},"url":{"type":"string"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"},"receiptTimeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"breakerState":{"type":"string","enum":["closed","half_open","open"]},"disabledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"disabledReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"fatEventsAcknowledgment":{"anyOf":[{"type":"object","properties":{"acknowledgedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"acknowledgedByUserId":{"$ref":"#/components/schemas/UserId"},"fieldsAcknowledged":{"type":"array","items":{"type":"string"}}},"required":["acknowledgedAt","acknowledgedByUserId","fieldsAcknowledged"],"additionalProperties":false},{"type":"null"}]},"secret":{"type":"object","properties":{"activeVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousRevokesAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastUsedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["activeVersion","previousVersion","previousRevokesAt","lastUsedAt"],"additionalProperties":false},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]}},"additionalProperties":false}]}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"01934567-89ab-7def-8123-456789abcdef","tenantId":"org_northwind_coffee_treasury","systemId":"sys_northwind_mainnet","url":"https://webhooks.northwind.example/settlement","displayName":"Northwind Coffee settlement","subscriptions":["*.final"],"defaultPayloadShape":"thin","counterSignedReceipts":false,"receiptTimeoutSeconds":30,"breakerState":"closed","disabledAt":null,"disabledReason":null,"fatEventsAcknowledgment":null,"secret":{"activeVersion":1,"previousVersion":null,"previousRevokesAt":null,"lastUsedAt":"2026-03-04T15:42:18.000Z"},"createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","version":1,"createdByUserId":"user_northwind_ops"}],"meta":{"total":1,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"/v2/webhooks?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/webhooks?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/webhooks?sort=createdAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the webhook endpoints registered for the calling organization, sorted by `createdAt` unless you name another sort field. Filter on display name, URL, system id, payload shape, circuit breaker state, disabled state, and creation or update time. Secret material never appears in this list.","summary":"List webhook endpoints","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Webhooks"],"operationId":"webhooks.create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The registered endpoint and a `self` link to its canonical URL. `data.signingSecret` is the cleartext secret on the first response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"systemId":{"type":"string"},"url":{"type":"string"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"},"receiptTimeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"breakerState":{"type":"string","enum":["closed","half_open","open"]},"disabledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"disabledReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"fatEventsAcknowledgment":{"anyOf":[{"type":"object","properties":{"acknowledgedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"acknowledgedByUserId":{"$ref":"#/components/schemas/UserId"},"fieldsAcknowledged":{"type":"array","items":{"type":"string"}}},"required":["acknowledgedAt","acknowledgedByUserId","fieldsAcknowledged"],"additionalProperties":false},{"type":"null"}]},"secret":{"type":"object","properties":{"activeVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousRevokesAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastUsedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["activeVersion","previousVersion","previousRevokesAt","lastUsedAt"],"additionalProperties":false},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"signingSecret":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","tenantId","systemId","url","displayName","subscriptions","defaultPayloadShape","counterSignedReceipts","receiptTimeoutSeconds","breakerState","disabledAt","disabledReason","fatEventsAcknowledgment","secret","createdAt","updatedAt","version","createdByUserId","signingSecret"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"01934567-89ab-7def-8123-456789abcdef","tenantId":"org_northwind_coffee_treasury","systemId":"sys_northwind_mainnet","url":"https://webhooks.northwind.example/settlement","displayName":"Northwind Coffee settlement","subscriptions":["*.final"],"defaultPayloadShape":"thin","counterSignedReceipts":false,"receiptTimeoutSeconds":30,"breakerState":"closed","disabledAt":null,"disabledReason":null,"fatEventsAcknowledgment":null,"secret":{"activeVersion":1,"previousVersion":null,"previousRevokesAt":null,"lastUsedAt":"2026-03-04T15:42:18.000Z"},"createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","version":1,"createdByUserId":"user_northwind_ops","signingSecret":"dalp_whsk_sample_not_a_live_secret"},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_CREATE_IN_PROGRESS","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_IDEMPOTENCY_KEY_REUSED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-0537","DALP-0538","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR","core.network.CHAIN_READ_INVALID"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14108","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"Idempotency-Key":{"$ref":"#/components/headers/Idempotency-Key"},"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Registers a receiving URL and issues its first signing secret. The response carries `signingSecret` in cleartext, so record it now: a response that cannot carry the cleartext value again sets the field to `null`. A new endpoint defaults to the `thin` payload shape, which strips the personal data fields the platform tracks for each event type. A finished create returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Register a webhook endpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"displayName":{"type":"string","minLength":1,"maxLength":200},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"}},"required":["url"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}":{"get":{"tags":["Webhooks"],"operationId":"webhooks.read","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The requested endpoint, with a `self` link to its canonical URL. Secret material never appears in this response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"systemId":{"type":"string"},"url":{"type":"string"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"},"receiptTimeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"breakerState":{"type":"string","enum":["closed","half_open","open"]},"disabledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"disabledReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"fatEventsAcknowledgment":{"anyOf":[{"type":"object","properties":{"acknowledgedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"acknowledgedByUserId":{"$ref":"#/components/schemas/UserId"},"fieldsAcknowledged":{"type":"array","items":{"type":"string"}}},"required":["acknowledgedAt","acknowledgedByUserId","fieldsAcknowledged"],"additionalProperties":false},{"type":"null"}]},"secret":{"type":"object","properties":{"activeVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousRevokesAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastUsedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["activeVersion","previousVersion","previousRevokesAt","lastUsedAt"],"additionalProperties":false},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]}},"required":["id","tenantId","systemId","url","displayName","subscriptions","defaultPayloadShape","counterSignedReceipts","receiptTimeoutSeconds","breakerState","disabledAt","disabledReason","fatEventsAcknowledgment","secret","createdAt","updatedAt","version","createdByUserId"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"01934567-89ab-7def-8123-456789abcdef","tenantId":"org_northwind_coffee_treasury","systemId":"sys_northwind_mainnet","url":"https://webhooks.northwind.example/settlement","displayName":"Northwind Coffee settlement","subscriptions":["*.final"],"defaultPayloadShape":"thin","counterSignedReceipts":false,"receiptTimeoutSeconds":30,"breakerState":"closed","disabledAt":null,"disabledReason":null,"fatEventsAcknowledgment":null,"secret":{"activeVersion":1,"previousVersion":null,"previousRevokesAt":null,"lastUsedAt":"2026-03-04T15:42:18.000Z"},"createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","version":1,"createdByUserId":"user_northwind_ops"},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the configuration and current state of one endpoint: its subscription patterns, payload shape, circuit breaker state, signing secret versions, and the acknowledgement recorded for full payload delivery. Secret material never appears in the response. An identifier that belongs to another organization returns 404.","summary":"Read one webhook endpoint","x-dalp-auth":"session-or-api-key"},"patch":{"tags":["Webhooks"],"operationId":"webhooks.update","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"acknowledgePending","in":"query","schema":{"type":"boolean","enum":[true]},"required":false},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The endpoint as the platform now holds it, with a `self` link to its canonical URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"systemId":{"type":"string"},"url":{"type":"string"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"},"receiptTimeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"breakerState":{"type":"string","enum":["closed","half_open","open"]},"disabledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"disabledReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"fatEventsAcknowledgment":{"anyOf":[{"type":"object","properties":{"acknowledgedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"acknowledgedByUserId":{"$ref":"#/components/schemas/UserId"},"fieldsAcknowledged":{"type":"array","items":{"type":"string"}}},"required":["acknowledgedAt","acknowledgedByUserId","fieldsAcknowledged"],"additionalProperties":false},{"type":"null"}]},"secret":{"type":"object","properties":{"activeVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousRevokesAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastUsedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["activeVersion","previousVersion","previousRevokesAt","lastUsedAt"],"additionalProperties":false},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]}},"required":["id","tenantId","systemId","url","displayName","subscriptions","defaultPayloadShape","counterSignedReceipts","receiptTimeoutSeconds","breakerState","disabledAt","disabledReason","fatEventsAcknowledgment","secret","createdAt","updatedAt","version","createdByUserId"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"01934567-89ab-7def-8123-456789abcdef","tenantId":"org_northwind_coffee_treasury","systemId":"sys_northwind_mainnet","url":"https://webhooks.northwind.example/settlement","displayName":"Northwind Coffee settlement","subscriptions":["*.final"],"defaultPayloadShape":"thin","counterSignedReceipts":false,"receiptTimeoutSeconds":30,"breakerState":"closed","disabledAt":null,"disabledReason":null,"fatEventsAcknowledgment":null,"secret":{"activeVersion":1,"previousVersion":null,"previousRevokesAt":null,"lastUsedAt":"2026-03-04T15:42:18.000Z"},"createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","version":1,"createdByUserId":"user_northwind_ops"},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_ENDPOINT_VERSION_CONFLICT","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-0542","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Changes endpoint configuration. Every body field is optional and the platform leaves omitted fields untouched. A resulting `fat` payload shape requires `fatEventsAcknowledgment` covering every personal data field implied by the resulting subscriptions, including subscriptions-only updates on an already-fat endpoint. Set `acknowledgePending=true` to consent to the change reaching deliveries that are already queued. A finished update returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Update a webhook endpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":200},{"type":"null"}]},"subscriptions":{"type":"array","items":{"type":"string","pattern":"^(?:\\*|\\*\\.[a-z0-9]+(?:-[a-z0-9]+)*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*)*\\.\\*|[a-z0-9]+(?:-[a-z0-9]+)*(?:\\.[a-z0-9]+(?:-[a-z0-9]+)*){2})$"}},"defaultPayloadShape":{"type":"string","enum":["thin","fat"]},"counterSignedReceipts":{"type":"boolean"},"receiptTimeoutSeconds":{"type":"integer","minimum":1,"maximum":60},"disabled":{"type":"boolean"},"disabledReason":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"fatEventsAcknowledgment":{"type":"object","properties":{"acknowledgedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"acknowledgedByUserId":{"$ref":"#/components/schemas/UserId"},"fieldsAcknowledged":{"type":"array","items":{"type":"string"}}},"required":["acknowledgedAt","acknowledgedByUserId","fieldsAcknowledged"],"additionalProperties":false},"expectedVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"},"delete":{"tags":["Webhooks"],"operationId":"webhooks.delete","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The endpoint is gone. `data` is null because no resource remains to return.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"null"}},"required":["data"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":null}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Removes the endpoint. The success body carries `data` set to `null` because no resource remains. A finished delete returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Delete a webhook endpoint","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/test-events":{"post":{"tags":["Webhooks"],"operationId":"webhooks.sendTestEvent","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The queued test event and its delivery identifier, with a `self` link to the endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"deliveryId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"deliveryState":{"type":"string","enum":["queued"]},"isTest":{"type":"boolean","enum":[true]}},"required":["evtId","deliveryId","deliveryState","isTest"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"evtId":"evt_northwindSettlement20260304","deliveryId":"01934567-89ab-7def-8123-456789abcde0","deliveryState":"queued","isTest":true},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WEBHOOK_REPLAY_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0507","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Emits one event to the endpoint so you can confirm the receiving URL and your signature verification. The event type defaults to `webhook.test.final`. The resulting delivery row carries `isTest` set to `true`, so the delivery statistics leave it out. A finished emit returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Send a test event to an endpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"eventType":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,}\\S)?\\s*$"},{"type":"null"}]}},"additionalProperties":false}}},"required":false},"x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/deliveries":{"get":{"tags":["Webhooks"],"operationId":"webhooks.listDeliveries","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"filter","in":"query","schema":{"type":"object","properties":{"eventType":{"anyOf":[{"type":"string"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["pending","delivered","failed"]},{"type":"object","properties":{"eq":{"type":"string","enum":["pending","delivered","failed"]},"ne":{"type":"string","enum":["pending","delivered","failed"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"failureClass":{"anyOf":[{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},{"type":"object","properties":{"eq":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"ne":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"responseStatus":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"isReplay":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isTest":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"attemptedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"deliveredAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"eventType","in":"query","schema":{"anyOf":[{"type":"string"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"status","in":"query","schema":{"anyOf":[{"type":"string","enum":["pending","delivered","failed"]},{"type":"object","properties":{"eq":{"type":"string","enum":["pending","delivered","failed"]},"ne":{"type":"string","enum":["pending","delivered","failed"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"failureClass","in":"query","schema":{"anyOf":[{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},{"type":"object","properties":{"eq":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"ne":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"responseStatus","in":"query","schema":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"number"},{"type":"string"}]},"ne":{"anyOf":[{"type":"number"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"number"},{"type":"string"}]},"gte":{"anyOf":[{"type":"number"},{"type":"string"}]},"lt":{"anyOf":[{"type":"number"},{"type":"string"}]},"lte":{"anyOf":[{"type":"number"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"isReplay","in":"query","schema":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"isTest","in":"query","schema":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"attemptedAt","in":"query","schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"deliveredAt","in":"query","schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"fields","in":"query","schema":{"type":"object","properties":{"webhookDelivery":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the webhookDelivery resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"webhookDelivery":"id,endpointId,evtId,eventType,attemptN,attemptedAt,status,deliveredAt"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the webhookDelivery members a list or a strip renders: id, endpointId, evtId, eventType, attemptN, attemptedAt, status, deliveredAt. Send fields[webhookDelivery] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"One page of delivery attempts for the endpoint. Test and replay rows stay in this list; delivery statistics leave them out. `meta.total` counts every matching attempt rather than the ones on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"eventOutboxId":{"type":"string"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"eventType":{"type":"string"},"attemptN":{"type":"integer","minimum":0,"maximum":9007199254740991},"attemptedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"durationMs":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"nextRetryAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"responseStatus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"failureClass":{"anyOf":[{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},{"type":"null"}]},"status":{"type":"string","enum":["pending","delivered","failed"]},"dispatchState":{"type":"string","enum":["active","settled","cancelled"]},"deliveredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"isReplay":{"type":"boolean"},"isTest":{"type":"boolean"},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","eventOutboxId","endpointId","tenantId","evtId","eventType","attemptN","attemptedAt","responseStatus","failureClass","status","dispatchState","deliveredAt","isReplay","isTest","traceId"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"eventOutboxId":{"type":"string"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"eventType":{"type":"string"},"attemptN":{"type":"integer","minimum":0,"maximum":9007199254740991},"attemptedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"durationMs":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"nextRetryAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"responseStatus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"failureClass":{"anyOf":[{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},{"type":"null"}]},"status":{"type":"string","enum":["pending","delivered","failed"]},"dispatchState":{"type":"string","enum":["active","settled","cancelled"]},"deliveredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"isReplay":{"type":"boolean"},"isTest":{"type":"boolean"},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false}]}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"01934567-89ab-7def-8123-456789abcde0","eventOutboxId":"01934567-89ab-7def-8123-456789abcdef","endpointId":"01934567-89ab-7def-8123-456789abcdef","tenantId":"org_northwind_coffee_treasury","evtId":"evt_northwindSettlement20260304","eventType":"token.transfer.final","attemptN":1,"attemptedAt":"2026-03-04T15:43:02.000Z","durationMs":1184,"nextRetryAt":null,"responseStatus":200,"failureClass":null,"status":"delivered","dispatchState":"active","deliveredAt":"2026-03-04T15:43:03.184Z","isReplay":false,"isTest":false,"traceId":"trace_northwind_settlement_1"}],"meta":{"total":1,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef/deliveries?sort=attemptedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef/deliveries?sort=attemptedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef/deliveries?sort=attemptedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns one row per delivery attempt for the endpoint, sorted by `attemptedAt` unless you name another sort field. Filter on delivery status, failure class, HTTP response status, and whether the attempt was a replay or a test. Test and replay rows stay in this list even though statistics leave them out.","summary":"List delivery attempts for an endpoint","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/deliveries/{deliveryId}":{"get":{"tags":["Webhooks"],"operationId":"webhooks.readDelivery","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"deliveryId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The requested delivery attempt, with a `self` link to its canonical URL. Use it to reproduce a signature mismatch or to see what the receiver replied.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"eventOutboxId":{"type":"string"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"eventType":{"type":"string"},"attemptN":{"type":"integer","minimum":0,"maximum":9007199254740991},"attemptedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"durationMs":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"nextRetryAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"responseStatus":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"failureClass":{"anyOf":[{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},{"type":"null"}]},"status":{"type":"string","enum":["pending","delivered","failed"]},"dispatchState":{"type":"string","enum":["active","settled","cancelled"]},"deliveredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"isReplay":{"type":"boolean"},"isTest":{"type":"boolean"},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]},"request":{"type":"object","properties":{"payload":{"type":"object"},"signedHeaders":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"signedStringPreview":{"type":"string"}},"required":["payload","signedHeaders","signedStringPreview"],"additionalProperties":false},"response":{"type":"object","properties":{"headers":{"anyOf":[{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},{"type":"null"}]},"body":{"anyOf":[{"type":"string"},{"type":"null"}]},"timings":{"type":"object","properties":{"dnsMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"tlsMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"connectMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"ttfbMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["dnsMs","tlsMs","connectMs","ttfbMs"],"additionalProperties":false}},"required":["headers","body","timings"],"additionalProperties":false}},"required":["id","eventOutboxId","endpointId","tenantId","evtId","eventType","attemptN","attemptedAt","responseStatus","failureClass","status","dispatchState","deliveredAt","isReplay","isTest","traceId","request","response"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"01934567-89ab-7def-8123-456789abcde0","eventOutboxId":"01934567-89ab-7def-8123-456789abcdef","endpointId":"01934567-89ab-7def-8123-456789abcdef","tenantId":"org_northwind_coffee_treasury","evtId":"evt_northwindSettlement20260304","eventType":"token.transfer.final","attemptN":1,"attemptedAt":"2026-03-04T15:43:02.000Z","durationMs":1184,"nextRetryAt":null,"responseStatus":200,"failureClass":null,"status":"delivered","dispatchState":"active","deliveredAt":"2026-03-04T15:43:03.184Z","isReplay":false,"isTest":false,"traceId":"trace_northwind_settlement_1","request":{"payload":{},"signedHeaders":{},"signedStringPreview":"t=1741102982.evt_northwindSettlement20260304"},"response":{"headers":{},"body":"{\"received\":true}","timings":{"dnsMs":12,"tlsMs":48,"connectMs":31,"ttfbMs":86}}},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef/deliveries/01934567-89ab-7def-8123-456789abcde0"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the full record of one attempt: the payload and signed headers the platform sent, a preview of the string it signed, the headers and body the receiver returned, and the connection timings the platform measured. Use it to reproduce a signature mismatch or to see what the receiver replied.","summary":"Read one delivery attempt","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/deliveries/{deliveryId}/retries":{"post":{"tags":["Webhooks"],"operationId":"webhooks.retryDelivery","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"name":"deliveryId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"Whether the platform scheduled the new attempt, with a `self` link to the original delivery.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"scheduled":{"type":"boolean"}},"required":["deliveryId","scheduled"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"deliveryId":"01934567-89ab-7def-8123-456789abcde0","scheduled":true},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef/deliveries/01934567-89ab-7def-8123-456789abcde0"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Queues one more attempt for a delivery that already ran. The response reports whether the platform scheduled the new attempt. A finished schedule returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Retry a delivery attempt","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/replays":{"post":{"tags":["Webhooks"],"operationId":"webhooks.replay","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The replay id and how many events the platform enqueued, with a `self` link to the endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"replayId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"eventsEnqueued":{"type":"integer","minimum":0,"maximum":9007199254740991},"snapshotToBlock":{"anyOf":[{"$ref":"#/components/schemas/BlockHeightEncoded"},{"type":"null"}]}},"required":["replayId","endpointId","eventsEnqueued","snapshotToBlock"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"replayId":"01934567-89ab-7def-8123-456789abcde2","endpointId":"01934567-89ab-7def-8123-456789abcdef","eventsEnqueued":1,"snapshotToBlock":"18500120"},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["WEBHOOK_REPLAY_RATE_LIMITED","auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0507","DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Re-enqueues events for one endpoint. Select them either by block range on a chain or by a single event id; the body accepts one form or the other. The response reports the replay id and how many events the platform enqueued. Every resulting delivery row carries `isReplay` set to `true`. A finished enqueue returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Replay events to an endpoint","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"fromBlock":{"$ref":"#/components/schemas/BlockHeightEncoded"},"toBlock":{"$ref":"#/components/schemas/BlockHeightEncoded"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"confirmLargeRange":{"type":"boolean"}},"required":["fromBlock","chainId"],"additionalProperties":false},{"type":"object","properties":{"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"}},"required":["evtId"],"additionalProperties":false}]}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/events/{evtId}/chain-of-custody":{"get":{"tags":["Webhooks"],"operationId":"webhooks.chainOfCustody","parameters":[{"name":"evtId","in":"path","schema":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"required":true}],"responses":{"200":{"description":"The chain of custody for the named event, with a `self` link. Each hop names a stage, the content hash at that stage, and the time the platform recorded it.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"hops":{"type":"array","items":{"type":"object","properties":{"stage":{"type":"string","minLength":1},"contentHash":{"type":"string","minLength":1},"signedBy":{"type":"string","minLength":1},"recordedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["stage","contentHash","recordedAt"],"additionalProperties":false}},"merkleRoot":{"type":"string","minLength":1},"platformSignature":{"type":"string","minLength":1}},"required":["evtId","hops","merkleRoot","platformSignature"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"evtId":"evt_northwindSettlement20260304","hops":[{"stage":"emitted","contentHash":"sha256:4b1c9e0a7d2f83c1a6e5b8d0c3f1947a","signedBy":"platform","recordedAt":"2026-02-11T09:14:07.000Z"},{"stage":"delivered","contentHash":"sha256:4b1c9e0a7d2f83c1a6e5b8d0c3f1947a","recordedAt":"2026-03-04T15:43:02.000Z"},{"stage":"acknowledged","contentHash":"sha256:4b1c9e0a7d2f83c1a6e5b8d0c3f1947a","signedBy":"receiver","recordedAt":"2026-03-04T15:42:18.000Z"}],"merkleRoot":"sha256:8e2a1c4f6b09d73e5a1f2c8b7d4e0a91","platformSignature":"ed25519:northwind-sample-platform-signature"},"links":{"self":"/v2/webhooks/events/evt_northwindSettlement20260304/chain-of-custody"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the ordered hops recorded for one event. Each hop names a stage, the content hash at that stage, and the time the platform recorded it. The response also carries the Merkle root over those hops and the platform signature over that root, so an auditor can verify the sequence offline.","summary":"Read the chain of custody for an event","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/secret-rotations":{"post":{"tags":["Webhooks"],"operationId":"webhooks.rotateSecret","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The rotated secret versions and the new cleartext secret on the first response.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"activeVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"previousRevokesAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"signingSecret":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["endpointId","activeVersion","previousVersion","previousRevokesAt","signingSecret"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"endpointId":"01934567-89ab-7def-8123-456789abcdef","activeVersion":2,"previousVersion":1,"previousRevokesAt":"2026-03-11T15:42:18.000Z","signingSecret":"dalp_whsk_sample_not_a_live_secret"},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Issues a new signing secret and moves the current one into the previous slot until `previousRevokesAt`. The response carries the new `signingSecret` in cleartext, so record it now: a response that cannot carry the cleartext value again sets the field to `null`. Roll your receiver over before `previousRevokesAt` passes. A finished rotation returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Rotate the endpoint signing secret","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/{webhookId}/secret-rotations/previous":{"delete":{"tags":["Webhooks"],"operationId":"webhooks.revokePreviousSecret","parameters":[{"name":"webhookId","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true},{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The version the platform revoked and the versions that remain, with a `self` link to the endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"activeVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"previousVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"revokedVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["endpointId","activeVersion","previousVersion","revokedVersion"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"endpointId":"01934567-89ab-7def-8123-456789abcdef","activeVersion":2,"previousVersion":null,"revokedVersion":1},"links":{"self":"/v2/webhooks/01934567-89ab-7def-8123-456789abcdef"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Revokes the previous signing secret at once instead of waiting for `previousRevokesAt`. Call it once your receiver verifies with the active version only. The response reports the version the platform revoked and the versions that remain. A finished revoke returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Revoke the previous signing secret","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/stats":{"get":{"tags":["Webhooks"],"operationId":"webhooks.stats","parameters":[{"name":"endpointId","in":"query","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":false},{"name":"eventType","in":"query","schema":{"type":"string"},"required":false}],"responses":{"200":{"description":"Total, delivered, and failed delivery counts over the last 24 hours, with the attempts still waiting and the delivery latency. Pass `endpointId` to scope the figures to one endpoint.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"totalDeliveries":{"type":"integer","minimum":0,"maximum":9007199254740991},"delivered":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"tests":{"type":"object","properties":{"attempts":{"type":"integer","minimum":0,"maximum":9007199254740991},"delivered":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["attempts","delivered","failed"],"additionalProperties":false},"successVerdict":{"type":"string","enum":["operational","degraded","outage","no_data"],"description":"The delivery health of the window by its success rate alone: outage below 80%, degraded below 99%, otherwise operational, and no_data when no attempt settled. Test and replayed attempts are left out."},"pending":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events still queued or waiting to retry, counted up to 10000: a value at the ceiling means at least that many. Test and replayed events are left out."},"nextRetryAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"oldestPendingAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the oldest event still queued or waiting to retry was created, or null when nothing is waiting. Test and replayed events are left out."},"failureStreak":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Failed attempts in a row since the endpoint's last delivered attempt, newest first, counted up to 30 (the circuit breaker's threshold). Present only when the read names one endpoint. Test attempts are left out; replays count, and the event type filter does not apply."},"latencyP50Ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"latencyP95Ms":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]}},"required":["totalDeliveries","delivered","failed","tests","successVerdict"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"totalDeliveries":24,"delivered":23,"failed":1,"pending":0,"nextRetryAt":null,"latencyP50Ms":1184,"latencyP95Ms":1184,"tests":{"attempts":2,"delivered":2,"failed":0},"successVerdict":"degraded"},"links":{"self":"/v2/webhooks/stats"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns total, delivered, and failed live delivery counts over the last 24 hours, with the attempts still waiting and the delivery latency. The hourly series and the failure classes are on `GET /api/v2/webhooks/delivery-chart`. Replay attempts stay out of every count; test attempts are counted apart in `tests` and never in the live figures. Pass `endpointId` to scope the figures to one endpoint instead of the whole organization.","summary":"Read delivery statistics for the last 24 hours","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/delivery-chart":{"get":{"tags":["Webhooks"],"operationId":"webhooks.deliveryChart","parameters":[{"name":"preset","in":"query","schema":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"required":false},{"name":"interval","in":"query","schema":{"type":"string","enum":["hour","day"]},"required":false},{"name":"from","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"to","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"maxPoints","in":"query","schema":{"type":"number","enum":[60,120,240,480,960],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"required":false},{"name":"compare","in":"query","schema":{"type":"string","enum":["prior"],"description":"Send prior to also get the period straight before the window, one entry per point."},"required":false},{"name":"since","in":"query","schema":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"required":false},{"name":"endpointId","in":"query","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Count only the attempts to this endpoint. Leave it out to count every endpoint."},"required":false},{"name":"eventType","in":"query","schema":{"type":"string","description":"Count only the attempts that carried this event type. Leave it out to count every type."},"required":false}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WebhookDeliveryChart"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"range":{"from":"example","to":"example","isPreset":false},"grain":"1m","points":[{"t":"example","delivered":0,"failed":0,"verdict":"operational"}],"prior":[{"t":"example","delivered":0,"failed":0,"verdict":"operational"}],"events":[{"t":"example","kind":"example","label":"example","href":"example"}],"refs":[{"y":0,"kind":"example","label":"example"}],"projection":[{"t":"example","v":0}],"figure":{"current":0,"previous":0,"delta":0},"meta":{"unit":"example","decimals":0,"currency":"example","conversionReliable":false,"truncated":false},"verdict":"operational","failureClasses":[{"failureClass":"DNS_FAIL","count":0}]},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"x-dalp-auth":"session-or-api-key"}},"/api/v2/webhooks/test-receiver":{"get":{"tags":["Webhooks"],"operationId":"webhooks.testReceiver","parameters":[],"responses":{"200":{"description":"The configured DALP test receiver URL, or null when the platform runs no test receiver.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"url":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["url"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"url":"example"},"links":{"self":"example"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the URL of the platform's DALP test receiver, a stateless endpoint that answers every delivery with 200 and stores nothing, so an operator can point a webhook endpoint at it to watch deliveries without running a consumer. The URL is null when the platform runs no test receiver. The read changes nothing and is safe to retry.","summary":"Read the DALP test receiver URL","x-dalp-auth":"session-or-api-key"}},"/api/v2/webhook-receipts":{"get":{"tags":["Webhooks"],"operationId":"webhookReceipts.list","parameters":[{"name":"filter","in":"query","schema":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"evtId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"endpointId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"receivedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"verifiedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"verificationFailureClass":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"object","properties":{"eq":{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},"ne":{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"required":false,"style":"deepObject","explode":true},{"name":"page","in":"query","schema":{"type":"object","properties":{"offset":{"anyOf":[{"type":"number"},{"type":"string"}]},"limit":{"anyOf":[{"type":"number"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"required":false,"style":"deepObject","explode":true},{"name":"sort","in":"query","schema":{"type":"string","minLength":1},"required":false},{"name":"q","in":"query","schema":{"type":"string","minLength":1,"maxLength":1000},"required":false},{"name":"evtId","in":"query","schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"endpointId","in":"query","schema":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"receivedAt","in":"query","schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"verifiedAt","in":"query","schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"verificationFailureClass","in":"query","schema":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"object","properties":{"eq":{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},"ne":{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"required":false,"style":"deepObject","explode":true},{"name":"fields","in":"query","schema":{"type":"object","properties":{"webhookReceipt":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the webhookReceipt resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"webhookReceipt":"id,deliveryId,evtId,endpointId,receivedAt,verifiedAt,verificationFailureClass"}]},"required":false,"style":"deepObject","explode":true},{"name":"view","in":"query","schema":{"type":"string","enum":["summary"],"description":"Shorthand for the webhookReceipt members a list or a strip renders: id, deliveryId, evtId, endpointId, receivedAt, verifiedAt, verificationFailureClass. Send fields[webhookReceipt] to name a different set; that parameter wins when both are present.","examples":["summary"]},"required":false}],"responses":{"200":{"description":"One page of receipts for the calling organization. `meta.total` counts every matching receipt rather than the ones on this page.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"consumerSignature":{"type":"string","minLength":1},"innerEventHash":{"type":"string","minLength":1},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"verifiedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"verificationFailureClass":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"null"}]}},"required":["id","deliveryId","evtId","tenantId","endpointId","consumerSignature","innerEventHash","receivedAt","verifiedAt","verificationFailureClass"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"consumerSignature":{"type":"string","minLength":1},"innerEventHash":{"type":"string","minLength":1},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"verifiedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"verificationFailureClass":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"null"}]}},"additionalProperties":false}]}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":[{"id":"01934567-89ab-7def-8123-456789abcde1","deliveryId":"01934567-89ab-7def-8123-456789abcde0","evtId":"evt_northwindSettlement20260304","tenantId":"org_northwind_coffee_treasury","endpointId":"01934567-89ab-7def-8123-456789abcdef","consumerSignature":"ed25519:northwind-sample-consumer-signature","innerEventHash":"sha256:4b1c9e0a7d2f83c1a6e5b8d0c3f1947a","receivedAt":"2026-03-04T15:43:03.184Z","verifiedAt":"2026-03-04T15:43:03.184Z","verificationFailureClass":null}],"meta":{"total":1,"facets":{},"nextCursor":"eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ"},"links":{"self":"/v2/webhook-receipts?sort=receivedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","first":"/v2/webhook-receipts?sort=receivedAt&page%5Boffset%5D=0&page%5Blimit%5D=50","prev":null,"next":null,"last":"/v2/webhook-receipts?sort=receivedAt&page%5Boffset%5D=0&page%5Blimit%5D=50"}}}}}}},"400":{"description":"This response has one of these causes:\n\n- A filter value does not fit the type of its field. Send a value that field accepts.\n- The page cursor was issued for another sort or filter, or it was altered. Send the previous page's `meta.nextCursor` with the same sort and filters, or start again without `page[cursor]`. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list. | The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","COLLECTION_FILTER_VALUE_INVALID","COLLECTION_PAGE_CURSOR_MISMATCH","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9355","DALP-9430","DALP-9565"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns receipts the calling organization recorded for deliveries, sorted by `receivedAt` unless you name another sort field. Filter on event id, endpoint id, received or verified time, and verification failure class.","summary":"List webhook receipts","x-dalp-auth":"session-or-api-key"},"post":{"tags":["Webhooks"],"operationId":"webhookReceipts.create","parameters":[{"$ref":"#/components/parameters/idempotencyKey"}],"responses":{"200":{"description":"The stored receipt as the platform now holds it. Reuse `data.id` to read the receipt later.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"consumerSignature":{"type":"string","minLength":1},"innerEventHash":{"type":"string","minLength":1},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"verifiedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"verificationFailureClass":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"null"}]}},"required":["id","deliveryId","evtId","tenantId","endpointId","consumerSignature","innerEventHash","receivedAt","verifiedAt","verificationFailureClass"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"01934567-89ab-7def-8123-456789abcde1","deliveryId":"01934567-89ab-7def-8123-456789abcde0","evtId":"evt_northwindSettlement20260304","tenantId":"org_northwind_coffee_treasury","endpointId":"01934567-89ab-7def-8123-456789abcdef","consumerSignature":"ed25519:northwind-sample-consumer-signature","innerEventHash":"sha256:4b1c9e0a7d2f83c1a6e5b8d0c3f1947a","receivedAt":"2026-03-04T15:43:03.184Z","verifiedAt":"2026-03-04T15:43:03.184Z","verificationFailureClass":null},"links":{"self":"/v2/webhook-receipts/01934567-89ab-7def-8123-456789abcde1"}}}}}},"headers":{}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Records a signed acknowledgement from the receiver of one delivery. Sign the payload with the endpoint signing secret. The platform stores the receipt and reports whether the signature and event hash verified. A finished create returns 200. When the platform accepts the work and finishes it in the background, the response is 202 with a status URL.","summary":"Record a webhook receipt","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"consumerSignature":{"type":"string","minLength":1},"innerEventHash":{"type":"string","minLength":1}},"required":["deliveryId","evtId","endpointId","consumerSignature","innerEventHash"],"additionalProperties":false}}},"required":true},"x-dalp-auth":"session-or-api-key"}},"/api/v2/webhook-receipts/{id}":{"get":{"tags":["Webhooks"],"operationId":"webhookReceipts.read","parameters":[{"name":"id","in":"path","schema":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"required":true}],"responses":{"200":{"description":"The requested receipt, with a `self` link to its canonical URL.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"evtId":{"type":"string","pattern":"^evt_[a-zA-Z0-9]+$"},"tenantId":{"$ref":"#/components/schemas/OrganizationId"},"endpointId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"consumerSignature":{"type":"string","minLength":1},"innerEventHash":{"type":"string","minLength":1},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"verifiedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"verificationFailureClass":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"null"}]}},"required":["id","deliveryId","evtId","tenantId","endpointId","consumerSignature","innerEventHash","receivedAt","verifiedAt","verificationFailureClass"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"examples":{"example-1":{"value":{"data":{"id":"01934567-89ab-7def-8123-456789abcde1","deliveryId":"01934567-89ab-7def-8123-456789abcde0","evtId":"evt_northwindSettlement20260304","tenantId":"org_northwind_coffee_treasury","endpointId":"01934567-89ab-7def-8123-456789abcdef","consumerSignature":"ed25519:northwind-sample-consumer-signature","innerEventHash":"sha256:4b1c9e0a7d2f83c1a6e5b8d0c3f1947a","receivedAt":"2026-03-04T15:43:03.184Z","verifiedAt":"2026-03-04T15:43:03.184Z","verificationFailureClass":null},"links":{"self":"/v2/webhook-receipts/01934567-89ab-7def-8123-456789abcde1"}}}}}}},"400":{"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying. | This response has one of these causes:\n\n- The chain header is invalid. Send a supported chain id.\n- The requested chain is unavailable to the active organization. Select an available chain.\n- The chain id is not valid. Send a supported EVM chain id.\n- The requested executor is invalid. Select another one.\n- The custody-account selection is invalid. Select an account returned by the account list.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError400"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_ID_HEADER_INVALID","CHAIN_NOT_AVAILABLE_FOR_ORGANIZATION","INVALID_REQUEST_EXECUTOR","REQUEST_INVALID","WEBHOOK_REPLAY_CHAIN_NOT_AVAILABLE","WEBHOOK_REPLAY_RANGE_REVERSED","WEBHOOK_REPLAY_RANGE_TOO_LARGE","WEBHOOK_SUBSCRIPTION_INVALID","WEBHOOK_URL_PRIVATE_RANGE","WEBHOOK_URL_SCHEME_REQUIRED","core.network.INVALID_CHAIN","dapi.runtime.INVALID_REQUEST_CUSTODY_ACCOUNT"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0508","DALP-0512","DALP-0534","DALP-0535","DALP-0540","DALP-0541","DALP-12299","DALP-12308","DALP-14261","DALP-9084","DALP-9085","DALP-9430"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_ID_HEADER_INVALID","status":400,"message":"The `X-Chain-Id` header must be a numeric chain id","data":{"id":"DALP-9084","why":"The `X-Chain-Id` header value did not pass the chain-id format check: the value must be a positive decimal integer with no leading zeros, no greater than 2147483647 (the largest supported chain id).","fix":"Send a numeric chain id within the supported range (for example 31337), or omit the header to target the organization's default network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"401":{"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError401"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHENTICATION_REQUIRED","SESSION_EVIDENCE_INVALID","WEBHOOK_SIGNING_VERIFICATION_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0510","DALP-14386","DALP-9188"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHENTICATION_REQUIRED","status":401,"message":"This request needs a signed-in session or an API key","data":{"id":"DALP-14386","why":"The request carries no session or API key the platform accepts, so it cannot tell who is calling.","fix":"Sign in, or send a valid API key in the X-Api-Key header, then retry the request.","retryable":false,"category":"auth"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"403":{"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError403"},{"type":"object","properties":{"code":{"type":"string","enum":["ACTIVE_ORGANIZATION_REQUIRED","CONTRACT_ERROR","IMPERSONATED_APPROVAL_DECISION_REFUSED","LOGIN_2FA_REQUIRED","OFFCHAIN_ORGANIZATION_PERMISSION_REQUIRED","OFFCHAIN_USER_PERMISSION_REQUIRED","REQUEST_PARTICIPANT_FORBIDDEN","SESSION_POLICY_DENIED","WALLET_ROLE_ADMINISTRATION_NEEDS_CONSOLE_SIGN_IN","X_EXECUTOR_AA_DISABLED_FOR_ORG","X_EXECUTOR_AA_DISABLED_GLOBALLY","platform.module.DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0034","DALP-0036","DALP-0147","DALP-0148","DALP-0524","DALP-0616","DALP-0621","DALP-200384","DALP-200386","DALP-20531","DALP-9438"]},{"$ref":"#/components/schemas/DalpContractErrorId403"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"ACTIVE_ORGANIZATION_REQUIRED","status":403,"message":"Active organization required for this operation","data":{"id":"DALP-0034","why":"The request requires organization-scoped permissions, but the session does not have an active organization selected.","fix":"Select an organization, refresh the session, and retry the request.","retryable":false,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"404":{"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying. | This response has one of these causes:\n\n- The organization has no system on this chain. Deploy one first.\n- The requested network was not found. Select another chain.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError404"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","REQUEST_CHAIN_SYSTEM_REQUIRED","WEBHOOK_DELIVERY_NOT_FOUND","WEBHOOK_ENDPOINT_NOT_FOUND","WEBHOOK_RECEIPT_NOT_FOUND","WEBHOOK_SYSTEM_SCOPE_REQUIRED","core.network.NETWORK_NOT_FOUND"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0526","DALP-0527","DALP-0529","DALP-12296","DALP-9524","DALP-9561"]},{"$ref":"#/components/schemas/DalpContractErrorId404"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"core.network.NETWORK_NOT_FOUND","status":404,"message":"No network is configured under this name","data":{"id":"DALP-12296","why":"No network in the platform configuration matches the network name the request named.","fix":"Send a network name the platform has configured, or ask an administrator to add the network.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"409":{"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying. | This response has one of these causes:\n\n- The requested chain is not ready. Wait, then retry.\n- This network is disabled. An administrator must enable it.\n- The network configuration could not be loaded. An operator must fix it.\n- The requested executor is unavailable. Select another one.\n- The selected custody account cannot authorize this request. Select an active eligible account.\n- The selected custody account is not eligible for this participant and organization. Select an eligible account.\n- No usable primary custody account is selected. Choose a primary or explicitly select an eligible account.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError409"},{"type":"object","properties":{"code":{"type":"string","enum":["CHAIN_NOT_READY","CONTRACT_ERROR","CUSTODY_ACCOUNT_SELECTION_INVALID","PRIMARY_CUSTODY_ACCOUNT_REQUIRED","REQUEST_CUSTODY_ACCOUNT_UNAVAILABLE","REQUEST_EXECUTOR_UNAVAILABLE","WEBHOOK_ENDPOINT_DISABLED","WEBHOOK_ENDPOINT_LIMIT_REACHED","WEBHOOK_PENDING_RETARGET_REQUIRED","core.network.INVALID_CONFIG","core.network.NETWORK_DISABLED"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0509","DALP-0513","DALP-0516","DALP-12019","DALP-12195","DALP-12196","DALP-12297","DALP-12298","DALP-9086","DALP-9433"]},{"$ref":"#/components/schemas/DalpContractErrorId409"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"CHAIN_NOT_READY","status":409,"message":"The requested network is not ready for this organization","data":{"id":"DALP-9086","why":"The organization has the requested network registered, but its system is not active: the deployment is still pending or running, has failed, or the network was disabled.","fix":"Check the network's status in organization settings; wait for the deployment to finish or retry it, then retry the request.","retryable":false,"category":"client","chainId":1,"chainStatus":"pending"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"422":{"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError422"},{"type":"object","properties":{"code":{"type":"string","enum":["CONTRACT_ERROR","WEBHOOK_FAT_ACK_INCOMPLETE"]},"data":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","enum":["DALP-0517"]},{"$ref":"#/components/schemas/DalpContractErrorId422"}]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"WEBHOOK_FAT_ACK_INCOMPLETE","status":422,"message":"Fat-event acknowledgement is missing required field paths","data":{"id":"DALP-0517","why":"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.","fix":"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.","retryable":false,"category":"client"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"429":{"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError429"},{"type":"object","properties":{"code":{"type":"string","enum":["auth.apikey.THROTTLED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-12136"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"auth.apikey.THROTTLED","status":429,"message":"This API key filled its request window","data":{"id":"DALP-12136","why":"This key used its full request allowance for the current window, so the platform did not authenticate the request.","fix":"Wait for the key's request window to reopen, then send the request again.","retryable":true,"category":"permission"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError500"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTH_STORE_ROW_INVALID","INTERNAL_SERVER_ERROR"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0084","DALP-14124"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTH_STORE_ROW_INVALID","status":500,"message":"Stored authentication data validation failed","data":{"id":"DALP-14124","why":"A stored authentication row does not have the shape the platform reads, so the request cannot succeed as sent.","fix":"Do not retry. Contact support with the X-Request-Id response header so the stored row can be corrected.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"503":{"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`. | This response has one of these causes:\n\n- The session could not be resolved. Restore authentication services, then retry.\n- The chain configuration could not be loaded. Restore it, then retry.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError503"},{"type":"object","properties":{"code":{"type":"string","enum":["AUTHORIZATION_CHECK_FAILED","DALP-0083","SERVICE_UNAVAILABLE","SESSION_RESOLUTION_FAILED","dapi.runtime.REQUEST_CHAIN_LOOKUP_FAILED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-0009","DALP-0082","DALP-0083","DALP-0536","DALP-12307"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"AUTHORIZATION_CHECK_FAILED","status":503,"message":"The permission check could not be completed","data":{"id":"DALP-0536","why":"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.","fix":"Retry the request. If the failure continues, ask your operator to confirm the authentication provider is reachable.","retryable":true,"category":"dependency"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}},"504":{"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/DalpPublicHttpError504"},{"type":"object","properties":{"code":{"type":"string","enum":["REQUEST_DEADLINE_EXCEEDED"]},"data":{"type":"object","properties":{"id":{"type":"string","enum":["DALP-9532"]}},"required":["id"]}},"required":["code","data"]}],"examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]}}},"headers":{"X-Request-Id":{"$ref":"#/components/headers/X-Request-Id"}}}},"description":"Returns the receipt named by the path. The record names the delivery, the event hash the receiver acknowledged, and whether the platform verified the signature. An identifier that belongs to another organization returns 404.","summary":"Read one webhook receipt","x-dalp-auth":"session-or-api-key"}},"/api/auth/sign-in/social":{"post":{"tags":["Sessions and sign-in"],"description":"Starts social sign-in for the named provider. If you include an id token, the response is a session. Otherwise follow the returned authorize URL, then complete the provider callback. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"socialSignIn","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string","description":"Callback URL to redirect to after the user has signed in"},"newUserCallbackURL":{"type":"string"},"errorCallbackURL":{"type":"string","description":"Callback URL to redirect to if an error happens"},"provider":{"anyOf":[{"type":"string","enum":["apple","atlassian","cloudflare","cognito","discord","facebook","figma","github","microsoft","google","huggingface","slack","spotify","twitch","twitter","dropbox","kick","linear","linkedin","gitlab","tiktok","reddit","roblox","salesforce","vk","zoom","notion","kakao","naver","line","paybin","paypal","polar","railway","vercel","wechat"]},{"type":"string"}]},"disableRedirect":{"type":"boolean","description":"Disable automatic redirection to the provider. Useful for handling the redirection yourself"},"idToken":{"type":"object","properties":{"token":{"type":"string","description":"ID token from the provider"},"nonce":{"type":"string","description":"Nonce used to generate the token"},"accessToken":{"type":"string","description":"Access token from the provider"},"refreshToken":{"type":"string","description":"Refresh token from the provider"},"expiresAt":{"type":"number","description":"Expiry date of the token"},"user":{"type":"object","properties":{"name":{"type":"object","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"}}},"email":{"type":"string"}},"description":"The user object from the provider. Only available for some providers like Apple."}},"required":["token"]},"scopes":{"type":"array","items":{"type":"string"},"description":"Array of scopes to request from the provider. This will override the default scopes passed."},"requestSignUp":{"type":"boolean","description":"Explicitly request sign-up. Useful when disableImplicitSignUp is true for this provider"},"loginHint":{"type":"string","description":"The login hint to use for the authorization code request"},"additionalParams":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"},"description":"Extra query parameters to append to the provider authorization URL (e.g. Cognito identity_provider, Google hd)."},"additionalData":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}},"required":["provider"]}}}},"responses":{"200":{"description":"Starts social sign-in for the named provider.","content":{"application/json":{"schema":{"type":"object","description":"Returns session details when idToken is provided, or an authorize URL otherwise","properties":{"token":{"type":"string"},"user":{"type":"object","$ref":"#/components/schemas/User"},"url":{"type":"string"},"redirect":{"type":"boolean"}},"required":["redirect"]},"example":{"token":"sess_example_not_a_live_token","user":{"id":"user_northwind_ops","name":"Northwind Treasury","email":"treasury@northwind.example","emailVerified":true,"image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","role":"member","banned":false,"twoFactorEnabled":true,"lastLoginAt":"2026-03-04T15:40:00.000Z","walletPincodeEnabled":true,"walletPincodeVerificationId":"ver_pincode_northwind","walletTwoFactorEnabled":true,"walletTwoFactorVerificationId":"ver_totp_northwind","walletSecretCodeVerificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","walletSecretCodesConfirmed":true,"lastActiveOrganizationId":"org_northwind_coffee"},"redirect":false}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Sign in with a social provider","x-dalp-auth":"none"}},"/api/auth/get-session":{"get":{"tags":["Sessions and sign-in"],"description":"Returns the signed-in session and user when the request carries a valid session cookie or API key. Use the result to learn who is signed in and which organization is active. If there is no session, treat the caller as signed out and send them to sign in.","operationId":"getSession","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Returns the signed-in session and user when the request carries a valid session cookie or API key.","content":{"application/json":{"schema":{"type":["object","null"],"properties":{"session":{"$ref":"#/components/schemas/Session"},"user":{"$ref":"#/components/schemas/User"}},"required":["session","user"]},"example":{"session":{"id":"sess_northwind_console","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","ipAddress":"203.0.113.10","userAgent":"Mozilla/5.0 NorthwindConsole","userId":"user_northwind_ops","activeOrganizationId":"org_northwind_coffee"},"user":{"id":"user_northwind_ops","name":"Northwind Treasury","email":"treasury@northwind.example","emailVerified":true,"image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","role":"member","banned":false,"twoFactorEnabled":true,"lastLoginAt":"2026-03-04T15:40:00.000Z","walletPincodeEnabled":true,"walletPincodeVerificationId":"ver_pincode_northwind","walletTwoFactorEnabled":true,"walletTwoFactorVerificationId":"ver_totp_northwind","walletSecretCodeVerificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","walletSecretCodesConfirmed":true,"lastActiveOrganizationId":"org_northwind_coffee"}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Read the current session","x-dalp-auth":"optional"}},"/api/auth/sign-out":{"post":{"tags":["Sessions and sign-in"],"description":"Ends the current session and clears the session cookie. After success, discard any stored session token and send the caller to sign in. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"signOut","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"callbackURL":{"type":"string","description":"The URL to redirect to after provider logout"},"disableRedirect":{"type":"boolean","description":"Return the provider logout URL without redirecting"},"state":{"type":"string","description":"State to pass to the provider logout endpoint"}}}}}},"responses":{"200":{"description":"Ends the current session and clears the session cookie.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"url":{"type":"string","description":"Provider logout URL when RP-initiated logout is available"},"redirect":{"type":"boolean","description":"Whether the client should redirect to the provider logout URL"}}},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Sign out the current user","x-dalp-auth":"optional"}},"/api/auth/sign-up/email":{"post":{"tags":["Sessions and sign-in"],"description":"Creates an account from name, email, and password. By default, the password must be at least 12 characters, contain three character classes, and not reuse a recent password; the deployment can configure the policy. A refused password returns 400 with code PASSWORD_POLICY_VIOLATION and a failedRules list naming each failed rule: minimumLength, characterClasses, or recentPassword. Email and password sign-up may be disabled when the deployment uses only an identity provider. On success, store the session, or send the user to verify email when a verification message is required. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"signUpWithEmailAndPassword","security":[],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","description":"The name of the user"},"email":{"type":"string","description":"The email of the user"},"password":{"type":"string","description":"The password of the user"},"image":{"type":"string","description":"The profile image URL of the user"},"callbackURL":{"type":"string","description":"The URL to use for email verification callback"},"rememberMe":{"type":"boolean","description":"If this is false, the session will not be remembered. Default is `true`."},"language":{"type":"string"}},"required":["name","email","password"]}}}},"responses":{"200":{"description":"Creates an account from name, email, and password.","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true,"description":"Authentication token for the session"},"user":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the user"},"email":{"type":"string","format":"email","description":"The email address of the user"},"name":{"type":"string","description":"The name of the user"},"image":{"type":"string","format":"uri","nullable":true,"description":"The profile image URL of the user"},"emailVerified":{"type":"boolean","description":"Whether the email has been verified"},"createdAt":{"type":"string","format":"date-time","description":"When the user was created"},"updatedAt":{"type":"string","format":"date-time","description":"When the user was last updated"}},"required":["id","email","name","emailVerified","createdAt","updatedAt"]}},"required":["user"]},"example":{"token":"sess_example_not_a_live_token","user":{"id":"user_northwind_ops","email":"treasury@northwind.example","name":"Northwind Treasury","image":"https://static.northwind.example/avatars/treasury.png","emailVerified":false,"createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z"}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"422":{"description":"Unprocessable Entity. User already exists or failed to create user.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Sign up with email and password","x-dalp-deployment-mode":"password","x-dalp-auth":"none"}},"/api/auth/sign-in/email":{"post":{"tags":["Sessions and sign-in"],"description":"Authenticates with email and password and opens a session. Email and password sign-in may be disabled when the deployment uses only an identity provider. Store the session on success. If login two-factor is enabled, complete that challenge before treating the user as signed in. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"signInEmail","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"Email of the user"},"password":{"type":"string","description":"Password of the user"},"callbackURL":{"type":"string","description":"Callback URL to use as a redirect for email verification"},"rememberMe":{"type":"boolean","description":"If this is false, the session will not be remembered. Default is `true`."}},"required":["email","password"]}}}},"responses":{"200":{"description":"Authenticates with email and password and opens a session.","content":{"application/json":{"schema":{"type":"object","description":"Session response when idToken is provided","properties":{"redirect":{"type":"boolean","enum":[false]},"token":{"type":"string","description":"Session token"},"url":{"type":"string","nullable":true},"user":{"type":"object","$ref":"#/components/schemas/User"}},"required":["redirect","token","user"]},"example":{"redirect":false,"token":"sess_example_not_a_live_token","url":null,"user":{"id":"user_northwind_ops","name":"Northwind Treasury","email":"treasury@northwind.example","emailVerified":true,"image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","role":"member","banned":false,"twoFactorEnabled":true,"lastLoginAt":"2026-03-04T15:40:00.000Z","walletPincodeEnabled":true,"walletPincodeVerificationId":"ver_pincode_northwind","walletTwoFactorEnabled":true,"walletTwoFactorVerificationId":"ver_totp_northwind","walletSecretCodeVerificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","walletSecretCodesConfirmed":true,"lastActiveOrganizationId":"org_northwind_coffee"}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Sign in with email and password","x-dalp-deployment-mode":"password","x-dalp-auth":"none"}},"/api/auth/reset-password":{"post":{"tags":["Sessions and sign-in"],"description":"Replaces the password using the token from the reset email. The default password policy requires at least 12 characters, three character classes, and no recent password reuse; the deployment can configure the policy. A refused password returns 400 with code PASSWORD_POLICY_VIOLATION and a failedRules list naming each failed rule: minimumLength, characterClasses, or recentPassword. After success, sign in with the new password. Do not reuse the token. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"resetPassword","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newPassword":{"type":"string","description":"The new password to set"},"token":{"type":"string","description":"The token to reset the password"}},"required":["newPassword"]}}}},"responses":{"200":{"description":"Replaces the password using the token from the reset email.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Set a new password with a token","x-dalp-deployment-mode":"password","x-dalp-auth":"none"}},"/api/auth/change-email":{"post":{"tags":["Sessions and sign-in"],"operationId":"changeEmail","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newEmail":{"type":"string","description":"The new email address to set must be a valid email address"},"callbackURL":{"type":"string","description":"The URL to redirect to after email verification"}},"required":["newEmail"]}}}},"responses":{"200":{"description":"Requests a new email for the signed-in user.","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","$ref":"#/components/schemas/User"},"status":{"type":"boolean","description":"Indicates if the request was successful"},"message":{"type":"string","enum":["Email updated","Verification email sent"],"description":"Status message of the email change process","nullable":true}},"required":["status"]},"example":{"user":{"id":"user_northwind_ops","name":"Northwind Treasury","email":"treasury@northwind.example","emailVerified":true,"image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","role":"member","banned":false,"twoFactorEnabled":true,"lastLoginAt":"2026-03-04T15:40:00.000Z","walletPincodeEnabled":true,"walletPincodeVerificationId":"ver_pincode_northwind","walletTwoFactorEnabled":true,"walletTwoFactorVerificationId":"ver_totp_northwind","walletSecretCodeVerificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","walletSecretCodesConfirmed":true,"lastActiveOrganizationId":"org_northwind_coffee"},"status":true,"message":"Verification email sent"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Change the account email","description":"Requests a new email for the signed-in user. A session is required. The user must confirm the new address from the verification message before it becomes the login email. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","x-dalp-deployment-mode":"password","x-dalp-auth":"session"}},"/api/auth/change-password":{"post":{"tags":["Sessions and sign-in"],"description":"Replaces the signed-in user's password. Send the current password and the new password. The default policy requires at least 12 characters, three character classes, and no recent password reuse; the deployment can configure the policy. A refused password returns 400 with code PASSWORD_POLICY_VIOLATION and a failedRules list naming each failed rule: minimumLength, characterClasses, or recentPassword. You may also revoke other sessions. After success, use the new password for later sign-in. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"changePassword","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newPassword":{"type":"string","description":"The new password to set"},"currentPassword":{"type":"string","description":"The current password is required"},"revokeOtherSessions":{"type":"boolean","description":"Must be a boolean value"}},"required":["newPassword","currentPassword"]}}}},"responses":{"200":{"description":"Replaces the signed-in user's password.","content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","nullable":true,"description":"New session token if other sessions were revoked"},"user":{"type":"object","properties":{"id":{"type":"string","description":"The unique identifier of the user"},"email":{"type":"string","format":"email","description":"The email address of the user"},"name":{"type":"string","description":"The name of the user"},"image":{"type":"string","format":"uri","nullable":true,"description":"The profile image URL of the user"},"emailVerified":{"type":"boolean","description":"Whether the email has been verified"},"createdAt":{"type":"string","format":"date-time","description":"When the user was created"},"updatedAt":{"type":"string","format":"date-time","description":"When the user was last updated"}},"required":["id","email","name","emailVerified","createdAt","updatedAt"]}},"required":["user"]},"example":{"token":"sess_example_not_a_live_token","user":{"id":"user_northwind_ops","email":"treasury@northwind.example","name":"Northwind Treasury","image":"https://static.northwind.example/avatars/treasury.png","emailVerified":false,"createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z"}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Change the account password","x-dalp-deployment-mode":"password","x-dalp-auth":"session"}},"/api/auth/request-password-reset":{"post":{"tags":["Sessions and sign-in"],"description":"Sends a reset message to the named email when an account exists. Do not treat success as proof that the email is registered. Ask the user to open the message and submit the token to set a new password. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"requestPasswordReset","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","description":"The email address of the user to send a password reset email to"},"redirectTo":{"type":"string","description":"The URL to redirect the user to reset their password. If the token isn't valid or expired, it'll be redirected with a query parameter `?error=INVALID_TOKEN`. If the token is valid, it'll be redirected with a query parameter `?token=VALID_TOKEN"}},"required":["email"]}}}},"responses":{"200":{"description":"Sends a reset message to the named email when an account exists.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"},"message":{"type":"string"}}},"example":{"status":true,"message":"If an account exists, a reset message was sent."}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Send a password reset message","x-dalp-deployment-mode":"password","x-dalp-auth":"none"}},"/api/auth/list-sessions":{"get":{"tags":["Sessions and sign-in"],"description":"Returns every active session for the signed-in user. Use this list to show where the account is signed in. Pass an id from this list to revoke a specific session. No row carries the session token.","operationId":"listUserSessions","security":[{"sessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Returns every active session for the signed-in user.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Session"}},"example":[{"id":"sess_northwind_console","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","ipAddress":"203.0.113.10","userAgent":"Mozilla/5.0 NorthwindConsole","userId":"user_northwind_ops","activeOrganizationId":"org_northwind_coffee"}]}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"List active sessions","x-dalp-auth":"session"}},"/api/auth/revoke-session":{"post":{"tags":["Sessions and sign-in"],"description":"Invalidates the signed-in user's session with the submitted id. A session is required. After success, that session can no longer authenticate. An id that names no session of the caller changes nothing and gets the same answer. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"sessionId":{"type":"string","description":"The id of the session to revoke"}},"required":["sessionId"]}}}},"responses":{"200":{"description":"Invalidates the signed-in user's session with the submitted id.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates if the session was revoked successfully"}},"required":["status"]},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Revoke one session","operationId":"auth_post_revoke_session","x-dalp-auth":"session"}},"/api/auth/revoke-other-sessions":{"post":{"tags":["Sessions and sign-in"],"description":"Invalidates every session except the current one. The current session stays valid. Use this after a password change or a lost-device event. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"Invalidates every session except the current one.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates if all other sessions were revoked successfully"}},"required":["status"]},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Revoke other sessions","operationId":"auth_post_revoke_other_sessions","x-dalp-auth":"session"}},"/api/auth/api-key/create":{"post":{"tags":["API keys"],"description":"Creates an API key for the signed-in user or, when permitted, a named organization. The full key is shown only in this response. Store it now. Later reads return only metadata. A session is required; an API key cannot create keys. The request needs `metadata` with the id of an organization you are a member of: without it the call returns 400 API_KEY_METADATA_INVALID and creates no key. The request needs `walletVerification`, the same wallet step-up as signing: without it the call returns 400 WALLET_STEP_UP_REQUIRED, or 401 WALLET_STEP_UP_UNAVAILABLE when the account has no wallet factor yet. The account password is not accepted in its place. An account that holds a wallet authenticator must send its code: a PIN or a recovery code returns 400 WALLET_STEP_UP_STRONGER_FACTOR_REQUIRED. While a signing hold stands after a security change, the call returns 403 WALLET_STEP_UP_HELD with heldUntil and creates no key. Every new key emails the account holder. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"configId":{"type":"string","description":"The configuration ID to use for the API key. If not provided, the default configuration will be used."},"name":{"type":"string","maxLength":32,"description":"Name of the API key, 1 to 32 characters once spaces at either end are trimmed. The key stores the trimmed name. A missing name, or one of only spaces, is refused with NAME_REQUIRED and creates no key"},"expiresIn":{"type":["number","null"],"description":"Expiration time of the Api Key in seconds"},"prefix":{"type":"string","description":"Prefix of the Api Key"},"remaining":{"type":["number","null"],"description":"Remaining number of requests. Server side only"},"metadata":{"type":"object","properties":{"organizationId":{"type":"string","description":"The id of an organization the key's holder is a member of. The key acts only in this organization"},"scope":{"type":"string","enum":["read","read-write"],"description":"What the key may do. A key with no scope acts as read-write"}},"required":["organizationId"],"description":"The organization the key acts in, and its scope. Missing metadata, metadata without a valid organization id, or an organization the caller is not a member of is refused with API_KEY_METADATA_INVALID and creates no key"},"refillAmount":{"type":"number","description":"Amount to refill the remaining count of the Api Key. server-only. Eg: 100"},"refillInterval":{"type":"number","description":"Interval to refill the Api Key in milliseconds. server-only. Eg: 1000"},"rateLimitTimeWindow":{"type":"number","description":"The duration in milliseconds where each request is counted. Once the `maxRequests` is reached, the request will be rejected until the `timeWindow` has passed, at which point the `timeWindow` will be reset. server-only. Eg: 1000"},"rateLimitMax":{"type":"number","description":"Maximum amount of requests allowed within a window. Once the `maxRequests` is reached, the request will be rejected until the `timeWindow` has passed, at which point the `timeWindow` will be reset. server-only. Eg: 100"},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled. server-only. Eg: true"},"permissions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Permissions of the Api Key."},"userId":{"type":"string","description":"User Id of the user that the Api Key belongs to. server-only. Eg: \"user-id\""},"organizationId":{"type":"string","description":"Organization Id of the organization that the Api Key belongs to. Eg: 'org-id'"},"walletVerification":{"type":"object","properties":{"secretVerificationCode":{"type":"string","description":"The PIN, one-time code, recovery code, or MFA code that proves the key's owner holds the wallet"},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"The wallet factor the code belongs to. Defaults to PINCODE"}},"required":["secretVerificationCode"],"description":"Wallet step-up proof. A request without a valid proof, or made while the owner's signing hold stands, is refused and creates no key"}},"required":["walletVerification","name","metadata"]}}}},"responses":{"200":{"description":"Creates an API key for the signed-in user or, when permitted, a named organization.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the API key"},"createdAt":{"type":"string","format":"date-time","description":"Creation timestamp"},"updatedAt":{"type":"string","format":"date-time","description":"Last update timestamp"},"name":{"type":"string","nullable":true,"description":"Name of the API key"},"prefix":{"type":"string","nullable":true,"description":"Prefix of the API key"},"start":{"type":"string","nullable":true,"description":"Starting characters of the key (if configured)"},"key":{"type":"string","description":"The full API key (only returned on creation)"},"enabled":{"type":"boolean","description":"Whether the key is enabled"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiration timestamp"},"referenceId":{"type":"string","description":"ID of the reference owning the key"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"Last refill timestamp"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"Last request timestamp"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Metadata associated with the key"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum requests in time window"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"Rate limit time window in milliseconds"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests"},"refillAmount":{"type":"number","nullable":true,"description":"Amount to refill"},"refillInterval":{"type":"number","nullable":true,"description":"Refill interval in milliseconds"},"rateLimitEnabled":{"type":"boolean","description":"Whether rate limiting is enabled"},"requestCount":{"type":"number","description":"Current request count in window"},"permissions":{"type":"object","nullable":true,"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Permissions associated with the key"}},"required":["id","createdAt","updatedAt","key","enabled","referenceId","rateLimitEnabled","requestCount"]},"example":{"id":"apikey_northwind_treasury","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","name":"Treasury automation","prefix":"sm_dalp_","start":"sm_dalp_exampl","key":"sm_dalp_example_not_a_live_key","enabled":true,"expiresAt":"2026-03-11T15:42:18.000Z","referenceId":"user_northwind_ops","lastRefillAt":"2026-03-04T15:42:18.000Z","lastRequest":"2026-03-04T15:42:18.000Z","metadata":{"organizationId":"org_northwind_coffee","scope":"read-write"},"rateLimitMax":10000,"rateLimitTimeWindow":60000,"remaining":1000,"refillAmount":1000,"refillInterval":3600000,"rateLimitEnabled":true,"requestCount":0,"permissions":{"organization":["read"]}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Create an API key","operationId":"auth_post_api_key_create","x-dalp-auth":"session"}},"/api/auth/api-key/get":{"get":{"tags":["API keys"],"description":"Returns metadata for the API key named by id. The secret key value is not returned. Use this to inspect expiry, remaining requests, and enabled state.","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[{"name":"configId","in":"query","schema":{"type":"string","description":"The configuration ID to use for the API key lookup. If not provided, the default configuration will be used."}},{"name":"id","in":"query","schema":{"type":"string","description":"The id of the Api Key"}}],"responses":{"200":{"description":"Returns metadata for the API key named by id.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","nullable":true,"description":"The name of the key"},"start":{"type":"string","nullable":true,"description":"Shows the first few characters of the API key, including the prefix. This allows you to show those few characters in the UI to make it easier for users to identify the API key."},"prefix":{"type":"string","nullable":true,"description":"The API Key prefix. Stored as plain text."},"userId":{"type":"string","description":"The owner of the user id"},"refillInterval":{"type":"number","nullable":true,"description":"The interval in milliseconds between refills of the `remaining` count. Example: 3600000 // refill every hour (3600000ms = 1h)"},"refillAmount":{"type":"number","nullable":true,"description":"The amount to refill"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"The last refill date"},"enabled":{"type":"boolean","description":"Sets if key is enabled or disabled","default":true},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"The duration in milliseconds"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum amount of requests allowed within a window"},"requestCount":{"type":"number","description":"The number of requests made within the rate limit time window"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests (every time api key is used this should updated and should be updated on refill as well)"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"When last request occurred"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiry date of a key"},"createdAt":{"type":"string","format":"date-time","description":"created at"},"updatedAt":{"type":"string","format":"date-time","description":"updated at"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Extra metadata about the apiKey"},"permissions":{"type":"string","nullable":true,"description":"Permissions for the api key (stored as JSON string)"}},"required":["id","userId","enabled","rateLimitEnabled","requestCount","createdAt","updatedAt"]},"example":{"id":"apikey_northwind_treasury","name":"Treasury automation","start":"sm_dalp_exampl","prefix":"sm_dalp_","userId":"user_northwind_ops","refillInterval":3600000,"refillAmount":1000,"lastRefillAt":"2026-03-04T15:42:18.000Z","enabled":true,"rateLimitEnabled":true,"rateLimitTimeWindow":60000,"rateLimitMax":10000,"requestCount":12,"remaining":988,"lastRequest":"2026-03-04T15:42:18.000Z","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","metadata":{"organizationId":"org_northwind_coffee","scope":"read-write"},"permissions":"{\"organization\":[\"read\"]}"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Read an API key","operationId":"auth_get_api_key_get","x-dalp-auth":"session-or-api-key"}},"/api/auth/api-key/update":{"post":{"tags":["API keys"],"description":"Updates metadata, expiry, or enabled state for the named API key. A session is required. An API key cannot update keys. Renaming or disabling a key needs only the session, even during a signing hold. Any other change gives the key more power (enabling it, changing its scope, organization, expiry, rate limit or remaining requests) and needs `walletVerification` under the same rules as creating a key: 400 WALLET_STEP_UP_REQUIRED without it (the password is not accepted), 400 WALLET_STEP_UP_STRONGER_FACTOR_REQUIRED for a PIN or recovery code on an account with an authenticator, 401 WALLET_STEP_UP_UNAVAILABLE without any wallet factor, and 403 WALLET_STEP_UP_HELD with heldUntil while a signing hold stands. Such a change emails the account holder. Read the returned record to confirm the change. The secret key value is not returned. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"configId":{"type":"string","description":"The configuration ID to use for the API key lookup. If not provided, the default configuration will be used."},"keyId":{"type":"string","description":"The id of the Api Key"},"userId":{"type":"string","description":"The id of the user which the api key belongs to. server-only. Eg: \"some-user-id\""},"name":{"type":"string","maxLength":32,"description":"The new name of the key, 1 to 32 characters once spaces at either end are trimmed. A name of only spaces is refused with INVALID_NAME_LENGTH and the key keeps its name"},"enabled":{"type":"boolean","description":"Whether the Api Key is enabled or not"},"remaining":{"type":"number","description":"The number of remaining requests"},"refillAmount":{"type":"number","description":"The refill amount"},"refillInterval":{"type":"number","description":"The refill interval"},"metadata":{"type":"object","properties":{"organizationId":{"type":"string","description":"The id of an organization the key's holder is a member of. The key acts only in this organization"},"scope":{"type":"string","enum":["read","read-write"],"description":"What the key may do. A key with no scope acts as read-write"}},"required":["organizationId"],"description":"Replaces the key's organization and scope, under the same rules as on create. Omit it to keep them as they are"},"expiresIn":{"type":["number","null"],"description":"Expiration time of the Api Key in seconds"},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled."},"rateLimitTimeWindow":{"type":"number","description":"The duration in milliseconds where each request is counted. server-only. Eg: 1000"},"rateLimitMax":{"type":"number","description":"Maximum amount of requests allowed within a window. Once the `maxRequests` is reached, the request will be rejected until the `timeWindow` has passed, at which point the `timeWindow` will be reset. server-only. Eg: 100"},"permissions":{"type":["object","null"],"propertyNames":{"type":"string"},"additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Update the permissions on the API Key. server-only."},"walletVerification":{"type":"object","properties":{"secretVerificationCode":{"type":"string","description":"The PIN, one-time code, recovery code, or MFA code that proves the key's owner holds the wallet"},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"The wallet factor the code belongs to. Defaults to PINCODE"}},"required":["secretVerificationCode"],"description":"Wallet step-up proof. Required when the update gives the key more power: enabled set to true, or any field other than name and keyId. A rename or a disable needs none. Without a valid proof, or while the owner's signing hold stands, a power change is refused and the key is left unchanged"}},"required":["keyId"]}}}},"responses":{"200":{"description":"Updates metadata, expiry, or enabled state for the named API key.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","nullable":true,"description":"The name of the key"},"start":{"type":"string","nullable":true,"description":"Shows the first few characters of the API key, including the prefix. This allows you to show those few characters in the UI to make it easier for users to identify the API key."},"prefix":{"type":"string","nullable":true,"description":"The API Key prefix. Stored as plain text."},"userId":{"type":"string","description":"The owner of the user id"},"refillInterval":{"type":"number","nullable":true,"description":"The interval in milliseconds between refills of the `remaining` count. Example: 3600000 // refill every hour (3600000ms = 1h)"},"refillAmount":{"type":"number","nullable":true,"description":"The amount to refill"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"The last refill date"},"enabled":{"type":"boolean","description":"Sets if key is enabled or disabled","default":true},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"The duration in milliseconds"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum amount of requests allowed within a window"},"requestCount":{"type":"number","description":"The number of requests made within the rate limit time window"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests (every time api key is used this should updated and should be updated on refill as well)"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"When last request occurred"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiry date of a key"},"createdAt":{"type":"string","format":"date-time","description":"created at"},"updatedAt":{"type":"string","format":"date-time","description":"updated at"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Extra metadata about the apiKey"},"permissions":{"type":"string","nullable":true,"description":"Permissions for the api key (stored as JSON string)"}},"required":["id","userId","enabled","rateLimitEnabled","requestCount","createdAt","updatedAt"]},"example":{"id":"apikey_northwind_treasury","name":"Treasury automation","start":"sm_dalp_exampl","prefix":"sm_dalp_","userId":"user_northwind_ops","refillInterval":3600000,"refillAmount":1000,"lastRefillAt":"2026-03-04T15:42:18.000Z","enabled":true,"rateLimitEnabled":true,"rateLimitTimeWindow":60000,"rateLimitMax":10000,"requestCount":12,"remaining":988,"lastRequest":"2026-03-04T15:42:18.000Z","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","metadata":{"organizationId":"org_northwind_coffee","scope":"read-write"},"permissions":"{\"organization\":[\"read\"]}"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Update an API key","operationId":"auth_post_api_key_update","x-dalp-auth":"session"}},"/api/auth/api-key/delete":{"post":{"tags":["API keys"],"description":"Deletes the named API key. After success, that key can no longer authenticate. Issue a new key if the caller still needs programmatic access. A session can delete any key its user holds; an API key can delete only itself, and naming another key returns 403 with code API_KEY_DELETES_ONLY_ITSELF. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"keyId":{"type":"string","description":"The id of the API key to delete"}},"required":["keyId"]}}}},"responses":{"200":{"description":"Deletes the named API key.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the API key was successfully deleted"}},"required":["success"]},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Delete an API key","operationId":"auth_post_api_key_delete","x-dalp-auth":"session-or-api-key"}},"/api/auth/api-key/list":{"get":{"tags":["API keys"],"description":"Returns API key metadata for the signed-in user or a specific organization. Secret key values are not included. An API key lists only its holder's keys for the organization it was created for, and `total`, `limit` and `offset` count that list. Use an id from this list to read, update, or delete a key.","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Returns API key metadata for the signed-in user or a specific organization.","content":{"application/json":{"schema":{"type":"object","properties":{"apiKeys":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID"},"name":{"type":"string","nullable":true,"description":"The name of the key"},"start":{"type":"string","nullable":true,"description":"Shows the first few characters of the API key, including the prefix. This allows you to show those few characters in the UI to make it easier for users to identify the API key."},"prefix":{"type":"string","nullable":true,"description":"The API Key prefix. Stored as plain text."},"userId":{"type":"string","description":"The owner of the user id"},"refillInterval":{"type":"number","nullable":true,"description":"The interval in milliseconds between refills of the `remaining` count. Example: 3600000 // refill every hour (3600000ms = 1h)"},"refillAmount":{"type":"number","nullable":true,"description":"The amount to refill"},"lastRefillAt":{"type":"string","format":"date-time","nullable":true,"description":"The last refill date"},"enabled":{"type":"boolean","description":"Sets if key is enabled or disabled","default":true},"rateLimitEnabled":{"type":"boolean","description":"Whether the key has rate limiting enabled"},"rateLimitTimeWindow":{"type":"number","nullable":true,"description":"The duration in milliseconds"},"rateLimitMax":{"type":"number","nullable":true,"description":"Maximum amount of requests allowed within a window"},"requestCount":{"type":"number","description":"The number of requests made within the rate limit time window"},"remaining":{"type":"number","nullable":true,"description":"Remaining requests (every time api key is used this should updated and should be updated on refill as well)"},"lastRequest":{"type":"string","format":"date-time","nullable":true,"description":"When last request occurred"},"expiresAt":{"type":"string","format":"date-time","nullable":true,"description":"Expiry date of a key"},"createdAt":{"type":"string","format":"date-time","description":"created at"},"updatedAt":{"type":"string","format":"date-time","description":"updated at"},"metadata":{"type":"object","nullable":true,"additionalProperties":true,"description":"Extra metadata about the apiKey"},"permissions":{"type":"string","nullable":true,"description":"Permissions for the api key (stored as JSON string)"}},"required":["id","userId","enabled","rateLimitEnabled","requestCount","createdAt","updatedAt"]}},"total":{"type":"number","description":"Total number of API keys"},"limit":{"type":"number","nullable":true,"description":"The limit used for pagination"},"offset":{"type":"number","nullable":true,"description":"The offset used for pagination"}},"required":["apiKeys","total"]},"example":{"apiKeys":[{"id":"apikey_northwind_treasury","name":"Treasury automation","start":"sm_dalp_exampl","prefix":"sm_dalp_","userId":"user_northwind_ops","refillInterval":3600000,"refillAmount":1000,"lastRefillAt":"2026-03-04T15:42:18.000Z","enabled":true,"rateLimitEnabled":true,"rateLimitTimeWindow":60000,"rateLimitMax":10000,"requestCount":12,"remaining":988,"lastRequest":"2026-03-04T15:42:18.000Z","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","metadata":{"organizationId":"org_northwind_coffee","scope":"read-write"},"permissions":"{\"organization\":[\"read\"]}"}],"total":1,"limit":20,"offset":0}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"List API keys","operationId":"auth_get_api_key_list","x-dalp-auth":"session-or-api-key"}},"/api/auth/passkey/generate-register-options":{"get":{"tags":["Account security"],"description":"Returns WebAuthn registration options for the signed-in user. Pass them to the authenticator, then send the authenticator result to the registration verify route. An impersonated session is refused with 403 `IMPERSONATED_PASSKEY_REGISTRATION`.","operationId":"generatePasskeyRegistrationOptions","security":[{"sessionCookie":[]}],"parameters":[{"name":"authenticatorAttachment","in":"query","required":false,"description":"Type of authenticator to use for registration.\n                          \"platform\" for device-specific authenticators,\n                          \"cross-platform\" for authenticators that can be used across devices.","schema":{"type":"string","enum":["platform","cross-platform"]}},{"name":"name","in":"query","required":false,"description":"Optional custom name for the passkey.\n                          This can help identify the passkey when managing multiple credentials.","schema":{"type":"string"}},{"name":"context","in":"query","required":false,"description":"Optional context for passkey-first registration flows.","schema":{"type":"string"}}],"responses":{"200":{"description":"Returns WebAuthn registration options for the signed-in user.","content":{"application/json":{"schema":{"type":"object","properties":{"challenge":{"type":"string"},"rp":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}}},"user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"}}},"pubKeyCredParams":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"alg":{"type":"number"}}}},"timeout":{"type":"number"},"excludeCredentials":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"transports":{"type":"array","items":{"type":"string"}}}}},"authenticatorSelection":{"type":"object","properties":{"authenticatorAttachment":{"type":"string"},"requireResidentKey":{"type":"boolean"},"userVerification":{"type":"string"}}},"attestation":{"type":"string"},"extensions":{"type":"object"}}},"example":{"challenge":"challenge_example_not_live","rp":{"name":"DALP Console","id":"console.northwind.example"},"user":{"id":"user_northwind_ops","name":"treasury@northwind.example","displayName":"Northwind Treasury"},"pubKeyCredParams":[{"type":"public-key","alg":-7},{"type":"public-key","alg":-257}],"timeout":60000,"excludeCredentials":[{"id":"cred_example_northwind_laptop","type":"public-key","transports":["internal"]}],"authenticatorSelection":{"authenticatorAttachment":"platform","requireResidentKey":false,"userVerification":"preferred"},"attestation":"none","extensions":{}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Start passkey registration","x-dalp-auth":"session"}},"/api/auth/passkey/generate-authenticate-options":{"get":{"tags":["Account security"],"description":"Returns WebAuthn authentication options. Pass them to the authenticator, then send the authenticator result to the authentication verify route.","operationId":"passkeyGenerateAuthenticateOptions","security":[],"parameters":[],"responses":{"200":{"description":"Returns WebAuthn authentication options.","content":{"application/json":{"schema":{"type":"object","properties":{"challenge":{"type":"string"},"rp":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string"}}},"user":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"displayName":{"type":"string"}}},"timeout":{"type":"number"},"allowCredentials":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"transports":{"type":"array","items":{"type":"string"}}}}},"userVerification":{"type":"string"},"authenticatorSelection":{"type":"object","properties":{"authenticatorAttachment":{"type":"string"},"requireResidentKey":{"type":"boolean"},"userVerification":{"type":"string"}}},"extensions":{"type":"object"}}},"example":{"challenge":"challenge_example_not_live","rp":{"name":"DALP Console","id":"console.northwind.example"},"user":{"id":"user_northwind_ops","name":"treasury@northwind.example","displayName":"Northwind Treasury"},"timeout":60000,"allowCredentials":[{"id":"cred_example_northwind_laptop","type":"public-key","transports":["internal"]}],"userVerification":"preferred","authenticatorSelection":{"authenticatorAttachment":"platform","requireResidentKey":false,"userVerification":"preferred"},"extensions":{}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Start passkey sign-in","x-dalp-auth":"none"}},"/api/auth/passkey/verify-registration":{"post":{"tags":["Account security"],"description":"Verifies the authenticator registration result and stores the passkey. A session is required. An impersonated session is refused with 403 `IMPERSONATED_PASSKEY_REGISTRATION`. After success, the passkey can be used to sign in. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"passkeyVerifyRegistration","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"response":{},"name":{"type":"string","description":"Name of the passkey"},"createSession":{"type":"boolean","description":"Create a session after registering the passkey"}},"required":["response"]}}}},"responses":{"200":{"description":"Verifies the authenticator registration result and stores the passkey.","content":{"application/json":{"schema":{"type":"object","allOf":[{"$ref":"#/components/schemas/Passkey"},{"type":"object","properties":{"session":{"$ref":"#/components/schemas/Session"},"user":{"$ref":"#/components/schemas/User"}}}]},"example":{"id":"passkey_northwind_laptop","name":"Northwind laptop","publicKey":"pQECAyYgASFYIExamplePublicKeyNotLive","userId":"user_northwind_ops","credentialID":"cred_example_northwind_laptop","counter":7,"deviceType":"platform","backedUp":true,"transports":"internal,hybrid","createdAt":"2026-02-11T09:14:07.000Z","aaguid":"a1b2c3d4-e5f6-4789-a012-3456789abcde"}}}},"400":{"description":"The authentication request is invalid. Correct the request fields before you send it again."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Finish passkey registration","x-dalp-auth":"session"}},"/api/auth/passkey/list-user-passkeys":{"get":{"tags":["Account security"],"description":"Returns every passkey registered for the signed-in user. Use an id from this list to rename or delete a passkey.","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Returns every passkey registered for the signed-in user.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Passkey","required":["id","userId","publicKey","createdAt","updatedAt"]},"description":"Array of passkey objects associated with the user"},"example":[{"id":"passkey_northwind_laptop","name":"Northwind laptop","publicKey":"pQECAyYgASFYIExamplePublicKeyNotLive","userId":"user_northwind_ops","credentialID":"cred_example_northwind_laptop","counter":7,"deviceType":"platform","backedUp":true,"transports":"internal,hybrid","createdAt":"2026-02-11T09:14:07.000Z","aaguid":"a1b2c3d4-e5f6-4789-a012-3456789abcde","updatedAt":"2026-03-04T15:42:18.000Z"}]}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"List passkeys","operationId":"auth_get_passkey_list_user_passkeys","x-dalp-auth":"session-or-api-key"}},"/api/auth/passkey/delete-passkey":{"post":{"tags":["Account security"],"description":"Deletes the named passkey from the signed-in account. After success, that passkey can no longer sign the user in. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"The ID of the passkey to delete. Eg: \"some-passkey-id\""}},"required":["id"]}}}},"responses":{"200":{"description":"Deletes the named passkey from the signed-in account.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean","description":"Indicates whether the deletion was successful"}},"required":["status"]},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Delete a passkey","operationId":"auth_post_passkey_delete_passkey","x-dalp-auth":"session"}},"/api/auth/wallet/pincode/enable":{"post":{"tags":["Account security"],"description":"Stores a 6-digit PIN code on the signed-in account so later signing requests can present it as wallet verification. The first PIN needs no wallet factor while the account holds no wallet factor other than a PIN. Once the account holds a wallet authenticator, confirmed recovery codes or the identity provider's authenticator, send a current one in walletVerification. The account password is not accepted: a request with only the password is refused with the route's PASSWORD_REQUIRED code. If a PIN is already set, the platform stores nothing and answers WALLET_PINCODE_ALREADY_SET before it checks walletVerification. When the account holds a PIN whose setup never finished and no other wallet factor, send that same PIN to finish the setup; a different PIN is answered with WALLET_PINCODE_ALREADY_SET and counts as a wrong PIN toward the shared wallet lockout. When it also holds another wallet factor, send a current one in walletVerification; the new PIN then replaces that PIN, as /wallet/pincode/update does. Next, present this PIN on signing requests, and generate recovery codes so you can reset it later. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pincode":{"type":"string","description":"The pincode for wallet verification"},"walletVerification":{"type":"object","description":"A current wallet factor as the step-up, in the shape signing requests use: the transaction PIN, a code from the wallet authenticator, one unused recovery code, or a code from the identity provider's authenticator. A recovery code is spent. Wrong codes count toward the shared wallet lockout.","properties":{"secretVerificationCode":{"type":"string","description":"The code produced by the method named in verificationType."},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"PINCODE for the transaction PIN (the default), OTP for the wallet authenticator, SECRET_CODES for a recovery code, OIDC_MFA for the identity provider's authenticator."}},"required":["secretVerificationCode"]}},"required":["pincode"]}}}},"responses":{"200":{"description":"Stores a 6-digit PIN code on the signed-in account so later signing requests can present it as wallet verification.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status"}}},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."},"remainingAttempts":{"type":"integer","minimum":0,"description":"With WALLET_VERIFICATION_INVALID_CODE: wrong codes still accepted before the wallet locks for the cool-down."}},"required":["message"]}}},"description":"The request is invalid, or the wallet factor was refused. A refused factor carries code WALLET_VERIFICATION_INVALID_CODE with the attempts left before the shared wallet lockout, and an account that holds no factor of the named type carries WALLET_VERIFICATION_NOT_CONFIGURED. Other codes name a missing wallet factor, or a state this operation cannot change."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."},"503":{"description":"The wallet factor could not be checked, so the credential change was not applied. WALLET_VERIFICATION_FACTOR_UNAVAILABLE means the identity provider behind an OIDC_MFA code did not answer: retry later or send another configured factor. WALLET_VERIFICATION_UNAVAILABLE means the check did not settle inside its window: retry with a fresh code, because a recovery code or authenticator code the attempt already consumed is not restored.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["WALLET_VERIFICATION_FACTOR_UNAVAILABLE","WALLET_VERIFICATION_UNAVAILABLE"],"description":"Which dependency did not answer."}},"required":["message","code"]}}}}},"summary":"Enable the wallet PIN code","operationId":"auth_post_wallet_pincode_enable","x-dalp-auth":"session"}},"/api/auth/wallet/pincode/disable":{"post":{"tags":["Account security"],"description":"Removes the PIN code from the signed-in account. Send a current wallet factor in walletVerification: the PIN itself, a wallet authenticator code, or an unused recovery code. The account password is not accepted: a request with only the password is refused with the route's PASSWORD_REQUIRED code. After success, signing requests can no longer use a PIN until one is enabled again. If no PIN is set, the platform stores nothing. The PIN is removed only while a confirmed wallet authenticator remains; otherwise the call is refused with code WALLET_LAST_SIGNING_FACTOR and nothing changes, so set up the authenticator first. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"type":"object","description":"A current wallet factor as the step-up, in the shape signing requests use: the transaction PIN, a code from the wallet authenticator, one unused recovery code, or a code from the identity provider's authenticator. A recovery code is spent. Wrong codes count toward the shared wallet lockout.","properties":{"secretVerificationCode":{"type":"string","description":"The code produced by the method named in verificationType."},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"PINCODE for the transaction PIN (the default), OTP for the wallet authenticator, SECRET_CODES for a recovery code, OIDC_MFA for the identity provider's authenticator."}},"required":["secretVerificationCode"]}}}}}},"responses":{"200":{"description":"Removes the PIN code from the signed-in account.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status"}}},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."},"remainingAttempts":{"type":"integer","minimum":0,"description":"With WALLET_VERIFICATION_INVALID_CODE: wrong codes still accepted before the wallet locks for the cool-down."}},"required":["message"]}}},"description":"The request is invalid, or the wallet factor was refused. A refused factor carries code WALLET_VERIFICATION_INVALID_CODE with the attempts left before the shared wallet lockout, and an account that holds no factor of the named type carries WALLET_VERIFICATION_NOT_CONFIGURED. Other codes name a missing wallet factor, or a state this operation cannot change."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."},"503":{"description":"The wallet factor could not be checked, so the credential change was not applied. WALLET_VERIFICATION_FACTOR_UNAVAILABLE means the identity provider behind an OIDC_MFA code did not answer: retry later or send another configured factor. WALLET_VERIFICATION_UNAVAILABLE means the check did not settle inside its window: retry with a fresh code, because a recovery code or authenticator code the attempt already consumed is not restored.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["WALLET_VERIFICATION_FACTOR_UNAVAILABLE","WALLET_VERIFICATION_UNAVAILABLE"],"description":"Which dependency did not answer."}},"required":["message","code"]}}}}},"summary":"Disable the wallet PIN code","operationId":"auth_post_wallet_pincode_disable","x-dalp-auth":"session"}},"/api/auth/wallet/pincode/update":{"post":{"tags":["Account security"],"description":"Replaces the current PIN code on the signed-in account. Send the new 6-digit PIN and a current wallet factor in walletVerification: the current PIN, a wallet authenticator code, or an unused recovery code. The account password is not accepted: a request with only the password is refused with the route's PASSWORD_REQUIRED code. The previous PIN stops working as soon as this call succeeds. Next, present the new PIN on signing requests. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"type":"object","description":"A current wallet factor as the step-up, in the shape signing requests use: the transaction PIN, a code from the wallet authenticator, one unused recovery code, or a code from the identity provider's authenticator. A recovery code is spent. Wrong codes count toward the shared wallet lockout.","properties":{"secretVerificationCode":{"type":"string","description":"The code produced by the method named in verificationType."},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"PINCODE for the transaction PIN (the default), OTP for the wallet authenticator, SECRET_CODES for a recovery code, OIDC_MFA for the identity provider's authenticator."}},"required":["secretVerificationCode"]},"newPincode":{"type":"string"}},"required":["newPincode"]}}}},"responses":{"200":{"description":"Replaces the current PIN code on the signed-in account.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status"}}},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."},"remainingAttempts":{"type":"integer","minimum":0,"description":"With WALLET_VERIFICATION_INVALID_CODE: wrong codes still accepted before the wallet locks for the cool-down."}},"required":["message"]}}},"description":"The request is invalid, or the wallet factor was refused. A refused factor carries code WALLET_VERIFICATION_INVALID_CODE with the attempts left before the shared wallet lockout, and an account that holds no factor of the named type carries WALLET_VERIFICATION_NOT_CONFIGURED. Other codes name a missing wallet factor, or a state this operation cannot change."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."},"503":{"description":"The wallet factor could not be checked, so the credential change was not applied. WALLET_VERIFICATION_FACTOR_UNAVAILABLE means the identity provider behind an OIDC_MFA code did not answer: retry later or send another configured factor. WALLET_VERIFICATION_UNAVAILABLE means the check did not settle inside its window: retry with a fresh code, because a recovery code or authenticator code the attempt already consumed is not restored.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["WALLET_VERIFICATION_FACTOR_UNAVAILABLE","WALLET_VERIFICATION_UNAVAILABLE"],"description":"Which dependency did not answer."}},"required":["message","code"]}}}}},"summary":"Replace the wallet PIN code","operationId":"auth_post_wallet_pincode_update","x-dalp-auth":"session"}},"/api/auth/wallet/pincode/recover":{"post":{"tags":["Account security"],"description":"Replaces an unconfirmed PIN that has never been used after signing in again through the account's SSO provider. The SSO sign-in must be less than five minutes old. A confirmed or previously used PIN cannot be replaced this way. An account that holds a wallet factor other than the PIN (a wallet authenticator, confirmed recovery codes or the identity provider's authenticator) is refused with WALLET_PINCODE_PASSWORD_REQUIRED; it sets a new PIN through /wallet/pincode/enable with a current wallet factor. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"newPincode":{"type":"string"}},"required":["newPincode"]}}}},"responses":{"200":{"description":"Replaces an unconfirmed PIN that has never been used after signing in again through the account's SSO provider.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status"}}},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Recover an interrupted wallet PIN setup","operationId":"auth_post_wallet_pincode_recover","x-dalp-auth":"session"}},"/api/auth/wallet/pincode/reset":{"post":{"tags":["Account security"],"description":"Sets a new PIN code using one unused recovery code. You do not send the old PIN or the account password. The platform consumes that code. When the last remaining code is used, the response includes a fresh recovery set that you must record now. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recoveryCode":{"type":"string","description":"A wallet recovery code authorizing the reset"},"newPincode":{"type":"string","description":"The new pincode to set"}},"required":["recoveryCode","newPincode"]}}}},"responses":{"200":{"description":"Sets a new PIN code using one unused recovery code.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Success status"},"recoveryCodes":{"type":"array","items":{"type":"string"},"description":"Fresh recovery codes returned only when the consumed code exhausted the prior set"}}},"example":{"success":true,"recoveryCodes":["k7m2p-9x4qw","n3b8c-2h6jt","p9w4d-7r1vm"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Reset the wallet PIN with a recovery code","operationId":"auth_post_wallet_pincode_reset","x-dalp-auth":"session"}},"/api/auth/wallet/two-factor/enable":{"post":{"tags":["Account security"],"description":"Starts authenticator-app enrollment on the signed-in account and returns a TOTP URI. Wallet two-factor stays off until a code from that URI is verified. Once the account holds any wallet factor, send a current one in walletVerification: the PIN, an unused recovery code or a code from the identity provider's authenticator. The account password is not accepted: a request with only the password is refused with the route's PASSWORD_REQUIRED code. An account with a verified wallet authenticator sends a code from it or an unused recovery code (or the identity provider's code when it holds that authenticator); anything else, the PIN and the account password included, is refused with code WALLET_TWO_FACTOR_AUTHENTICATOR_PROOF_REQUIRED. A re-enrolment keeps the current authenticator signing until the new one is verified; starting another enrolment discards the earlier unverified one. Next, scan the URI, then call the wallet verify route. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"type":"object","description":"A current wallet factor as the step-up, in the shape signing requests use: the transaction PIN, a code from the wallet authenticator, one unused recovery code, or a code from the identity provider's authenticator. A recovery code is spent. Wrong codes count toward the shared wallet lockout.","properties":{"secretVerificationCode":{"type":"string","description":"The code produced by the method named in verificationType."},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"PINCODE for the transaction PIN (the default), OTP for the wallet authenticator, SECRET_CODES for a recovery code, OIDC_MFA for the identity provider's authenticator."}},"required":["secretVerificationCode"]},"issuer":{"type":"string","description":"Custom issuer for the TOTP URI"}}}}}},"responses":{"200":{"description":"Starts authenticator-app enrollment on the signed-in account and returns a TOTP URI.","content":{"application/json":{"schema":{"type":"object","properties":{"totpURI":{"type":"string","description":"TOTP URI"}}},"example":{"totpURI":"otpauth://totp/DALP:treasury@northwind.example?secret=SAMPLETOTPNOTALIVE&issuer=DALP"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."},"remainingAttempts":{"type":"integer","minimum":0,"description":"With WALLET_VERIFICATION_INVALID_CODE: wrong codes still accepted before the wallet locks for the cool-down."}},"required":["message"]}}},"description":"The request is invalid, or the wallet factor was refused. A refused factor carries code WALLET_VERIFICATION_INVALID_CODE with the attempts left before the shared wallet lockout, and an account that holds no factor of the named type carries WALLET_VERIFICATION_NOT_CONFIGURED. Other codes name a missing wallet factor, or a state this operation cannot change."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."},"503":{"description":"The wallet factor could not be checked, so the credential change was not applied. WALLET_VERIFICATION_FACTOR_UNAVAILABLE means the identity provider behind an OIDC_MFA code did not answer: retry later or send another configured factor. WALLET_VERIFICATION_UNAVAILABLE means the check did not settle inside its window: retry with a fresh code, because a recovery code or authenticator code the attempt already consumed is not restored.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["WALLET_VERIFICATION_FACTOR_UNAVAILABLE","WALLET_VERIFICATION_UNAVAILABLE"],"description":"Which dependency did not answer."}},"required":["message","code"]}}}}},"summary":"Start wallet two-factor enrollment","operationId":"auth_post_wallet_two_factor_enable","x-dalp-auth":"session"}},"/api/auth/wallet/two-factor/disable":{"post":{"tags":["Account security"],"description":"Turns off authenticator-app verification on the signed-in account. Send a code from this authenticator or an unused recovery code in walletVerification (or the identity provider's code when the account holds that authenticator); anything else, the PIN and the account password included, is refused with code WALLET_TWO_FACTOR_AUTHENTICATOR_PROOF_REQUIRED. After success, signing requests can no longer use a TOTP code until enrollment runs again. The authenticator is removed only while a confirmed PIN remains; otherwise the call is refused with code WALLET_LAST_SIGNING_FACTOR and nothing changes, so set a PIN first. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"type":"object","description":"A current wallet factor as the step-up, in the shape signing requests use: the transaction PIN, a code from the wallet authenticator, one unused recovery code, or a code from the identity provider's authenticator. A recovery code is spent. Wrong codes count toward the shared wallet lockout.","properties":{"secretVerificationCode":{"type":"string","description":"The code produced by the method named in verificationType."},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"PINCODE for the transaction PIN (the default), OTP for the wallet authenticator, SECRET_CODES for a recovery code, OIDC_MFA for the identity provider's authenticator."}},"required":["secretVerificationCode"]}}}}}},"responses":{"200":{"description":"Turns off authenticator-app verification on the signed-in account.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."},"remainingAttempts":{"type":"integer","minimum":0,"description":"With WALLET_VERIFICATION_INVALID_CODE: wrong codes still accepted before the wallet locks for the cool-down."}},"required":["message"]}}},"description":"The request is invalid, or the wallet factor was refused. A refused factor carries code WALLET_VERIFICATION_INVALID_CODE with the attempts left before the shared wallet lockout, and an account that holds no factor of the named type carries WALLET_VERIFICATION_NOT_CONFIGURED. Other codes name a missing wallet factor, or a state this operation cannot change."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."},"503":{"description":"The wallet factor could not be checked, so the credential change was not applied. WALLET_VERIFICATION_FACTOR_UNAVAILABLE means the identity provider behind an OIDC_MFA code did not answer: retry later or send another configured factor. WALLET_VERIFICATION_UNAVAILABLE means the check did not settle inside its window: retry with a fresh code, because a recovery code or authenticator code the attempt already consumed is not restored.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["WALLET_VERIFICATION_FACTOR_UNAVAILABLE","WALLET_VERIFICATION_UNAVAILABLE"],"description":"Which dependency did not answer."}},"required":["message","code"]}}}}},"summary":"Disable wallet two-factor","operationId":"auth_post_wallet_two_factor_disable","x-dalp-auth":"session"}},"/api/auth/wallet/two-factor/verify":{"post":{"tags":["Account security"],"description":"Confirms the pending authenticator enrollment with a current 6-digit code from the new authenticator app. On success the new authenticator replaces any earlier one and wallet two-factor is on. An enrollment started while the account held no wallet factor is refused here once the account holds one (400 WALLET_TWO_FACTOR_INVALID_CODE); start the enrollment again. Repeated failures lock verification for a cool-down interval. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The otp code to verify"}},"required":["code"]}}}},"responses":{"200":{"description":"Confirms the pending authenticator enrollment with a current 6-digit code from the new authenticator app.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."}},"required":["message"]}}},"description":"The request is invalid, the account has no pending authenticator enrollment to confirm or that enrollment began before the account held a wallet factor (code WALLET_TWO_FACTOR_INVALID_CODE), its recovery-code set changed underneath the check (code WALLET_SECRET_CODES_VERIFICATION_MISMATCH), or its identity participant is missing (message only)."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."}},"required":["message"]}}},"description":"The authenticator code was refused with code WALLET_TWO_FACTOR_INVALID_CODE: a wrong, expired or replayed code counts toward the shared wallet lockout, a malformed code is refused before any attempt is spent. Without a code, the session is missing or invalid."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Verify a wallet authenticator code","operationId":"auth_post_wallet_two_factor_verify","x-dalp-auth":"session"}},"/api/auth/wallet/secret-codes/generate":{"post":{"tags":["Account security"],"description":"Issues a new set of recovery codes for the signed-in account and stores only their hashes. Record the returned codes now. The platform cannot show them again. The first set needs no wallet factor while the account has never held recovery codes, holds a single signing factor, and set up that PIN or authenticator in the last 5 minutes. An account that holds a second factor, or the identity provider's authenticator, proves the first set too, and the set starts a signing hold. Otherwise, send the strongest signing factor in walletVerification: a wallet authenticator code when the account holds a verified authenticator, otherwise the PIN. One of the codes being replaced is also accepted, and it is spent. The account password is refused. A weaker or missing factor is refused with WALLET_SECRET_CODES_AUTHENTICATOR_PROOF_REQUIRED or WALLET_SECRET_CODES_PIN_PROOF_REQUIRED before any attempt is spent. Echo the returned verification id to the confirm route. Codes the account already confirmed keep working until the confirm route accepts the new set; a new set that is never confirmed replaces nothing. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"walletVerification":{"type":"object","description":"A current wallet factor as the step-up, in the shape signing requests use: the transaction PIN, a code from the wallet authenticator, one unused recovery code, or a code from the identity provider's authenticator. A recovery code is spent. Wrong codes count toward the shared wallet lockout.","properties":{"secretVerificationCode":{"type":"string","description":"The code produced by the method named in verificationType."},"verificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"PINCODE for the transaction PIN (the default), OTP for the wallet authenticator, SECRET_CODES for a recovery code, OIDC_MFA for the identity provider's authenticator."}},"required":["secretVerificationCode"]}}}}}},"responses":{"200":{"description":"Issues a new set of recovery codes for the signed-in account and stores only their hashes.","content":{"application/json":{"schema":{"type":"object","properties":{"secretCodes":{"type":"array","items":{"type":"string"},"description":"Secret codes"},"rotated":{"type":"boolean","description":"True when a confirmed set was replaced; false for the first generated set."},"verificationId":{"type":"string","description":"Identifier of the verification row the returned codes belong to. Clients MUST echo this back to /confirm so the server can reject confirmations against a rotated-away set."}},"required":["secretCodes","rotated","verificationId"]},"example":{"secretCodes":["k7m2p-9x4qw","n3b8c-2h6jt","p9w4d-7r1vm"],"rotated":false,"verificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"The refusal code. Stable; read it instead of the message."},"remainingAttempts":{"type":"integer","minimum":0,"description":"With WALLET_VERIFICATION_INVALID_CODE: wrong codes still accepted before the wallet locks for the cool-down."}},"required":["message"]}}},"description":"The request is invalid, or the wallet factor was refused. A refused factor carries code WALLET_VERIFICATION_INVALID_CODE with the attempts left before the shared wallet lockout, and an account that holds no factor of the named type carries WALLET_VERIFICATION_NOT_CONFIGURED. Other codes name a missing wallet factor, or a state this operation cannot change."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","description":"WALLET_CREDENTIAL_LOCKED when the shared wallet lockout refused the call."},"retryAfterSeconds":{"type":"integer","minimum":1,"description":"With WALLET_CREDENTIAL_LOCKED: seconds until the wallet accepts a code again."}},"required":["message"]}}},"description":"Wallet verification is locked after repeated wrong codes (code WALLET_CREDENTIAL_LOCKED with the seconds to wait), or the authentication rate limit was exceeded (message only). Wait before you retry."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."},"503":{"description":"The wallet factor could not be checked, so the credential change was not applied. WALLET_VERIFICATION_FACTOR_UNAVAILABLE means the identity provider behind an OIDC_MFA code did not answer: retry later or send another configured factor. WALLET_VERIFICATION_UNAVAILABLE means the check did not settle inside its window: retry with a fresh code, because a recovery code or authenticator code the attempt already consumed is not restored.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"string","enum":["WALLET_VERIFICATION_FACTOR_UNAVAILABLE","WALLET_VERIFICATION_UNAVAILABLE"],"description":"Which dependency did not answer."}},"required":["message","code"]}}}}},"summary":"Generate wallet recovery codes","operationId":"auth_post_wallet_secret_codes_generate","x-dalp-auth":"session"}},"/api/auth/wallet/secret-codes/confirm":{"post":{"tags":["Account security"],"description":"Records that the signed-in caller stored the recovery codes from generate. Send the verification id that generate returned. The new set then replaces any set the account confirmed before, and every code from that set stops working. A mismatch means those codes were rotated away, and the platform stores no confirmation. Next, use a code on the PIN reset route if you lose the PIN. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stored":{"type":"boolean","description":"Whether the secret codes were stored"},"verificationId":{"type":"string","description":"The verification id returned by /generate. Must match the session's current walletSecretCodeVerificationId; otherwise the caller is confirming a rotated-away set and is rejected."}},"required":["stored","verificationId"]}}}},"responses":{"200":{"description":"Records that the signed-in caller stored the recovery codes from generate.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Secret codes confirmation received"}}},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Confirm wallet recovery codes are stored","operationId":"auth_post_wallet_secret_codes_confirm","x-dalp-auth":"session"}},"/api/auth/two-factor/verify-totp":{"post":{"tags":["Account security"],"description":"Confirms a current authenticator code for login two-factor. On first success after enable, login two-factor is turned on. You may trust this device. After success during sign-in, treat the session as fully signed in. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"twoFactorCookie":[]},{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"The otp code to verify. Eg: \"012345\""},"trustDevice":{"type":"boolean","description":"If true, the device will be trusted for 30 days. It'll be refreshed on every sign in request within this time. Eg: true"}},"required":["code"]}}}},"responses":{"200":{"description":"Confirms a current authenticator code for login two-factor.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Verify a login TOTP code","operationId":"auth_post_two_factor_verify_totp","x-dalp-auth":"two-factor-pending"}},"/api/auth/two-factor/verify-backup-code":{"post":{"tags":["Account security"],"description":"Confirms a login two-factor backup code. The code is consumed. After success during sign-in, treat the session as fully signed in. Store any remaining codes offline. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"twoFactorCookie":[]},{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"string","description":"A backup code to verify. Eg: \"123456\""},"disableSession":{"type":"boolean","description":"If true, the session cookie will not be set."},"trustDevice":{"type":"boolean","description":"If true, the device will be trusted for 30 days. It'll be refreshed on every sign in request within this time. Eg: true"}},"required":["code"]}}}},"responses":{"200":{"description":"Confirms a login two-factor backup code.","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the user"},"email":{"type":"string","format":"email","nullable":true,"description":"User's email address"},"emailVerified":{"type":"boolean","nullable":true,"description":"Whether the email is verified"},"name":{"type":"string","nullable":true,"description":"User's name"},"image":{"type":"string","format":"uri","nullable":true,"description":"User's profile image URL"},"twoFactorEnabled":{"type":"boolean","description":"Whether two-factor authentication is enabled for the user"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the user was created"},"updatedAt":{"type":"string","format":"date-time","description":"Timestamp when the user was last updated"}},"required":["id","twoFactorEnabled","createdAt","updatedAt"],"description":"The authenticated user object with two-factor details"},"session":{"type":"object","properties":{"token":{"type":"string","description":"Session token"},"userId":{"type":"string","description":"ID of the user associated with the session"},"createdAt":{"type":"string","format":"date-time","description":"Timestamp when the session was created"},"expiresAt":{"type":"string","format":"date-time","description":"Timestamp when the session expires"}},"required":["token","userId","createdAt","expiresAt"],"description":"The current session object, included unless disableSession is true"}},"required":["user","session"]},"example":{"user":{"id":"user_northwind_ops","email":"treasury@northwind.example","emailVerified":true,"name":"Northwind Treasury","image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","twoFactorEnabled":true},"session":{"token":"sess_example_not_a_live_token","userId":"user_northwind_ops","createdAt":"2026-02-11T09:14:07.000Z","expiresAt":"2026-03-11T15:42:18.000Z"}}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Verify a login backup code","operationId":"auth_post_two_factor_verify_backup_code","x-dalp-auth":"two-factor-pending"}},"/api/auth/two-factor/enable":{"post":{"tags":["Account security"],"description":"Starts login two-factor enrollment. Send the account password. With method omitted or totp, it returns a TOTP URI and backup codes, and login two-factor stays off until a code from that URI is verified. With method otp, login two-factor turns on at once with one-time codes sent by email or SMS, whichever the organization allows as login methods; the response is { method: \"otp\" } with no URI or backup codes, and the session is replaced by a new one. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","description":"User password"},"method":{"type":"string","enum":["otp","totp"]},"issuer":{"type":"string","description":"Custom issuer for the TOTP URI"}},"required":["password"]}}}},"responses":{"200":{"description":"Starts login two-factor enrollment.","content":{"application/json":{"schema":{"type":"object","properties":{"method":{"type":"string","enum":["otp","totp"],"description":"The 2FA method that was enabled."},"totpURI":{"type":"string","description":"TOTP URI for authenticator app setup. Only present when method is 'totp'."},"backupCodes":{"type":"array","items":{"type":"string"},"description":"Recovery backup codes. Only present when method is 'totp'."}},"required":["method"]},"example":{"method":"totp","totpURI":"otpauth://totp/DALP:treasury@northwind.example?secret=SAMPLETOTPNOTALIVE&issuer=DALP","backupCodes":["nw-backup-11","nw-backup-22","nw-backup-33"]}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Start login two-factor enrollment","x-dalp-deployment-mode":"password","operationId":"auth_post_two_factor_enable","x-dalp-auth":"session"}},"/api/auth/two-factor/disable":{"post":{"tags":["Account security"],"description":"Turns off login two-factor for the signed-in account. Send the account password. After success, sign-in no longer requires an authenticator code. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","description":"User password"}},"required":["password"]}}}},"responses":{"200":{"description":"Turns off login two-factor for the signed-in account.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"boolean"}}},"example":{"status":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Disable login two-factor","operationId":"auth_post_two_factor_disable","x-dalp-auth":"session"}},"/api/auth/device/code":{"post":{"tags":["OAuth and device authorization"],"description":"Starts the OAuth device flow described in RFC 8628. Returns a device code and a user code. Show the user code and verification URI, then poll the token route with the device code. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_id":{"type":"string","description":"The client ID of the application"},"user_id":{"type":"string","description":"The user ID to which the device code should be pre-bound."},"scope":{"type":"string","description":"Space-separated list of scopes"}},"required":["client_id"]}}}},"responses":{"200":{"description":"Starts the OAuth device flow described in RFC 8628.","content":{"application/json":{"schema":{"type":"object","properties":{"device_code":{"type":"string","description":"The device verification code"},"user_code":{"type":"string","description":"The user code to display"},"verification_uri":{"type":"string","format":"uri","description":"The URL for user verification. Defaults to /device if not configured."},"verification_uri_complete":{"type":"string","format":"uri","description":"The complete URL with user code as query parameter."},"expires_in":{"type":"number","description":"Lifetime in seconds of the device code"},"interval":{"type":"number","description":"Minimum polling interval in seconds"}}},"example":{"device_code":"device_example_code_not_live","user_code":"WDJB-MOOO","verification_uri":"https://console.northwind.example/device","verification_uri_complete":"https://console.northwind.example/device?user_code=WDJB-MOOO","expires_in":600,"interval":5}}}},"400":{"description":"The authentication request is invalid. Correct the request fields before you send it again.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["invalid_request","invalid_client","unauthorized_client","invalid_scope"]},"error_description":{"type":"string"}}}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["server_error"]},"error_description":{"type":"string"}}}}}}},"summary":"Request a device authorization code","operationId":"auth_post_device_code","x-dalp-auth":"none"}},"/api/auth/device/token":{"post":{"tags":["OAuth and device authorization"],"description":"Polls for tokens after the user approves the device code, as described in RFC 8628. Send the grant type, device code, and client id. Retry while authorization is pending. After approval, store the returned tokens. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"grant_type":{"enum":["urn:ietf:params:oauth:grant-type:device_code"],"description":"The grant type for device flow"},"device_code":{"type":"string","description":"The device verification code"},"client_id":{"type":"string","description":"The client ID of the application"}},"required":["grant_type","device_code","client_id"]}}}},"responses":{"200":{"description":"Polls for tokens after the user approves the device code, as described in RFC 8628.","content":{"application/json":{"schema":{"type":"object","properties":{"session":{"$ref":"#/components/schemas/Session"},"user":{"$ref":"#/components/schemas/User"}}},"example":{"session":{"id":"sess_northwind_console","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","ipAddress":"203.0.113.10","userAgent":"Mozilla/5.0 NorthwindConsole","userId":"user_northwind_ops","activeOrganizationId":"org_northwind_coffee"},"user":{"id":"user_northwind_ops","name":"Northwind Treasury","email":"treasury@northwind.example","emailVerified":true,"image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","role":"member","banned":false,"twoFactorEnabled":true,"lastLoginAt":"2026-03-04T15:40:00.000Z","walletPincodeEnabled":true,"walletPincodeVerificationId":"ver_pincode_northwind","walletTwoFactorEnabled":true,"walletTwoFactorVerificationId":"ver_totp_northwind","walletSecretCodeVerificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","walletSecretCodesConfirmed":true,"lastActiveOrganizationId":"org_northwind_coffee"}}}}},"400":{"description":"The authentication request is invalid. Correct the request fields before you send it again.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["authorization_pending","slow_down","expired_token","access_denied","invalid_request","invalid_grant"]},"error_description":{"type":"string"}}}}}},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Exchange a device code for tokens","operationId":"auth_post_device_token","x-dalp-auth":"none"}},"/api/auth/organization/create":{"post":{"tags":["Organisations and members"],"description":"Creates an organization with a name and slug. A session is required. Organization creation may be limited to platform administrators. A name another active organization already uses, compared without case or outer spaces, is refused with 400 `ORGANIZATION_NAME_TAKEN`. When the name check cannot read the existing organizations, the call answers 503 and creates nothing: retry it. After success, the creator is a member and their active organization does not change. Set the organization active before making tenant-scoped calls in it. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The name of the organization"},"slug":{"type":"string","minLength":1,"description":"The slug of the organization"},"userId":{"type":"string","description":"The user id of the organization creator. If not provided, the current user will be used. Should only be used by admins or when called by the server. server-only. Eg: \"user-id\""},"logo":{"type":["string","null"],"description":"The logo of the organization"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The metadata of the organization"},"keepCurrentActiveOrganization":{"type":"boolean","description":"Whether to keep the current active organization active after creating a new one. Eg: true"},"allowedTwoFactorMethods":{"type":["string","null"]}},"required":["name","slug"]}}}},"responses":{"200":{"description":"Creates an organization with a name and slug.","content":{"application/json":{"schema":{"type":"object","description":"The organization that was created","$ref":"#/components/schemas/Organization"},"example":{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"https://static.northwind.example/logo.png","createdAt":"2026-02-11T09:14:07.000Z","metadata":"{\"region\":\"eu\"}","onboardingCompletedAt":"2026-02-12T10:00:00.000Z"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Create an organization","operationId":"auth_post_organization_create","x-dalp-auth":"session"}},"/api/auth/organization/update":{"post":{"tags":["Organisations and members"],"description":"Updates the named organization. A session and permission to manage the organization are required. Send only the fields you intend to change, then read the returned organization. A new name another active organization already uses, compared without case or outer spaces, is refused with 400 `ORGANIZATION_NAME_TAKEN`; the organization's own current name is accepted. When the name check cannot read the existing organizations, the call answers 503 and changes nothing: retry it. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"allowedTwoFactorMethods":{"type":["string","null"]},"name":{"type":"string","minLength":1,"description":"The name of the organization"},"slug":{"type":"string","minLength":1,"description":"The slug of the organization"},"logo":{"type":["string","null"],"description":"The logo of the organization"},"metadata":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{},"description":"The metadata of the organization"}}},"organizationId":{"type":"string","description":"The organization ID. Eg: \"org-id\""}},"required":["data"]}}}},"responses":{"200":{"description":"Updates the named organization.","content":{"application/json":{"schema":{"type":"object","description":"The updated organization","$ref":"#/components/schemas/Organization"},"example":{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"https://static.northwind.example/logo.png","createdAt":"2026-02-11T09:14:07.000Z","metadata":"{\"region\":\"eu\"}","onboardingCompletedAt":"2026-02-12T10:00:00.000Z"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Update an organization","operationId":"auth_post_organization_update","x-dalp-auth":"session"}},"/api/auth/organization/set-active":{"post":{"tags":["Organisations and members"],"description":"Sets or clears the active organization on the current session. Send an organization id or slug, or null to clear it. Later tenant-scoped calls use this organization. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"setActiveOrganization","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"organizationId":{"type":["string","null"],"description":"The organization id to set as active. It can be null to unset the active organization. Eg: \"org-id\""},"organizationSlug":{"type":"string","description":"The organization slug to set as active. It can be null to unset the active organization if organizationId is not provided. Eg: \"org-slug\""}}}}}},"responses":{"200":{"description":"Sets or clears the active organization on the current session.","content":{"application/json":{"schema":{"type":"object","description":"The organization","$ref":"#/components/schemas/Organization"},"example":{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"https://static.northwind.example/logo.png","createdAt":"2026-02-11T09:14:07.000Z","metadata":"{\"region\":\"eu\"}","onboardingCompletedAt":"2026-02-12T10:00:00.000Z"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Set the active organization","x-dalp-auth":"session"}},"/api/auth/organization/get-full-organization":{"get":{"tags":["Organisations and members"],"description":"Returns the full record for the active organization. A session or an API key is required. An API key reads only the organization it was created for, and reads that organization when the request names none. Use this to show the current tenant before you invite members or change settings.","operationId":"getOrganization","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Returns the full record for the active organization.","content":{"application/json":{"schema":{"type":"object","description":"The organization","$ref":"#/components/schemas/Organization"},"example":{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"https://static.northwind.example/logo.png","createdAt":"2026-02-11T09:14:07.000Z","metadata":"{\"region\":\"eu\"}","onboardingCompletedAt":"2026-02-12T10:00:00.000Z"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Read the active organization","x-dalp-auth":"session-or-api-key"}},"/api/auth/organization/list":{"get":{"tags":["Organisations and members"],"description":"Returns organizations the signed-in user belongs to. An API key lists only the organization it was created for. Use an id or slug from this list to set the active organization.","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"responses":{"200":{"description":"Returns organizations the signed-in user belongs to.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Organization"}},"example":[{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"https://static.northwind.example/logo.png","createdAt":"2026-02-11T09:14:07.000Z","metadata":"{\"region\":\"eu\"}","onboardingCompletedAt":"2026-02-12T10:00:00.000Z"}]}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"List the user's organizations","operationId":"auth_get_organization_list","x-dalp-auth":"session-or-api-key"}},"/api/auth/organization/cancel-invitation":{"post":{"tags":["Organisations and members"],"security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","description":"The ID of the invitation to cancel"}},"required":["invitationId"]}}}},"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Cancel an invitation","description":"Cancels the named pending invitation. A session and permission to manage invitations are required. After success, that invitation can no longer be accepted. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","operationId":"auth_post_organization_cancel_invitation","x-dalp-auth":"session"}},"/api/auth/organization/get-invitation":{"get":{"tags":["Organisations and members"],"description":"Returns the invitation named by id. Use this to show the invitee the organization and role before they accept or reject it.","security":[{"sessionCookie":[]}],"parameters":[{"name":"id","in":"query","schema":{"type":"string","description":"The ID of the invitation to get"}}],"responses":{"200":{"description":"Returns the invitation named by id.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"organizationId":{"type":"string"},"inviterId":{"type":"string"},"status":{"type":"string"},"expiresAt":{"type":"string"},"organizationName":{"type":"string"},"organizationSlug":{"type":"string"},"inviterEmail":{"type":"string"}},"required":["id","email","role","organizationId","inviterId","status","expiresAt","organizationName","organizationSlug","inviterEmail"]},"example":{"id":"invite_northwind_analyst","email":"analyst@northwind.example","role":"member","organizationId":"org_northwind_coffee","inviterId":"user_northwind_admin","status":"pending","expiresAt":"2026-03-11T15:42:18.000Z","organizationName":"Northwind Coffee","organizationSlug":"northwind-coffee","inviterEmail":"treasury@northwind.example"}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Read an invitation","operationId":"auth_get_organization_get_invitation","x-dalp-auth":"session"}},"/api/auth/organization/reject-invitation":{"post":{"tags":["Organisations and members"],"description":"Rejects the named invitation for the signed-in user. After success, the user is not a member and the invitation cannot be accepted. This operation reads no Idempotency-Key header and does not replay a lost response: read the account state back before you send it again.","security":[{"sessionCookie":[]}],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"invitationId":{"type":"string","description":"The ID of the invitation to reject"}},"required":["invitationId"]}}}},"responses":{"200":{"description":"Rejects the named invitation for the signed-in user.","content":{"application/json":{"schema":{"type":"object","properties":{"invitation":{"type":"object"},"member":{"type":"object","nullable":true}}},"example":{"invitation":{"id":"invite_northwind_analyst","organizationId":"org_northwind_coffee","email":"analyst@northwind.example","role":"member","status":"pending","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","inviterId":"user_northwind_admin","onChainRoles":"[\"assetManager\"]","onChainRolesAuthorizedAt":"2026-03-04T15:42:18.000Z"},"member":null}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Reject an invitation","operationId":"auth_post_organization_reject_invitation","x-dalp-auth":"session"}},"/api/auth/organization/list-invitations":{"get":{"tags":["Organisations and members"],"security":[{"sessionCookie":[]}],"parameters":[],"responses":{"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"List organization invitations","description":"Returns invitations for the active organization. A session and permission to manage invitations are required. Use an id from this list to cancel an invitation.","operationId":"auth_get_organization_list_invitations","x-dalp-auth":"session"}},"/api/auth/organization/list-user-invitations":{"get":{"tags":["Organisations and members"],"description":"Returns invitations addressed to the signed-in user. Use an id from this list to accept or reject an invitation.","security":[{"sessionCookie":[]}],"parameters":[],"responses":{"200":{"description":"Returns invitations addressed to the signed-in user.","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"organizationId":{"type":"string"},"organizationName":{"type":"string"},"inviterId":{"type":"string","description":"The ID of the user who created the invitation"},"teamId":{"type":"string","description":"The ID of the team associated with the invitation","nullable":true},"status":{"type":"string"},"expiresAt":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","email","role","organizationId","organizationName","inviterId","status","expiresAt","createdAt"]}},"example":[{"id":"invite_northwind_analyst","email":"analyst@northwind.example","role":"member","organizationId":"org_northwind_coffee","organizationName":"Northwind Coffee","inviterId":"user_northwind_admin","teamId":null,"status":"pending","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z"}]}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"List invitations sent to the user","operationId":"auth_get_organization_list_user_invitations","x-dalp-auth":"session"}},"/api/auth/organization/has-permission":{"post":{"tags":["Organisations and members"],"description":"Reports whether the signed-in user has the submitted permissions in the organization. Use the result to enable or hide tenant actions. This call does not grant access by itself.","security":[{"sessionCookie":[]},{"apiKey":[]}],"parameters":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"permission":{"type":"object","description":"The permission to check","deprecated":true},"permissions":{"type":"object","description":"The permission to check"}},"required":["permissions"]}}}},"responses":{"200":{"description":"Reports whether the signed-in user has the submitted permissions in the organization.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"success":{"type":"boolean"}},"required":["success"]},"example":{"success":true}}}},"400":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"Bad Request. Usually due to missing parameters, or invalid parameters."},"401":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}},"description":"The request has no accepted session or API key. Send `X-Api-Key` or sign in, then retry."},"403":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The authenticated caller cannot perform this operation. Use a session or API key with the required organisation, role, participant, or key scope."},"404":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Not Found. The requested resource was not found."},"429":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"Too Many Requests. You have exceeded the rate limit. Try again later."},"500":{"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}},"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the `X-Request-Id` from this response if you contact support."}},"summary":"Check organization permissions","operationId":"auth_post_organization_has_permission","x-dalp-auth":"session-or-api-key"}}},"components":{"schemas":{"DALP_PUBLIC_ERROR_DATA_SCHEMA":{"type":"object","properties":{"id":{"type":"string","pattern":"^DALP-(?:\\d{4,}|[A-Z0-9]+(?:-[A-Z0-9]+)+)$","description":"Stable public error id. Branch on this value, not on the headline text.","examples":["DALP-0670"]},"why":{"type":"string","minLength":1,"description":"The condition that stopped the request, in customer terms.","examples":["Each platform user must have a unique email address."]},"fix":{"type":"string","minLength":1,"description":"The next step that unblocks the request.","examples":["Use a different email or open the existing user in User management."]},"retryable":{"type":"boolean","description":"When true, the same request can succeed later without changing inputs.","examples":[false]},"category":{"type":"string","enum":["client","auth","permission","domain","contract","dependency","operational","unknown","vendor-boundary"],"description":"Public failure family used for client branching and support routing.","examples":["client"]},"requestId":{"type":"string","description":"Request correlation id to send to support. Omit when the edge did not assign one.","examples":["req_2c8f1a4e0b7d4e11"]}},"required":["id","why","fix","retryable","category"],"allOf":[{"type":"object","additionalProperties":{"$ref":"#/components/schemas/DalpPublicJsonValue"}}],"description":"Public recovery guidance and safe error context. The object always includes `id`, `why`, `fix`, `retryable`, and `category`. Extra keys are entry-specific and never include secrets or stack traces.","examples":[{"id":"DALP-0670","why":"Each platform user must have a unique email address.","fix":"Use a different email or open the existing user in User management.","retryable":false,"category":"client","requestId":"req_2c8f1a4e0b7d4e11"}]},"DalpPublicJsonValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"},{"type":"array","items":{"$ref":"#/components/schemas/DalpPublicJsonValue"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/DalpPublicJsonValue"}}],"description":"JSON-safe public error field. Never a function, Date, secret, or stack trace."},"TimestampEncoded":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"OrganizationId":{"type":"string","minLength":1,"description":"Tenant organization identifier"},"webhookReceiptFieldsQuery":{"type":"object","properties":{"webhookReceipt":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the webhookReceipt resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"webhookReceipt":"id,deliveryId,evtId,endpointId,receivedAt,verifiedAt,verificationFailureClass"}]},"CursorPageQuery":{"type":"object","properties":{"offset":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"limit":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"WebhookReceiptFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"evtId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"endpointId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"receivedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"verifiedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"verificationFailureClass":{"anyOf":[{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},{"type":"object","properties":{"eq":{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},"ne":{"type":"string","enum":["RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"WebhookDeliveryChart":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"],"description":"The delivery health of the drawn window: no_data without an endpoint or a settled attempt, outage when every active endpoint is failing or the success rate is below 80%, degraded when an endpoint is failing or the success rate is below 99%, otherwise operational. An endpoint filter limits the endpoints counted."},"failureClasses":{"type":"array","items":{"type":"object","properties":{"failureClass":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["failureClass","count"],"additionalProperties":false},"description":"The failed attempts of the drawn window, counted by failure class, largest first. The counts sum to the failed attempts of the points."}},"required":["range","grain","points","figure","meta","verdict","failureClasses"],"additionalProperties":false},"PlatformChartMeta":{"type":"object","properties":{"unit":{"type":"string","minLength":1},"decimals":{"type":"integer","minimum":0,"maximum":9007199254740991},"currency":{"type":"string","minLength":1},"conversionReliable":{"type":"boolean"},"truncated":{"type":"boolean","enum":[false],"description":"Always false. Decimation keeps the shape of the series, so no point is ever dropped from view."}},"required":["unit","decimals","conversionReliable","truncated"],"additionalProperties":false},"PlatformChartFigure":{"type":"object","properties":{"current":{"type":"number","description":"The headline total of the window."},"previous":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The same total over the prior period. Null unless the request sent compare=prior."},"delta":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"current minus previous. Null unless the request sent compare=prior."}},"required":["current","previous","delta"],"additionalProperties":false},"PlatformChartProjectionPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"v":{"type":"number"}},"required":["t","v"],"additionalProperties":false},"PlatformChartRef":{"type":"object","properties":{"y":{"type":"number"},"kind":{"type":"string","minLength":1},"label":{"type":"string","description":"A language-neutral name for the line. Clients label it from `kind` in the reader's language."}},"required":["y","kind","label"],"additionalProperties":false},"PlatformChartEvent":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"kind":{"type":"string","minLength":1},"label":{"type":"string"},"href":{"type":"string"}},"required":["t","kind","label"],"additionalProperties":false},"WebhookDeliveryPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"delivered":{"type":"number","description":"Attempts the receiver accepted in the bucket. An empty bucket is 0."},"failed":{"type":"number","description":"Attempts that failed in the bucket, whatever the failure class. An empty bucket is 0."},"verdict":{"type":"string","enum":["operational","degraded","outage","no_data"],"description":"The bucket's delivery health: its success rate against the degraded and outage thresholds, never worse than the window's verdict, except that the newest bucket always carries the window's verdict. A bucket with no settled attempt is no_data."}},"required":["t","delivered","failed","verdict"],"additionalProperties":false,"description":"The delivery attempts of one bucket, split into delivered and failed. Test and replayed attempts are left out."},"ChartGrain":{"type":"string","enum":["1m","5m","hour","day","week","month"],"description":"The bucket width of a chart series. Weeks start on Monday and months on the 1st, both in UTC."},"PlatformChartRange":{"type":"object","properties":{"from":{"$ref":"#/components/schemas/TimestampEncoded"},"to":{"$ref":"#/components/schemas/TimestampEncoded"},"isPreset":{"type":"boolean"}},"required":["from","to","isPreset"],"additionalProperties":false,"description":"The window the series covers. The first point is the bucket that holds `from`."},"TimestampEncoded_2":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"}]},"ChartMaxPoints":{"type":"string","enum":["60","120","240","480","960"],"description":"The most points a chart series may hold. The server picks the grain to stay within it."},"StatsRangeInterval":{"type":"string","enum":["hour","day"]},"StatsRangePreset":{"type":"string","enum":["allTime","ytd","trailing12Months","trailing6Months","trailing3Months","trailing1Month","trailing7Days","trailing24Hours"]},"BlockHeightEncoded":{"type":"string","pattern":"^-?\\d+$"},"ChainIdEncoded_1":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"webhookDeliveryFieldsQuery":{"type":"object","properties":{"webhookDelivery":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the webhookDelivery resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"webhookDelivery":"id,endpointId,evtId,eventType,attemptN,attemptedAt,status,deliveredAt"}]},"WebhookDeliveryFilters":{"type":"object","properties":{"eventType":{"anyOf":[{"type":"string"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["pending","delivered","failed"]},{"type":"object","properties":{"eq":{"type":"string","enum":["pending","delivered","failed"]},"ne":{"type":"string","enum":["pending","delivered","failed"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"failureClass":{"anyOf":[{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},{"type":"object","properties":{"eq":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"ne":{"type":"string","enum":["DNS_FAIL","TLS_FAIL","CONNECT_TIMEOUT","READ_TIMEOUT","HTTP_4XX","HTTP_4XX_RETRYABLE","HTTP_5XX","INVALID_RESPONSE","RECEIPT_TIMEOUT","RECEIPT_INVALID_SIG","RECEIPT_HASH_MISMATCH","TARGET_REFUSED"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"responseStatus":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"isReplay":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isTest":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"attemptedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"deliveredAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"UserId":{"type":"string","minLength":1,"description":"Better Auth user identifier"},"webhookEndpointFieldsQuery":{"type":"object","properties":{"webhookEndpoint":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the webhookEndpoint resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"webhookEndpoint":"id,displayName,url,defaultPayloadShape,breakerState,createdAt,updatedAt"}]},"WebhookEndpointFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"url":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"systemId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"defaultPayloadShape":{"anyOf":[{"type":"string","enum":["thin","fat"]},{"type":"object","properties":{"eq":{"type":"string","enum":["thin","fat"]},"ne":{"type":"string","enum":["thin","fat"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"breakerState":{"anyOf":[{"type":"string","enum":["closed","half_open","open"]},{"type":"object","properties":{"eq":{"type":"string","enum":["closed","half_open","open"]},"ne":{"type":"string","enum":["closed","half_open","open"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"disabled":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"TradingVenueSingleLinks":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false},"TradingVenueParticipantVenueAccess":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"admission":{"$ref":"#/components/schemas/TradingVenueParticipantAdmission"},"accountStatus":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueParticipantAccountStatus"},{"type":"null"}],"description":"The participant account status. Null when the wallet belongs to no participant account."},"participant":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueParticipantRef"},{"type":"null"}],"description":"The participant account that owns the wallet. Null when the wallet belongs to no participant account."},"broker":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueParticipantBroker"},{"type":"null"}],"description":"The broker assigned to the wallet's participant on this venue. Null when the participant is its own member."},"block":{"$ref":"#/components/schemas/TradingVenueParticipantBlock"},"claims":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantClaim"},"description":"The venue's required claim topics compared with what the wallet's identity holds."},"freezes":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantFreeze"}},"memberships":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantMembership"},"description":"The private markets whose participant list holds the wallet."},"markets":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantMarketAccess"}},"deskLimits":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantDeskLimit"}}},"required":["venueAddress","walletAddress","admission","accountStatus","participant","broker","block","claims","freezes","memberships","markets","deskLimits"],"additionalProperties":false,"description":"One participant's whole access to a venue: admission, account status, block, claims against the venue's requirements, freezes, private-market memberships, effective access per market and desk limits."},"TradingVenueParticipantDeskLimit":{"type":"object","properties":{"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"deskLabel":{"type":"string"},"quoteTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"limitQuote":{"type":"string","pattern":"^-?\\d+$"},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["marketId","deskLabel","quoteTokenAddress","limitQuote","decidedAt"],"additionalProperties":false,"description":"An approved desk limit on the wallet's open order value, per market."},"EvmAddress":{"type":"string","minLength":42,"maxLength":42,"pattern":"^0x[a-fA-F0-9]{40}$","description":"A valid Ethereum address (42 characters, starting with 0x)","examples":["0x71C7656EC7ab88b098defB751B7401B5f6d8976F"]},"MarketId":{"type":"string","minLength":1,"description":"Trading Venue market identifier"},"TradingVenueParticipantMarketAccess":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"label":{"type":"string"},"private":{"type":"boolean"},"member":{"type":"boolean","description":"Whether the wallet is on the market's participant list."},"profileId":{"type":"string"},"profileName":{"type":"string"},"canTrade":{"type":"boolean"},"canViewWatchlist":{"type":"boolean"},"canViewDepth":{"type":"boolean"},"instrumentGroups":{"type":"array","items":{"type":"string"}},"denied":{"type":"boolean","description":"Whether a market denial bars the wallet from the market."},"denialReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The operator's reason for the market denial. Null when the wallet is not denied on the market."},"deniedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the market denial was recorded. Null when the wallet is not denied on the market."}},"required":["marketId","label","private","member","profileId","profileName","canTrade","canViewWatchlist","canViewDepth","instrumentGroups","denied","denialReason","deniedAt"],"additionalProperties":false,"description":"The wallet's effective access on one market of the venue: the profile, the overrides and any denial applied."},"TradingVenueParticipantMembership":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"label":{"type":"string"},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"joinedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["marketId","label","classification","joinedAt"],"additionalProperties":false},"TradingVenueParticipantFreeze":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"addressFrozen":{"type":"boolean","description":"Whether the whole address is frozen on the security."},"frozenAmount":{"type":"string","description":"The partially frozen amount in the security's base units."}},"required":["tokenAddress","symbol","addressFrozen","frozenAmount"],"additionalProperties":false,"description":"A freeze on the wallet for one security listed on the venue."},"TradingVenueParticipantClaim":{"type":"object","properties":{"topic":{"type":"string","description":"A claim topic id the venue requires, as a decimal string."},"held":{"type":"boolean","description":"Whether the wallet's identity holds a valid claim on the topic."}},"required":["topic","held"],"additionalProperties":false},"TradingVenueParticipantBlock":{"type":"object","properties":{"blocked":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},{"type":"null"}]},"blockedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["blocked","reason","blockedAt"],"additionalProperties":false},"TradingVenueOperatorReasonEncoded":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"},"TradingVenueParticipantBroker":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The broker's name. Null when it has none."},"assignedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["participantId","name","assignedAt"],"additionalProperties":false,"description":"The broker the venue operator assigned to the wallet's participant. Orders from every wallet of that participant show this broker as their member."},"ParticipantId":{"type":"string","minLength":1,"description":"Participant identifier"},"TradingVenueParticipantRef":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The participant's name. Null when it has none."}},"required":["participantId","name"],"additionalProperties":false,"description":"The participant account that owns the wallet."},"TradingVenueParticipantAccountStatus":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ParticipantAccountStatus"},"restrictions":{"$ref":"#/components/schemas/ParticipantStatusRestrictions"}},"required":["status","restrictions"],"additionalProperties":false,"description":"The participant account status and the functions it restricts."},"ParticipantStatusRestrictions":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantFunctionRestriction"},"maxItems":3},"ParticipantFunctionRestriction":{"type":"string","enum":["trading","securities-transfers","withdrawals"]},"ParticipantAccountStatus":{"type":"string","enum":["active","restricted","suspended","closed","terminated"]},"TradingVenueParticipantAdmission":{"type":"object","properties":{"identityAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The identity contract registered for the wallet. Null when the wallet has no registered identity."},"admitted":{"type":"boolean","description":"Whether the wallet meets the venue's admission policy: every required claim and, when required, membership."},"refusal":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionRefusal"},{"type":"null"}]},"member":{"type":"boolean","description":"Whether the wallet's identity is on the venue's member list."},"requireMembership":{"type":"boolean"},"visibility":{"type":"string","enum":["discoverable","admitted-only"]}},"required":["identityAddress","admitted","refusal","member","requireMembership","visibility"],"additionalProperties":false},"TradingVenueAdmissionRefusal":{"type":"string","enum":["unregistered","not-admitted"],"description":"Why the venue does not admit the wallet: unregistered when it has no identity in the system registry, not-admitted when its identity lacks a required claim or membership."},"TradingVenueParticipantAccessPatch":{"type":"object","properties":{"brokerParticipantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}],"description":"The participant that becomes the broker of the wallet's participant. Null clears the broker, so the participant is its own member again."},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["brokerParticipantId","reason"],"additionalProperties":false},"WalletVerification":{"type":"object","properties":{"secretVerificationCode":{"type":"string","minLength":1,"description":"Code produced by the verification method named in `verificationType`.","examples":["482913"]},"verificationType":{"anyOf":[{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"]},{"type":"null"}]}},"required":["secretVerificationCode"],"additionalProperties":false},"TradingVenueParticipantAccess":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"profileId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"profiles":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueAccessProfileSummary"}},"overrides":{"$ref":"#/components/schemas/TradingVenueParticipantAccessOverrides"},"effective":{"$ref":"#/components/schemas/TradingVenueEffectiveParticipantAccess"}},"required":["marketId","walletAddress","profileId","profiles","overrides","effective"],"additionalProperties":false,"description":"One participant's access on one market: the assigned profile, the profiles the market offers, the participant's overrides and the resulting effective access."},"TradingVenueEffectiveParticipantAccess":{"type":"object","properties":{"canTrade":{"type":"boolean"},"canViewWatchlist":{"type":"boolean"},"canViewDepth":{"type":"boolean"},"instrumentGroups":{"type":"array","items":{"type":"string"}},"denied":{"type":"boolean"}},"required":["canTrade","canViewWatchlist","canViewDepth","instrumentGroups","denied"],"additionalProperties":false,"description":"What the participant gets on the market after the profile, the overrides, market membership and any market denial."},"TradingVenueParticipantAccessOverrides":{"type":"object","properties":{"canTrade":{"type":"boolean"},"canViewWatchlist":{"type":"boolean"},"canViewDepth":{"type":"boolean"},"instrumentGroups":{"$ref":"#/components/schemas/TradingVenueAccessInstrumentGroups"}},"additionalProperties":false,"description":"The participant's own settings. A field left out follows the assigned access profile; a field present replaces the profile's value."},"TradingVenueAccessInstrumentGroups":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/TradingVenueAccessInstrumentGroup"}],"minItems":1,"items":{"$ref":"#/components/schemas/TradingVenueAccessInstrumentGroup"},"description":"The instrument groups the participant may trade. At least one entry; a repeated entry changes nothing. \"all\" permits every group. A market that has no group is always permitted."},"TradingVenueAccessInstrumentGroup":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueInstrumentGroupCode"},{"type":"string","enum":["all"]}],"description":"A venue instrument group code, or \"all\" for every group."},"TradingVenueInstrumentGroupCode":{"type":"string","pattern":"^[A-Z][A-Z0-9_-]{0,15}$","description":"The venue's short code for the group, such as EQ or FI. Unique within the venue.","examples":["EQ"]},"TradingVenueAccessProfileSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"name":{"type":"string","minLength":1},"canTrade":{"type":"boolean"},"canViewWatchlist":{"type":"boolean"},"canViewDepth":{"type":"boolean"},"instrumentGroups":{"type":"array","items":{"type":"string"}}},"required":["id","name","canTrade","canViewWatchlist","canViewDepth","instrumentGroups"],"additionalProperties":false,"description":"A market's access profile: the default settings of the participants assigned to it."},"TradingVenueParticipantAccessPut":{"type":"object","properties":{"profileId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"overrides":{"$ref":"#/components/schemas/TradingVenueParticipantAccessOverrides"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["profileId","overrides","reason"],"additionalProperties":false,"description":"Replaces the participant's access on the market: the assigned profile and every override. Overrides left out are cleared."},"TradingVenueMarketDenialLifted":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["marketId","walletAddress"],"additionalProperties":false},"TradingVenueMarketDenial":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"actor":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["marketId","walletAddress","reason","actor","createdAt"],"additionalProperties":false,"description":"A wallet barred from one market: it cannot see the market or place orders on it. Other markets are unaffected."},"TradingVenueMarketDenialCreateRequest":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["walletAddress","reason"],"additionalProperties":false},"TradingVenueCollectionLinks":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"TradingVenueCollectionMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"more":{"type":"boolean"},"nextCursor":{"type":"string"}},"required":["total"],"additionalProperties":false},"TradingVenueOrderMassCancelApproval":{"type":"object","properties":{"id":{"type":"string","minLength":1},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"filter":{"$ref":"#/components/schemas/TradingVenueOrderMassCancelFilter"},"reason":{"type":"string"},"state":{"type":"string","enum":["proposed","approved","executing","rejected","executed","failed","reconciliation-required","expired"]},"expectedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"executedCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"batchIds":{"type":"array","items":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"stopped":{"type":"boolean"},"proposerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"executedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","venueAddress","filter","reason","state","expectedCount","executedCount","batchIds","stopped","proposerUserId","checkerUserId","expiresAt","decidedAt","executedAt","createdAt"],"additionalProperties":false,"description":"A maker-checker approval to cancel the open orders that match a filter. expectedCount is the server's count at proposal time, open and reserved orders together; executedCount, which counts the withdrawn reserved orders too, and batchIds fill in once the approval ran. stopped is true for an executing approval decided over an hour ago, whose run never finished. expiresAt is the instant a proposed approval lapses: after it the approval can no longer be approved or rejected and becomes expired. It is null for an approval that needed no checker."},"TradingVenueOrderMassCancelFilter":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"makerAddress":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}},"additionalProperties":false,"description":"The open orders a venue operator mass-cancels. Every field narrows the match, and an empty filter matches every open order on the venue."},"TradingVenueOrderMassCancelDecision":{"type":"object","properties":{"decision":{"type":"string","enum":["approve","reject"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["decision"],"additionalProperties":false,"description":"The checker's decision on the mass-cancel approval named in the path."},"TradingVenueOrderMassCancelProposal":{"type":"object","properties":{"filter":{"$ref":"#/components/schemas/TradingVenueOrderMassCancelFilter"},"reason":{"type":"string","minLength":3,"maxLength":500}},"required":["filter","reason"],"additionalProperties":false,"description":"A request to cancel every open order that matches the filter. The server counts the matches; the request carries no count."},"TradingVenueOpenOrderSummary":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reserved":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"markets":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueOpenOrderMarketCount"}}},"required":["total","reserved","markets"],"additionalProperties":false,"description":"How many open orders a mass-cancel filter matches on the venue, in total and per market. reserved counts the orders that still hold their balance and have not reached the order book; the run withdraws them too. A side filter matches a reserved order by the token it holds, and a filter that names an order type or time in force matches no reserved order, because a reservation does not record them."},"TradingVenueOpenOrderMarketCount":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["marketId","total"],"additionalProperties":false,"description":"The number of open orders one market holds that match the filter."},"TradingVenueCancelledOrder":{"type":"object","properties":{"orderId":{"$ref":"#/components/schemas/OrderId"},"makerAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"$ref":"#/components/schemas/MarketId"},"side":{"type":"string","enum":["buy","sell"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"openQuantity":{"type":"string","pattern":"^-?\\d+$"},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"placedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"cancelledAt":{"$ref":"#/components/schemas/TimestampEncoded"},"cancelReason":{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},"reason":{"type":"string"}},"required":["orderId","makerAddress","marketId","side","priceTick","openQuantity","timeInForce","expiresAt","placedAt","cancelledAt","cancelReason","reason"],"additionalProperties":false,"description":"An order a mass cancel closed: its maker, market, side, price, the quantity still open when it was cancelled, its validity, when it was placed and cancelled, and why."},"OrderId":{"type":"string","minLength":1,"description":"Trading Venue order identifier"},"TradingVenueCancellationBatch":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"$ref":"#/components/schemas/TradingVenueCancellationBatchKind"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"reason":{"type":"string"},"actor":{"$ref":"#/components/schemas/UserId"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","venueAddress","kind","marketId","walletAddress","reason","actor","count","createdAt"],"additionalProperties":false,"description":"One operator mass cancel: what triggered it, the market or wallet it targeted, the operator's reason, who ran it and how many orders it cancelled."},"TradingVenueCancellationBatchKind":{"type":"string","enum":["delist","suspend","participant-cancel-all","participant-block","private-market-removal","operator-mass-cancel"],"description":"The operator action that cancelled the orders: a market delisted or suspended, a participant's orders cancelled or the participant blocked, a wallet removed from a private market, or an approved operator mass cancel."},"TradingVenueReportFileName":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_-]*\\.csv$","description":"A report file name as the report files list returns it."},"TradingVenueTradingDay_1":{"type":"string","pattern":"^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])$","description":"A UTC trading day as YYYY-MM-DD."},"TradingVenueReportFiles":{"type":"object","properties":{"tradingDay":{"$ref":"#/components/schemas/TradingVenueTradingDay_1"},"format":{"type":"string","enum":["valcsv","olc"]},"reports":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"issues":{"type":"array","items":{"type":"string"}},"files":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueReportFile"}}},"required":["tradingDay","format","reports","issues","files"],"additionalProperties":false,"description":"The VALCSV or OLC files one trading day produces. files stays empty while issues is not, and each issue names what blocks the day."},"TradingVenueReportFile":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/TradingVenueReportFileName"},"bytes":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","bytes"],"additionalProperties":false},"TradingVenueReportReplayRequest":{"type":"object","properties":{"id":{"type":"string"},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"enqueuedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reportCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["id","requestedAt","enqueuedAt","reportCount"],"additionalProperties":false,"description":"A request to resend one trading day over the FIX drop copy. enqueuedAt and reportCount stay null until the drop-copy session has queued the day."},"TradingVenueReportReplay":{"type":"object","properties":{"tradingDay":{"$ref":"#/components/schemas/TradingVenueTradingDay_1"},"ended":{"type":"boolean"},"regenerated":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"stored":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"differing":{"type":"array","items":{"type":"string"}},"issues":{"type":"array","items":{"type":"string"}},"request":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueReportReplayRequest"},{"type":"null"}]}},"required":["tradingDay","ended","regenerated","stored","differing","issues","request"],"additionalProperties":false,"description":"What a FIX replay of one trading day would send: reports regenerated from the venue log, reports stored from the first send, the exec ids whose stored body differs, and the latest replay request for the day."},"TradingVenueAnnouncementAttachment":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"fileName":{"type":"string","minLength":1,"maxLength":255},"contentType":{"type":"string","enum":["application/pdf"]},"size":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["id","fileName","contentType","size","sha256"],"additionalProperties":false,"description":"A PDF an operator attached to an announcement. `sha256` is the lower-case SHA-256 of the bytes the attachment download returns."},"TradingVenueAnnouncementAttachmentCreateRequest":{"type":"object","properties":{"fileName":{"type":"string","minLength":1,"maxLength":255},"fileData":{"type":"string","minLength":1,"maxLength":13981016},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["fileName","fileData"],"additionalProperties":false},"TradingVenueAnnouncementWarning":{"type":"object","properties":{"code":{"type":"string","enum":["OUTSIDE_PUBLICATION_WINDOW"]},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},"TradingVenueAnnouncement":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"securityAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"marketTransition":{"anyOf":[{"type":"string","enum":["halted","live","delisted"],"description":"The market status change the venue wrote this notice for: `halted`, `live` for a resume, or `delisted`. Null for a notice an operator wrote."},{"type":"null"}]},"title":{"type":"string","minLength":1,"maxLength":200},"body":{"type":"string","minLength":1,"maxLength":10000},"generatedNotice":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAnnouncementGeneratedNotice"},{"type":"null"}]},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"status":{"type":"string","enum":["published","withdrawn","scheduled","pending-approval"]},"announcementDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"displayFrom":{"$ref":"#/components/schemas/TimestampEncoded"},"displayUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"publishedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"publishedBy":{"$ref":"#/components/schemas/UserId"},"withdrawnAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"withdrawnBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"attachments":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueAnnouncementAttachment"}},"participantIds":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantId"},"description":"The participants this notice is addressed to; empty means everyone the notice would otherwise reach. Returned to the venue's operators only, so an addressee never learns who else was named."}},"required":["id","venueAddress","marketId","title","body","category","severity","status","announcementDate","displayFrom","displayUntil","publishedAt","publishedBy","withdrawnAt","withdrawnBy","updatedAt","attachments"],"additionalProperties":false,"description":"A notice an operator published to a venue's investors. A venue-wide notice has no market; a market notice on a private market reaches only that market's participants and operators. A `scheduled` notice goes live at `displayFrom`. The list shows participants a `published` notice from `displayFrom` until `displayUntil`; after `displayUntil` it stays readable as history, and `filter[history]` lists it. Participants never receive a `withdrawn` notice, while the venue's operators keep every notice. `updatedAt` is when an operator last edited the notice, or null when it was never edited."},"TradingVenueCalendarDate":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"TradingVenueAnnouncementGeneratedNotice":{"type":"object","properties":{"marketTransition":{"type":"string","enum":["halted","live","delisted"],"description":"The transition the venue composed the sentence for: `halted`, `live` for a resume, or `delisted`."},"marketLabel":{"type":"string","minLength":1,"description":"The market's label when the venue composed the notice, for the sentence in the reader's language."},"reason":{"type":"string","minLength":1,"description":"The operator's reason for the transition, for the sentence in the reader's language."},"generatedTitle":{"type":"boolean","description":"True when the venue composed `title` from its own sentence rather than the operator's text, so a reader renders it in their language."},"generatedBody":{"type":"boolean","description":"True when the venue composed `body` from its own sentence rather than the operator's text, so a reader renders it in their language."}},"required":["marketTransition","marketLabel","reason","generatedTitle","generatedBody"],"additionalProperties":false,"description":"The parts of a market-transition notice the venue composed itself, so a reader can render them in its own language. A stored sentence cannot know who reads it: `title` and `body` keep the English default for API consumers, and a surface that shows the notice to a person builds the sentence from this when the matching flag is true. Null for a notice an operator wrote in full."},"TradingVenueAnnouncementApproveRequest":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"TradingVenueAnnouncementEditRequest":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"body":{"type":"string","minLength":1,"maxLength":10000},"severity":{"type":"string","enum":["info","warning","critical"]},"displayUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false,"description":"An edit to a published announcement. Send only the fields that change; `displayUntil: null` keeps the notice on display with no end. The venue stores the replaced values with `reason` as a revision, and participants see the notice marked as updated."},"TradingVenueAnnouncementWithdrawRequest":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"TradingVenueAnnouncementPublishRequest":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"$ref":"#/components/schemas/MarketId"},"securityAddress":{"$ref":"#/components/schemas/EvmAddress"},"title":{"type":"string","minLength":1,"maxLength":200},"body":{"type":"string","minLength":1,"maxLength":10000},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"announcementDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate_4"},"displayFrom":{"$ref":"#/components/schemas/TimestampEncoded"},"displayUntil":{"$ref":"#/components/schemas/TimestampEncoded"},"attachment":{"$ref":"#/components/schemas/TradingVenueAnnouncementAttachmentUpload"},"participantIds":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantId"},"maxItems":100,"uniqueItems":true,"description":"Addresses the notice to these participants of the organisation, who alone see it and are notified. Omitted or empty keeps it for everyone it would otherwise reach. On a private market each participant must hold a wallet on that market."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["venueAddress","title","body","category","severity"],"additionalProperties":false},"TradingVenueAnnouncementAttachmentUpload":{"type":"object","properties":{"fileName":{"type":"string","minLength":1,"maxLength":255},"fileData":{"type":"string","minLength":1,"maxLength":13981016}},"required":["fileName","fileData"],"additionalProperties":false,"description":"A PDF to attach to an announcement: its file name, which ends in `.pdf`, and its bytes as standard base64. The venue refuses a file that is not a PDF or is larger than its configured limit."},"TradingVenueCalendarDate_4":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"TradingVenueAnnouncementListFilter":{"type":"object","properties":{"history":{"type":"string","enum":["true"],"description":"Lists the notices that have gone on display, including those whose display window has ended, whoever asks. Withdrawn, scheduled and pending-approval notices never appear. Omit it for the notices the caller sees now."},"category":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"marketId":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"announcementDate":{"$ref":"#/components/schemas/TradingVenueAnnouncementDateRange"}},"additionalProperties":false},"TradingVenueAnnouncementDateRange":{"type":"object","properties":{"gte":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"lt":{"$ref":"#/components/schemas/TradingVenueCalendarDate"}},"additionalProperties":false,"description":"Keeps notices whose announcement date is on or after `gte` and before `lt`."},"TradingVenueAlertDefaults":{"type":"object","properties":{"defaults":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueAlertSetting"}}},"required":["defaults"],"additionalProperties":false,"description":"The organisation default for every alert kind and channel. A participant's own choice overrides it."},"TradingVenueAlertSetting":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/TradingVenueAlertKind"},"channel":{"$ref":"#/components/schemas/TradingVenueAlertChannel"},"enabled":{"type":"boolean"}},"required":["kind","channel","enabled"],"additionalProperties":false},"TradingVenueAlertChannel":{"type":"string","enum":["email"],"description":"Where an alert is sent besides the venue notification list. Email is the only channel. Every alert is always in the recipient's notification list."},"TradingVenueAlertKind":{"type":"string","enum":["order-fill","order-status","price-alert","announcement","corporate-action"],"description":"What an alert is about. order-fill is an order that filled or partly filled; order-status is any other change to an order, including a refusal at entry."},"TradingVenueAlertDefaultsWrite":{"type":"object","properties":{"defaults":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/TradingVenueAlertSetting"}],"minItems":1,"items":{"$ref":"#/components/schemas/TradingVenueAlertSetting"}}},"required":["defaults"],"additionalProperties":false,"description":"Changes the listed organisation defaults only. Defaults that are not listed keep their value."},"TradingVenueAlertPreferences":{"type":"object","properties":{"preferences":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueAlertPreference"}}},"required":["preferences"],"additionalProperties":false,"description":"The caller's setting for every alert kind and channel, with who decided each one."},"TradingVenueAlertPreference":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/TradingVenueAlertKind"},"channel":{"$ref":"#/components/schemas/TradingVenueAlertChannel"},"enabled":{"type":"boolean"},"source":{"$ref":"#/components/schemas/TradingVenueAlertPreferenceSource"}},"required":["kind","channel","enabled","source"],"additionalProperties":false},"TradingVenueAlertPreferenceSource":{"type":"string","enum":["user","organization","platform"],"description":"Who decided the setting: user is the participant's own choice, organization is the organisation default, platform is the built-in default (off)."},"TradingVenueAlertPreferencesWrite":{"type":"object","properties":{"preferences":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/TradingVenueAlertPreferenceChange"}],"minItems":1,"items":{"$ref":"#/components/schemas/TradingVenueAlertPreferenceChange"}}},"required":["preferences"],"additionalProperties":false,"description":"Changes the listed settings only. Settings that are not listed keep their value."},"TradingVenueAlertPreferenceChange":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/TradingVenueAlertKind"},"channel":{"$ref":"#/components/schemas/TradingVenueAlertChannel"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["kind","channel","enabled"],"additionalProperties":false,"description":"enabled null drops the caller's own choice, so the organisation default applies again."},"TradingVenueNotificationsTransition":{"type":"object","properties":{"read":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many notifications this transition marked read."}},"required":["read"],"additionalProperties":false},"TradingVenueNotificationsTransitionRequest":{"type":"object","properties":{"to":{"type":"string","enum":["read"]}},"required":["to"],"additionalProperties":false,"description":"Marks every unread notification of the caller read."},"TradingVenueNotification":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderStatusNotification"},{"$ref":"#/components/schemas/TradingVenuePriceAlertNotification"},{"$ref":"#/components/schemas/TradingVenueAnnouncementNotification"},{"$ref":"#/components/schemas/TradingVenueCorporateActionNotification"}],"description":"One event in the caller's notification centre. Notifications are kept for 90 days.","discriminator":{"propertyName":"kind","mapping":{"order-status":"#/components/schemas/TradingVenueOrderStatusNotification","price-alert":"#/components/schemas/TradingVenuePriceAlertNotification","announcement":"#/components/schemas/TradingVenueAnnouncementNotification","corporate-action":"#/components/schemas/TradingVenueCorporateActionNotification"}}},"TradingVenueCorporateActionNotification":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"readAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"kind":{"type":"string","enum":["corporate-action"]},"payload":{"$ref":"#/components/schemas/TradingVenueAnnouncementNotificationPayload"}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":false},"TradingVenueAnnouncementNotificationPayload":{"type":"object","properties":{"announcementId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"title":{"type":"string"},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"alert":{"$ref":"#/components/schemas/TradingVenueAnnouncementAlert_1"}},"required":["announcementId","title","category","severity","alert"],"additionalProperties":false},"TradingVenueAnnouncementAlert_1":{"type":"object","properties":{"flash":{"type":"boolean","description":"When true, the trading screen flashes a newly published announcement at or above minSeverity."},"minSeverity":{"type":"string","enum":["info","warning","critical"],"description":"The lowest severity that flashes. Announcements below it still update the announcement banner."}},"required":["flash","minSeverity"],"additionalProperties":false,"description":"The venue's announcement alert setting when it was published."},"TradingVenueAnnouncementNotification":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"readAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"kind":{"type":"string","enum":["announcement"]},"payload":{"$ref":"#/components/schemas/TradingVenueAnnouncementNotificationPayload"}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":false},"TradingVenuePriceAlertNotification":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"readAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"kind":{"type":"string","enum":["price-alert"]},"payload":{"$ref":"#/components/schemas/TradingVenuePriceAlertNotificationPayload"}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":false},"TradingVenuePriceAlertNotificationPayload":{"type":"object","properties":{"alertId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"direction":{"type":"string","enum":["above","below"]},"thresholdTick":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["alertId","direction","thresholdTick","priceTick"],"additionalProperties":false},"TradingVenueOrderStatusNotification":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"readAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"kind":{"type":"string","enum":["order-status"]},"payload":{"$ref":"#/components/schemas/TradingVenueOrderStatusNotificationPayload"}},"required":["id","venueAddress","marketId","createdAt","readAt","kind","payload"],"additionalProperties":false},"TradingVenueOrderStatusNotificationPayload":{"type":"object","properties":{"orderId":{"$ref":"#/components/schemas/OrderId"},"side":{"type":"string","enum":["buy","sell"]},"status":{"$ref":"#/components/schemas/TradingVenueNotifiedOrderStatus"},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"refusalReason":{"anyOf":[{"type":"string","enum":["rate-limit","open-order-cap","market-not-live","market-halted","market-suspended","venue-paused","unregistered-wallet","ineligible-wallet","suspended-wallet","identity-not-verified","wallet-not-admitted","desk-limit-exceeded","authorization-insufficient","max-fee-below-schedule","fee-cap-above-venue-maximum","signature-invalid","expired","invalid-order","idempotency-key-reused","static-band","dynamic-band","floor-price","above-price-band","below-price-band","no-band-anchor","max-quantity","max-notional","min-notional","not-market-participant","order-type-not-allowed","time-in-force-not-allowed","fok-outside-continuous","nationality-restricted","custody-approval-closed","units-time-locked","participant-suspended","participant-closed","participant-terminated","participant-trading-restricted","participant-blocked","market-access-denied","instrument-group-not-permitted","lot-size-mismatch","below-min-notional","below-min-quantity","market-not-visible","residence-restricted","gtd-date-not-trading-day","maturity-cutoff-reached","reservation-refused"]},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["orderId","side","status","closeReason","closeActor","refusalReason","quantity","filledQuantity","remainingQuantity"],"additionalProperties":false},"TradingVenueNotifiedOrderStatus":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended","refused"],"description":"The order's status when it was notified. refused means intake turned the order away at entry."},"TradingVenueNotificationTransitionRequest":{"type":"object","properties":{"to":{"type":"string","enum":["read"]}},"required":["to"],"additionalProperties":false,"description":"Marks the notification read. Marking a read notification again keeps its first read time."},"TradingVenueConfigApproval":{"type":"object","properties":{"id":{"type":"string","minLength":1},"approvalId":{"type":"string","minLength":1},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"commandType":{"$ref":"#/components/schemas/TradingVenueConfigCommandType"},"requiredRole":{"$ref":"#/components/schemas/TradingVenueConfigRequiredRole"},"subjectId":{"type":"string"},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"beforeSnapshot":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"state":{"type":"string","enum":["proposed","approved","executing","rejected","executed","failed","reconciliation-required","expired"]},"reason":{"type":"string","minLength":1},"proposerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"executionTransactionId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","approvalId","venueAddress","chainId","commandType","requiredRole","subjectId","payload","beforeSnapshot","state","reason","proposerUserId","checkerUserId","decidedAt","createdAt","expiresAt","failureReason","executionTransactionId"],"additionalProperties":false},"JsonValue":{"anyOf":[{"type":"null"},{"type":"boolean"},{"type":"number"},{"type":"string"},{"type":"array","items":{"$ref":"#/components/schemas/JsonValue"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}]},"TradingVenueConfigRequiredRole":{"type":"string","enum":["admin","operator"]},"TradingVenueConfigCommandType":{"type":"string","enum":["venue-calendar","venue-closure","market-calendar","collection-windows","market-bands","market-update","market-fees","market-transition","market-participant-remove","venue-price-band","venue-listing-rules","venue-vat-policy","venue-retention-policy","venue-maker-checker","venue-fee-tiers","venue-transition","venue-admission","market-limits","market-order-types","market-closing-method","market-emergency-halt","market-scheduled-transition","market-pending-change","market-listing"]},"TradingVenueRetentionPolicy":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"retentionYears":{"anyOf":[{"type":"integer","minimum":1,"maximum":100,"description":"Whole years a venue keeps its settled orders, order events and trades before archiving and deleting them."},{"type":"null"}],"description":"`null` keeps every record forever; nothing is archived or deleted."}},"required":["venueAddress","retentionYears"],"additionalProperties":false},"TradingVenueRetentionPolicyUpdate":{"type":"object","properties":{"retentionYears":{"anyOf":[{"type":"integer","minimum":1,"maximum":100,"description":"Whole years a venue keeps its settled orders, order events and trades before archiving and deleting them."},{"type":"null"}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["retentionYears"],"additionalProperties":false},"TradingVenueRetentionPreview":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"retentionYears":{"type":"integer","minimum":1,"maximum":100,"description":"Whole years a venue keeps its settled orders, order events and trades before archiving and deleting them."},"orders":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Orders the next monthly run would archive and then delete."},"orderEvents":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Order events the next monthly run would archive and then delete."},"trades":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Trades the next monthly run would archive and then delete."}},"required":["venueAddress","retentionYears","orders","orderEvents","trades"],"additionalProperties":false,"description":"Counts at the time of the request. Records under a legal hold are left out, as the run skips them."},"TradingVenuePriceAlert":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAbsolutePriceAlert"},{"$ref":"#/components/schemas/TradingVenuePercentMovePriceAlert"}],"discriminator":{"propertyName":"kind","mapping":{"absolute":"#/components/schemas/TradingVenueAbsolutePriceAlert","percent-move":"#/components/schemas/TradingVenuePercentMovePriceAlert"}}},"TradingVenuePercentMovePriceAlert":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"marketId":{"$ref":"#/components/schemas/MarketId"},"direction":{"type":"string","enum":["above","below"]},"status":{"type":"string","enum":["active","triggered"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"triggeredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"triggeredPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"kind":{"type":"string","enum":["percent-move"]},"moveBps":{"$ref":"#/components/schemas/TradingVenuePriceAlertMoveBps"},"thresholdTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The tick the alert fires at: the previous official close moved by the percentage, or the tick it fired at once triggered. Null while the market has no previous official close."}},"required":["id","marketId","direction","status","createdAt","triggeredAt","triggeredPriceTick","kind","moveBps","thresholdTick"],"additionalProperties":false,"description":"An alert on a signed percentage move from the previous official close. The direction follows the sign: a rise is above, a fall is below. The target is resolved again whenever a new session closes."},"TradingVenuePriceAlertMoveBps":{"type":"integer","minimum":-9999,"maximum":100000},"TradingVenueAbsolutePriceAlert":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"marketId":{"$ref":"#/components/schemas/MarketId"},"direction":{"type":"string","enum":["above","below"]},"status":{"type":"string","enum":["active","triggered"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"triggeredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"triggeredPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"kind":{"type":"string","enum":["absolute"]},"thresholdTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["id","marketId","direction","status","createdAt","triggeredAt","triggeredPriceTick","kind","thresholdTick"],"additionalProperties":false,"description":"An alert on a fixed price level. An above alert fires on a print at or over the threshold tick, a below alert on a print at or under it, once."},"TradingVenuePriceAlertUpdateRequest":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["absolute"]},"direction":{"type":"string","enum":["above","below"]},"thresholdTick":{"type":"string","pattern":"^-?\\d+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["kind","direction","thresholdTick"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["percent-move"]},"moveBps":{"$ref":"#/components/schemas/TradingVenuePriceAlertMoveBps"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["kind","moveBps"],"additionalProperties":false}],"description":"The new condition of an active alert. The edit may switch the kind. The market never changes, and the edit clears any trigger state."},"TradingVenuePriceAlertCreateRequest":{"anyOf":[{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"kind":{"type":"string","enum":["absolute"]},"direction":{"type":"string","enum":["above","below"]},"thresholdTick":{"type":"string","pattern":"^-?\\d+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["marketId","kind","direction","thresholdTick"],"additionalProperties":false},{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"kind":{"type":"string","enum":["percent-move"]},"moveBps":{"$ref":"#/components/schemas/TradingVenuePriceAlertMoveBps"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["marketId","kind","moveBps"],"additionalProperties":false}]},"TradingVenueQueuedMutation":{"type":"object","properties":{"transactionId":{"type":"string","minLength":1},"status":{"type":"string","minLength":1},"statusUrl":{"type":"string","minLength":1}},"required":["transactionId","status","statusUrl"],"additionalProperties":false},"TradingVenueConfigApprovalDecided":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueConfigApproval"},"bandsFailure":{"$ref":"#/components/schemas/TradingVenueMarketBandsFailure"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"TradingVenueMarketBandsFailure":{"type":"object","properties":{"id":{"type":"string"},"message":{"type":"string"}},"required":["message"],"additionalProperties":false,"description":"The price-band settings sent with a listing could not be applied after the market was listed; send them again with the price-band update. `id` is the registered DALP error id of the refusal and is absent when none is registered.","examples":[{"id":"DALP-14059","message":"The dynamic reference is invalid"}]},"TradingVenueConfigApprovalDecisionRequest":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1},"decision":{"type":"string","enum":["approve","reject"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["approvalId","decision"],"additionalProperties":false},"TradingVenueMakerCheckerSettings":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"makerCheckerRequired":{"type":"boolean"},"allowEmergencyHaltWithoutApproval":{"type":"boolean"}},"required":["venueAddress","makerCheckerRequired","allowEmergencyHaltWithoutApproval"],"additionalProperties":false},"TradingVenueMakerCheckerUpdate":{"type":"object","properties":{"makerCheckerRequired":{"type":"boolean"},"allowEmergencyHaltWithoutApproval":{"type":"boolean"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["makerCheckerRequired"],"additionalProperties":false},"TradingVenueFeeTierLadder":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"version":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Saved version of the ladder. Null while the venue has none, which reads back as an empty ladder."},"windowDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Rolling volume window in days, 1 to 365. 30 when no ladder is saved."},"tiers":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueFeeTier"},"description":"At most 8 tiers with strictly ascending thresholds and non-decreasing discounts. An empty ladder grants no discount."},"recordedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"recordedBy":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User who recorded this version."}},"required":["venueAddress","quoteTokenAddress","version","windowDays","tiers","recordedAt","recordedBy"],"additionalProperties":false},"TradingVenueFeeTier":{"type":"object","properties":{"thresholdQuoteUnits":{"type":"string","pattern":"^-?\\d+$"},"discountBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Discount on the transaction fee in basis points of the fee: 1000 takes 10% off. 0 to 10000."}},"required":["thresholdQuoteUnits","discountBps"],"additionalProperties":false},"TradingVenueFeeTierUpdate":{"type":"object","properties":{"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"fromVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Version this edit starts from; null when no ladder is saved yet. A stale value is refused."},"windowDays":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Rolling volume window in days, 1 to 365. 30 when no ladder is saved."},"tiers":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueFeeTier"},"description":"At most 8 tiers with strictly ascending thresholds and non-decreasing discounts. An empty ladder grants no discount."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["quoteTokenAddress","fromVersion","windowDays","tiers"],"additionalProperties":false},"TradingVenueFeeTierPreview":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"version":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Ladder version the tier was resolved against."},"volume":{"type":"string","pattern":"^-?\\d+$"},"tier":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1-based position of the highest tier the volume reaches. 0 when no tier is reached."},"discountBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Discount that tier grants, in basis points of the fee."},"windowStart":{"$ref":"#/components/schemas/TimestampEncoded"},"windowEnd":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["venueAddress","quoteTokenAddress","walletAddress","version","volume","tier","discountBps","windowStart","windowEnd"],"additionalProperties":false},"TradingVenueVatPolicy":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"vatRateBps":{"$ref":"#/components/schemas/FeeRateBps"},"vatApplicable":{"type":"boolean"},"vatOnChain":{"type":"boolean"},"vatRecipient":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"zeroRatedParticipants":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueVatZeroRatedParticipant"}}},"required":["venueAddress","vatRateBps","vatApplicable","vatOnChain","vatRecipient","zeroRatedParticipants"],"additionalProperties":false},"TradingVenueVatZeroRatedParticipant":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"actor":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["walletAddress","reason","actor","createdAt"],"additionalProperties":false},"FeeRateBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"TradingVenueVatPolicyUpdate":{"type":"object","properties":{"vatRateBps":{"$ref":"#/components/schemas/FeeRateBps"},"vatApplicable":{"type":"boolean"},"vatOnChain":{"type":"boolean"},"vatRecipient":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"zeroRatedParticipants":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["vatRateBps","vatApplicable"],"additionalProperties":false},"TradingVenueListingRules":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"oneTradingModelPerSecurity":{"type":"boolean"},"minimumAdmissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest value, in whole US dollars, of the securities a private listing makes available for trading, at most 9223372036854775807. Null uses the platform default of 100,000; 0 sets no minimum."},"minimumAdmissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest number of whole shares a private listing makes available for trading, at most 9223372036854775807. Null uses the platform default of 1,000; 0 sets no minimum."},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}],"description":"Largest order quantity, in base-token units, that a market on this venue accepts. The strictest venue and market value applies. Null means no venue default; a stored 0 refuses every order and can be replaced with a positive value or null."},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}],"description":"Largest order value, in quote-token units, that a market on this venue accepts. The strictest venue and market value applies. Null means no venue default; a stored 0 refuses every order and can be replaced with a positive value or null."},"minOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"},{"type":"null"}],"description":"Smallest order value, in quote-token units, that markets on this venue accept. The strictest venue and market value applies. Null sets no venue default."},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrides"},"classTopics":{"$ref":"#/components/schemas/TradingVenueParticipantClassTopics"},"announcementAlert":{"$ref":"#/components/schemas/TradingVenueAnnouncementAlert"},"announcementWindows":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},"announcementWindowMode":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindowMode"},"residenceBlockList":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"orderRuleLimits":{"$ref":"#/components/schemas/TradingVenueOrderRuleLimits"},"marketDefaults":{"$ref":"#/components/schemas/TradingVenueMarketDefaults"}},"required":["venueAddress","oneTradingModelPerSecurity","minimumAdmissionValueUsd","minimumAdmissionShares","resumeCutoffMinutes","maxOrderQuantity","maxOrderNotional","minOrderNotional","orderLimitOverrides","classTopics","announcementAlert","announcementWindows","announcementWindowMode","residenceBlockList","orderRuleLimits","marketDefaults"],"additionalProperties":false},"TradingVenueMarketDefaults":{"type":"object","properties":{"makerFeeBps":{"anyOf":[{"$ref":"#/components/schemas/FeeRateBps"},{"type":"null"}],"description":"The maker fee, in basis points, the listing wizard starts a new market at. Null starts it empty."},"takerFeeBps":{"anyOf":[{"$ref":"#/components/schemas/FeeRateBps"},{"type":"null"}],"description":"The taker fee, in basis points, the listing wizard starts a new market at. Null starts it empty."},"feeAccount":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The fee account the listing wizard starts a new market with. Null starts it empty."},"protectionBandBps":{"anyOf":[{"type":"integer","minimum":1,"maximum":9007199254740991},{"type":"null"}],"description":"The protection band, in basis points (at least 1), the listing wizard starts a new market at. Null starts it empty."},"holdingPeriodSeconds":{"anyOf":[{"type":"integer","minimum":0,"maximum":2592000},{"type":"null"}],"description":"The holding period, in seconds, the listing wizard starts a new market at. Null starts it at the platform default of 0."}},"required":["makerFeeBps","takerFeeBps","feeAccount","protectionBandBps","holdingPeriodSeconds"],"additionalProperties":false,"description":"The starting values of the listing wizard. A market copies them once, when it is listed, and keeps its own value after that: changing a default later leaves every listed market alone."},"TradingVenueOrderRuleLimits":{"type":"object","properties":{"allowedOrderTypes":{"anyOf":[{"type":"array","prefixItems":[{"type":"string","enum":["limit","market","stop"]}],"minItems":1,"items":{"type":"string","enum":["limit","market","stop"]},"examples":[["limit","market","stop"]],"uniqueItems":true},{"type":"null"}],"description":"The order types every market on this venue may accept: limit, market, stop. A market accepts the types it allows that are also listed here, so removing a type stops it on every market at once, and adding it back restores it on the markets that still allow it. Null sets no venue limit."},"allowedTimeInForce":{"anyOf":[{"type":"array","prefixItems":[{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}],"minItems":1,"items":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"examples":[["gtc","gtd","day","ioc","fok"]],"uniqueItems":true},{"type":"null"}],"description":"The time in force every market on this venue may accept: gtc, gtd, day, ioc, fok. A market accepts the ones it allows that are also listed here. Null sets no venue limit."}},"required":["allowedOrderTypes","allowedTimeInForce"],"additionalProperties":false,"description":"A ceiling on the order rules of every market on the venue, existing markets included. A market can narrow its own rules inside it and never widen them. Orders already resting keep resting; the limit applies to orders placed after it."},"TradingVenueRestrictedResidenceCountries":{"type":"array","items":{"$ref":"#/components/schemas/ISOCountryCodeNormalizedEncoded"},"description":"ISO 3166-1 alpha-2 countries whose residents cannot place orders."},"ISOCountryCodeNormalizedEncoded":{"type":"string"},"TradingVenueAnnouncementWindowMode":{"type":"string","enum":["warn","block"],"description":"What happens when an issuer announcement goes live outside its windows: `warn` accepts it with a warning, `block` refuses it."},"TradingVenueAnnouncementWindows":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindow"},"description":"The daily windows issuer announcements go live in. An empty list sets no restriction."},"TradingVenueAnnouncementWindow":{"type":"object","properties":{"start":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"end":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"}},"required":["start","end"],"additionalProperties":false},"TradingVenueTimeOfDay":{"type":"string"},"TradingVenueAnnouncementAlert":{"type":"object","properties":{"flash":{"type":"boolean","description":"When true, the trading screen flashes a newly published announcement at or above minSeverity."},"minSeverity":{"type":"string","enum":["info","warning","critical"],"description":"The lowest severity that flashes. Announcements below it still update the announcement banner."}},"required":["flash","minSeverity"],"additionalProperties":false,"description":"How the venue alerts participants on a market's trading screen when an announcement is published."},"TradingVenueParticipantClassTopics":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/TradingVenueParticipantClassification"}},"TradingVenueParticipantClassification":{"type":"string","enum":["retail","institutional","proprietary"]},"TradingVenueParticipantOrderLimitOverrides":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverride"}},"TradingVenueParticipantOrderLimitOverride":{"type":"object","properties":{"classification":{"$ref":"#/components/schemas/TradingVenueParticipantClassification"},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitQuantityEncoded"},{"type":"null"}]},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}]},"minOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"},{"type":"null"}]}},"required":["classification"],"additionalProperties":false},"TradingVenueOrderMinNotionalEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueOrderLimitUnitsEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueOrderLimitQuantityEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueResumeCutoffMinutes":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Whole minutes before the session close during which a halted market cannot resume."},"TradingVenueAdmissionUnitsEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueListingRulesUpdate":{"type":"object","properties":{"oneTradingModelPerSecurity":{"type":"boolean","description":"Refuse a new market for a security the venue already lists under a different trading model (continuous or auction-only)."},"minimumAdmissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest value, in whole US dollars, of the securities a private listing makes available for trading, at most 9223372036854775807. Null uses the platform default of 100,000; 0 sets no minimum."},"minimumAdmissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest number of whole shares a private listing makes available for trading, at most 9223372036854775807. Null uses the platform default of 1,000; 0 sets no minimum."},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumUnitsEncoded"},{"type":"null"}],"description":"Largest order quantity, in base-token units, that a market on this venue accepts. The strictest venue and market value applies. Send a positive whole number, at most 9223372036854775807, or null for no venue default; 0 is refused."},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumUnitsEncoded"},{"type":"null"}],"description":"Largest order value, in quote-token units, that a market on this venue accepts. The strictest venue and market value applies. Send a positive whole number, at most 9223372036854775807, or null for no venue default; 0 is refused."},"minOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"},{"type":"null"}],"description":"Smallest order value, in quote-token units, that markets on this venue accept. The strictest venue and market value applies. Null sets no venue default."},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverridesInput"},"classTopics":{"$ref":"#/components/schemas/TradingVenueParticipantClassTopics"},"announcementAlert":{"$ref":"#/components/schemas/TradingVenueAnnouncementAlert"},"announcementWindows":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},"announcementWindowMode":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindowMode"},"residenceBlockList":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"orderRuleLimits":{"$ref":"#/components/schemas/TradingVenueOrderRuleLimits"},"marketDefaults":{"$ref":"#/components/schemas/TradingVenueMarketDefaults"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["oneTradingModelPerSecurity"],"additionalProperties":false},"TradingVenueParticipantOrderLimitOverridesInput":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrideInput"}},"TradingVenueParticipantOrderLimitOverrideInput":{"type":"object","properties":{"classification":{"$ref":"#/components/schemas/TradingVenueParticipantClassification"},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueParticipantOrderMaximumQuantityEncoded"},{"type":"null"}]},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumUnitsEncoded"},{"type":"null"}]},"minOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"},{"type":"null"}]}},"required":["classification"],"additionalProperties":false},"TradingVenueOrderMaximumUnitsEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueParticipantOrderMaximumQuantityEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueVenueCalendar":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}]},"calendarId":{"type":"string","minLength":1},"parentCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"calendarVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"days":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCalendarDay"}},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueVenueCalendarException"}},"closures":{"type":"array","items":{"type":"object","properties":{"observedOn":{"type":"string"},"description":{"type":"string"},"kind":{"type":"string","minLength":1},"source":{"type":"string","minLength":1},"calendarId":{"type":"string","minLength":1}},"required":["observedOn","kind","source","calendarId"],"additionalProperties":false}}},"required":["venueAddress","timezone","calendarId","parentCalendarId","calendarVersion","days","exceptions","closures"],"additionalProperties":false},"TradingVenueVenueCalendarException":{"type":"object","properties":{"date":{"type":"string"},"description":{"type":"string","minLength":1,"maxLength":120},"preopenTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"openTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"closingAuctionTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"tradeAtLastTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"closeTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"}},"required":["date"],"additionalProperties":false},"TradingVenueCalendarDay":{"type":"object","properties":{"weekday":{"type":"integer","minimum":0,"maximum":6},"preopenTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"openTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"closingAuctionTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay_1"},"tradeAtLastTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay_2"},"closeTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"}},"required":["weekday","openTime","closeTime"],"additionalProperties":false},"TradingVenueTimeOfDay_2":{"type":"string"},"TradingVenueTimeOfDay_1":{"type":"string"},"TradingVenueVenueClosureInput":{"type":"object","properties":{"observedOn":{"type":"string"},"description":{"type":"string","minLength":1,"maxLength":120},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["observedOn"],"additionalProperties":false},"TradingVenueVenueCalendarUpsert":{"type":"object","properties":{"timezone":{"type":"string"},"parentCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"days":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCalendarDay"}},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueVenueCalendarException"}},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["timezone","parentCalendarId","days","exceptions"],"additionalProperties":false},"TradingVenueMutationMeta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}}},"required":["txHashes"],"additionalProperties":false},"EthereumHashEncoded":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"TradingVenueTransitionResult":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"paused":{"type":"boolean","description":"Whether the venue is paused once the transaction landed."},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["venueAddress","paused","transactionHash"],"additionalProperties":false},"TradingVenueTransitionBody":{"type":"object","properties":{"to":{"$ref":"#/components/schemas/TradingVenueTransitionTarget"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string","minLength":1},"verificationType":{"anyOf":[{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"]},{"type":"null"}]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["to","reason"],"additionalProperties":false},"TradingVenueTransitionTarget":{"type":"string","enum":["paused","live"],"description":"paused stops the whole venue (a venue operator or admin may pause); live resumes it (only a venue admin may resume)."},"TradingVenueParticipantEntitlementRecord":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"entitlement":{"$ref":"#/components/schemas/TradingVenueParticipantEntitlement"},"grantedBy":{"$ref":"#/components/schemas/UserId"},"grantedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"revokedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"revokedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["venueAddress","walletAddress","entitlement","grantedBy","grantedAt","revokedBy","revokedAt"],"additionalProperties":false},"TradingVenueParticipantEntitlement":{"type":"string","enum":["depth"]},"TradingVenueParticipantEntitlementBody":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/TradingVenueParticipantEntitlementReason"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false},"TradingVenueParticipantEntitlementReason":{"type":"string","minLength":1},"TradingVenueBlockedParticipant":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"actor":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"liftedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["venueAddress","walletAddress","reason","actor","createdAt","liftedAt"],"additionalProperties":false},"TradingVenueUnblockParticipantBody":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false},"TradingVenueBlockParticipantBody":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false},"TradingVenueNationalityRestrictionList":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"securityAddress":{"$ref":"#/components/schemas/EvmAddress"},"countries":{"$ref":"#/components/schemas/TradingVenueRestrictedNationalityCountries"},"reason":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},{"type":"null"}]},"actor":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["venueAddress","securityAddress","countries","reason","actor","updatedAt"],"additionalProperties":false,"description":"The countries the venue restricts for one security. Empty, with no reason, actor or time, when the venue keeps no list."},"TradingVenueRestrictedNationalityCountries":{"type":"array","items":{"$ref":"#/components/schemas/ISOCountryCodeNormalizedEncoded"},"description":"ISO 3166-1 alpha-2 countries whose registered nationals cannot place orders on the venue for the security."},"TradingVenueNationalityRestrictionUpdate":{"type":"object","properties":{"countries":{"$ref":"#/components/schemas/TradingVenueRestrictedNationalityCountries"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["countries","reason"],"additionalProperties":false,"description":"The full list of restricted countries. An empty list removes the venue's list for the security."},"TradingVenueInstrumentGroup":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"code":{"$ref":"#/components/schemas/TradingVenueInstrumentGroupCode"},"name":{"$ref":"#/components/schemas/TradingVenueInstrumentGroupNameEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","venueAddress","code","name","createdAt"],"additionalProperties":false},"TradingVenueInstrumentGroupNameEncoded":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,118}\\S)?\\s*$"},"TradingVenueInstrumentGroupPut":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/TradingVenueInstrumentGroupNameEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["name"],"additionalProperties":false},"TradingVenueAdmissionMember":{"type":"object","properties":{"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"admittedAtBlock":{"$ref":"#/components/schemas/BlockHeightEncoded"},"admittedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["identityAddress","admittedAtBlock","admittedAt"],"additionalProperties":false},"TradingVenueAdmissionChangeResult":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"policy":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionPolicyUpdate"},{"type":"null"}],"description":"The policy the transaction stored. Null when the request left the policy unchanged."},"admitted":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"revoked":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["venueAddress","policy","admitted","revoked","transactionHash"],"additionalProperties":false},"TradingVenueAdmissionPolicyUpdate":{"type":"object","properties":{"requiredClaimTopics":{"type":"array","items":{"type":"string","pattern":"^(0|[1-9]\\d{0,77})$","description":"A claim topic id as a decimal string that fits the venue's uint256 topic."},"description":"Claim topic ids every admitted identity must hold. The list replaces the stored one."},"requireMembership":{"type":"boolean"},"visibility":{"type":"string","enum":["discoverable","admitted-only"]}},"required":["requiredClaimTopics","requireMembership","visibility"],"additionalProperties":false},"TradingVenueAdmissionChangeBody":{"type":"object","properties":{"policy":{"$ref":"#/components/schemas/TradingVenueAdmissionPolicyUpdate"},"admit":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Identity contract addresses, at most 100 per list."},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Identity contract addresses, at most 100 per list."},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string","minLength":1},"verificationType":{"anyOf":[{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"]},{"type":"null"}]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]}},"required":["admit","revoke","reason"],"additionalProperties":false},"TradingVenueVenueRoleSetOutput":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"address":{"$ref":"#/components/schemas/EvmAddress"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueRole"}},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueRole"}},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["venueAddress","address","grant","revoke","transactionHash"],"additionalProperties":false},"TradingVenueRole":{"type":"string","enum":["admin","operator","submitter"]},"TradingVenueVenueRoleSetBody":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueRole"}},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueRole"}},"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string","minLength":1},"verificationType":{"anyOf":[{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"]},{"type":"null"}]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"reason":{"$ref":"#/components/schemas/RoleGrantReason"},"validUntil":{"type":"string"}},"required":["address","grant","revoke"],"additionalProperties":false},"RoleGrantReason":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500,"description":"Why the grant goes ahead although it breaks one of the organisation's segregation-of-duties rules. Required when the organisation warns on conflicts; the audit trail keeps it."},"TradingVenueVenuePriceBand":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVenuePriceBandPolicy"},{"type":"null"}]},"revision":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["venueAddress","priceBand","revision"],"additionalProperties":false},"TradingVenueVenuePriceBandPolicy":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVenueStaticPriceBand"},{"$ref":"#/components/schemas/TradingVenueDynamicPriceBand"}],"discriminator":{"propertyName":"kind","mapping":{"static":"#/components/schemas/TradingVenueVenueStaticPriceBand","dynamic":"#/components/schemas/TradingVenueDynamicPriceBand"}}},"TradingVenueDynamicPriceBand":{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"initialBps":{"type":"integer","minimum":1,"maximum":9007199254740991},"stepBps":{"type":"integer","minimum":1,"maximum":9007199254740991},"capBps":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","initialBps","stepBps","capBps"],"additionalProperties":false},"TradingVenueVenueStaticPriceBand":{"type":"object","properties":{"kind":{"type":"string","enum":["static"]},"minPrice":{"type":"string"},"maxPrice":{"type":"string"}},"required":["kind","minPrice","maxPrice"],"additionalProperties":false},"TradingVenueVenuePriceBandUpdate":{"type":"object","properties":{"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVenuePriceBandPolicy"},{"type":"null"}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["priceBand"],"additionalProperties":false},"TradingVenueVenuePriceBandPreview":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"affectedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Resting orders across every inheriting market that saving this default would cancel or flag."}},"required":["venueAddress","affectedCount"],"additionalProperties":false},"TradingVenueDeskLimit":{"type":"object","properties":{"id":{"type":"string","minLength":1},"approvalId":{"type":"string","minLength":1},"deskLabel":{"type":"string","minLength":1},"traderWallet":{"$ref":"#/components/schemas/EvmAddress"},"venueAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"quoteTokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"limitQuote":{"type":"string","pattern":"^-?\\d+$"},"state":{"type":"string","enum":["proposed","approved","executing","rejected","executed","failed","reconciliation-required","expired"]},"proposerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","approvalId","deskLabel","traderWallet","venueAddress","marketId","quoteTokenAddress","limitQuote","state","proposerUserId","checkerUserId","expiresAt","decidedAt","createdAt"],"additionalProperties":false},"TradingVenueMakerCheckerDecision":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1},"decision":{"type":"string","enum":["approve","reject"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["approvalId","decision"],"additionalProperties":false},"TradingVenueDeskLimitProposal":{"type":"object","properties":{"deskLabel":{"type":"string","minLength":1},"traderWallet":{"$ref":"#/components/schemas/EvmAddress"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"$ref":"#/components/schemas/MarketId"},"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"limitQuote":{"type":"string","pattern":"^-?\\d+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["deskLabel","traderWallet","venueAddress","marketId","quoteTokenAddress","limitQuote"],"additionalProperties":false},"TradingVenueBustRecord":{"type":"object","properties":{"id":{"type":"string","minLength":1},"approvalId":{"type":"string","minLength":1},"tradeId":{"$ref":"#/components/schemas/TradeId"},"state":{"type":"string","enum":["proposed","approved","executing","rejected","executed","failed","reconciliation-required","expired"]},"reason":{"type":"string","minLength":1},"legs":{"$ref":"#/components/schemas/TradingVenueBustLegs"},"buyerMember":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"sellerMember":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"settledBatchId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"proposerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"executedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reversalTransactions":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueBustReversalTransaction"}},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","approvalId","tradeId","state","reason","legs","settledBatchId","proposerUserId","checkerUserId","expiresAt","decidedAt","executedAt","reversalTransactions","createdAt"],"additionalProperties":false},"TradingVenueBustReversalTransaction":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"blockNumber":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["transactionHash","blockNumber"],"additionalProperties":false},"TradingVenueOrderMember":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId_9"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's name. Null when the participant has none."},"viaBroker":{"type":"boolean","description":"Whether the member is a broker the venue operator assigned, not the wallet's own participant."}},"required":["participantId","name","viaBroker"],"additionalProperties":false,"description":"The member (broker or house) behind a wallet on this venue. Only venue operators receive it; investors and brokers never see it."},"ParticipantId_9":{"type":"string","minLength":1,"description":"The participant the venue operator holds responsible for the wallet: the broker assigned to the wallet's participant, or that participant itself."},"TradingVenueBustLegs":{"type":"object","properties":{"baseToken":{"$ref":"#/components/schemas/EvmAddress"},"quoteToken":{"$ref":"#/components/schemas/EvmAddress"},"baseFrom":{"$ref":"#/components/schemas/EvmAddress"},"baseTo":{"$ref":"#/components/schemas/EvmAddress"},"baseAmount":{"type":"string","pattern":"^-?\\d+$"},"quoteFrom":{"$ref":"#/components/schemas/EvmAddress"},"quoteTo":{"$ref":"#/components/schemas/EvmAddress"},"quoteAmount":{"type":"string","pattern":"^-?\\d+$"},"feeFrom":{"$ref":"#/components/schemas/EvmAddress"},"feeTo":{"$ref":"#/components/schemas/EvmAddress"},"feeAmount":{"type":"string","pattern":"^-?\\d+$"},"vatFrom":{"$ref":"#/components/schemas/EvmAddress"},"vatAmount":{"type":"string","pattern":"^-?\\d+$"}},"required":["baseToken","quoteToken","baseFrom","baseTo","baseAmount","quoteFrom","quoteTo","quoteAmount","feeFrom","feeTo","feeAmount"],"additionalProperties":false},"TradeId":{"type":"string","minLength":1,"description":"Trading Venue trade identifier"},"TradingVenueApprovalIdRequest":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["approvalId"],"additionalProperties":false},"TradingVenueBustProposal":{"type":"object","properties":{"tradeId":{"$ref":"#/components/schemas/TradeId"},"reason":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["tradeId","reason"],"additionalProperties":false},"TradingVenueParkedSettlementFillRetryResult":{"type":"object","properties":{"fillId":{"type":"string","minLength":1},"status":{"type":"string","enum":["queued","already-queued"]}},"required":["fillId","status"],"additionalProperties":false},"TradingVenueParkedSettlementFillRetryRequest":{"type":"object","properties":{"reason":{"type":"string","minLength":1},"override":{"type":"boolean"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["reason","override"],"additionalProperties":false},"TradingVenueParkedSettlementFill":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tradeId":{"anyOf":[{"$ref":"#/components/schemas/TradeId"},{"type":"null"}]},"marketId":{"$ref":"#/components/schemas/MarketId"},"buyOrderId":{"$ref":"#/components/schemas/OrderId"},"sellOrderId":{"$ref":"#/components/schemas/OrderId"},"buyerAddress":{"$ref":"#/components/schemas/EvmAddress"},"sellerAddress":{"$ref":"#/components/schemas/EvmAddress"},"buyerMember":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"sellerMember":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"quoteAmount":{"type":"string","pattern":"^-?\\d+$"},"reason":{"type":"string","minLength":1},"parkedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"firstAttemptAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastAttemptAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"attemptCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"retryable":{"type":"boolean"},"ageSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"attempts":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParkedSettlementFillAttempt"}}},"required":["id","tradeId","marketId","buyOrderId","sellOrderId","buyerAddress","sellerAddress","priceTick","quantity","quoteAmount","reason","parkedAt","createdAt","firstAttemptAt","lastAttemptAt","attemptCount","retryable","ageSeconds","attempts"],"additionalProperties":false},"TradingVenueParkedSettlementFillAttempt":{"type":"object","properties":{"attempt":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"attemptedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"finishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"state":{"type":"string","enum":["started","parked","failed"]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["attempt","attemptedAt","finishedAt","state","reason"],"additionalProperties":false},"ParticipantId_11":{"type":"string","minLength":1,"description":"Keep trades where a party's member is this participant: the participant's own wallets and the wallets of participants assigned to it as broker. Narrow it to the buyer or the seller with `side`."},"TradingVenueSettlementInstructionStatus":{"type":"string","enum":["pending-delivery","delivered","undone","partially-undone"],"description":"Where the batch stands. pending-delivery while any trade in it still awaits delivery, delivered once every trade delivered, undone once every trade was undone, partially-undone when delivered and undone trades share the batch."},"TradingVenueSettlementInstruction":{"type":"object","properties":{"id":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"settlementTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TradingVenueSettlementInstructionStatus"},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"trades":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueSettlementInstructionTrade"}}},"required":["id","chainId","settlementTxHash","status","executedAt","trades"],"additionalProperties":false,"description":"One settlement batch of the venue. Trades that share a settlement transaction form one batch. A trade with no settlement transaction yet is its own batch, with a null settlementTxHash and the trade id as the batch id."},"TradingVenueSettlementInstructionTrade":{"type":"object","properties":{"tradeId":{"$ref":"#/components/schemas/TradeId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"buyOrderId":{"$ref":"#/components/schemas/OrderId"},"sellOrderId":{"$ref":"#/components/schemas/OrderId"},"status":{"type":"string","enum":["pending-delivery","delivered","undone"]},"undoReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"price":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"buyerFee":{"type":"string","pattern":"^-?\\d+$","description":"Fee the buyer was charged. Absent until the trade settles."},"sellerFee":{"type":"string","pattern":"^-?\\d+$","description":"Fee the seller was charged. Absent until the trade settles."},"buyerAddress":{"$ref":"#/components/schemas/EvmAddress"},"sellerAddress":{"$ref":"#/components/schemas/EvmAddress"},"buyerMember":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"sellerMember":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"buyerVat":{"type":"string","pattern":"^-?\\d+$"},"sellerVat":{"type":"string","pattern":"^-?\\d+$"},"fees":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueTradeFeeLine"}},"legs":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueSettlementInstructionLeg"}}},"required":["tradeId","marketId","status","undoReason","executedAt","buyerAddress","sellerAddress","buyerVat","sellerVat","fees","legs"],"additionalProperties":false},"TradingVenueSettlementInstructionLeg":{"type":"object","properties":{"kind":{"type":"string","enum":["base","cash","fee","vat"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"fromAddress":{"$ref":"#/components/schemas/EvmAddress"},"toAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["kind","tokenAddress","fromAddress","toAddress","amount"],"additionalProperties":false},"TradingVenueTradeFeeLine":{"type":"object","properties":{"side":{"type":"string","enum":["buy","sell"]},"discountBps":{"anyOf":[{"type":"integer","minimum":0,"maximum":10000},{"type":"null"}]},"feeType":{"$ref":"#/components/schemas/TradingVenueTradeFeeType"},"amount":{"type":"string","pattern":"^-?\\d+$"},"vatAmount":{"type":"string","pattern":"^-?\\d+$"}},"required":["side","feeType","amount","vatAmount"],"additionalProperties":false},"TradingVenueTradeFeeType":{"type":"string","minLength":1,"description":"The stable fee type code used to identify one fee line on a trade."},"TradingVenueBandPruneResult":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"prunedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"prunedOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/OrderId"}}},"required":["marketId","prunedCount","prunedOrderIds"],"additionalProperties":false},"TradingVenueBandPruneRequest":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"TradingVenueBandPreview":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"affectedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["marketId","affectedCount"],"additionalProperties":false},"TradingVenueInstrumentPriceBandSelectionEncoded":{"type":"string","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/TradingVenueInstrumentPriceBandSelection"}},"TradingVenueInstrumentPriceBandSelection":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["inherit"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["off"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["override"]},"policy":{"$ref":"#/components/schemas/TradingVenueVenuePriceBandPolicy"}},"required":["kind","policy"],"additionalProperties":false}]},"TradingVenuePriceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueStaticPriceBand"},{"$ref":"#/components/schemas/TradingVenueDynamicPriceBand"}],"discriminator":{"propertyName":"kind","mapping":{"static":"#/components/schemas/TradingVenueStaticPriceBand","dynamic":"#/components/schemas/TradingVenueDynamicPriceBand"}}},"TradingVenueStaticPriceBand":{"type":"object","properties":{"kind":{"type":"string","enum":["static"]},"minTick":{"$ref":"#/components/schemas/TradingVenueFloorTickEncoded"},"maxTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["kind","minTick","maxTick"],"additionalProperties":false},"TradingVenueFloorTickEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueOutOfBandCarryOver":{"type":"string","enum":["close","suspend"],"description":"What happens to a resting order priced outside the band when the band moves: close it as rejected (the default), or suspend it with its reservation and time priority kept until the band covers its price again."},"TradingVenueParticipantOrderLimitOverridesInput_1":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrideInput_1"}},"TradingVenueParticipantOrderLimitOverrideInput_1":{"type":"object","properties":{"classification":{"$ref":"#/components/schemas/TradingVenueParticipantClassification"},"maxOrderQuantity":{"anyOf":[{"type":"string","enum":["null"]},{"$ref":"#/components/schemas/TradingVenueParticipantOrderMaximumQuantityEncoded"}]},"maxOrderNotional":{"anyOf":[{"type":"string","enum":["null"]},{"$ref":"#/components/schemas/TradingVenueOrderMaximumUnitsEncoded"}]},"minOrderNotional":{"anyOf":[{"type":"string","enum":["null"]},{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"}]}},"required":["classification"],"additionalProperties":false},"TradingVenueOrderMaximumAmountEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueOrderMaximumQuantityEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueOrderMinimumQuantityEncoded":{"type":"string","pattern":"^-?\\d+$"},"TradingVenueBandBpsEncoded":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"TradingVenueStaticBandAnchorMode":{"type":"string","enum":["fixed","roll-on-close"]},"TradingVenuePendingMarketChange":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"marketId":{"$ref":"#/components/schemas/MarketId"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"change":{"$ref":"#/components/schemas/TradingVenuePendingMarketPatch"},"effective":{"$ref":"#/components/schemas/TradingVenuePendingMarketChangeEffective"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"createdBy":{"$ref":"#/components/schemas/UserId"},"approvalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TradingVenuePendingMarketChangeStatus"},"outcomeReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"cancelledBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"cancelledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","marketId","venueAddress","change","effective","effectiveAt","reason","createdBy","approvalId","status","outcomeReason","createdAt","completedAt","cancelledBy","cancelledAt"],"additionalProperties":false},"TradingVenuePendingMarketChangeStatus":{"type":"string","enum":["pending","applying","applied","failed","cancelled"],"description":"`pending` waits for its effective time; `applying` is being applied, including while its transaction is still pending on the transaction queue, or waits to retry after a transient refusal that queued no transaction (then `outcomeReason` names that refusal); `applied` changed the market (with `outcomeReason` when it applied more than 15 minutes after its effective time); `failed` was refused by the same validation an immediate change goes through, or still could not run 15 minutes after its effective time (see `outcomeReason`); `cancelled` was withdrawn before it ran or while it waited to retry, and changed nothing."},"TradingVenuePendingMarketChangeEffective":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["at"]},"at":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["kind","at"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["after-close"]},"date":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionDate_1"}},"required":["kind","date"],"additionalProperties":false}],"description":"When the change applies: at an instant, or after the session close on a date in the market's time zone (the end of that date when it has no session)."},"TradingVenueScheduledTransitionDate_1":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Calendar date in the market's time zone, as YYYY-MM-DD."},"TradingVenuePendingMarketPatch":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["market"]},"patch":{"$ref":"#/components/schemas/TradingVenuePendingMarketSettings"}},"required":["kind","patch"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["fees"]},"makerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"takerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"}},"required":["kind","makerFeeBps","takerFeeBps"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["bands"]},"patch":{"$ref":"#/components/schemas/TradingVenuePendingBandSettings"}},"required":["kind","patch"],"additionalProperties":false}],"description":"The stored change: market settings, the maker and taker fees, or the price bands and order limits. A wallet verification is never stored; the job applies the change as the operator who dated it."},"TradingVenuePendingBandSettings":{"type":"object","properties":{"staticBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"staticBandAnchorTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"staticBandAnchorMode":{"$ref":"#/components/schemas/TradingVenueStaticBandAnchorMode"},"dynamicBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinimumQuantityEncoded"},{"type":"null"}],"description":"Smallest order quantity this market accepts; null clears it, omitted keeps the stored minimum."},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumQuantityEncoded"},{"type":"null"}]},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumAmountEncoded"},{"type":"null"}]},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverridesInput"},"floorTick":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueFloorTickEncoded"},{"type":"null"}]},"upperBandEnabled":{"type":"boolean"},"outOfBandCarryOver":{"$ref":"#/components/schemas/TradingVenueOutOfBandCarryOver"},"volatilityInterruption":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVolatilityInterruptionRule"},{"type":"null"}],"description":"The market's automatic volatility interruption: a threshold from the reference price and how long trading is held when a trade would print beyond it. null switches it off, omitted keeps the stored rule."},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBand"},{"type":"null"}],"description":"Static (absolute minimum and maximum price) or dynamic (previous close ± a percentage that widens as trades reach a limit) price band; null switches it off, omitted keeps the stored band."},"priceBandSelection":{"$ref":"#/components/schemas/TradingVenueInstrumentPriceBandSelection"},"splitRatio":{"$ref":"#/components/schemas/TradingVenueSplitRatio"}},"required":["staticBandBps","dynamicBandBps","maxOrderQuantity","maxOrderNotional"],"additionalProperties":false},"TradingVenueSplitRatio":{"type":"object","properties":{"corporateActionId":{"$ref":"#/components/schemas/CorporateActionId"},"numerator":{"type":"integer","minimum":1,"maximum":1000000000},"denominator":{"type":"integer","minimum":1,"maximum":1000000000}},"required":["corporateActionId","numerator","denominator"],"additionalProperties":false,"description":"Applies a confirmed stock split to this market before the rest of this patch: every price the market holds (the band anchor, the floor, the dynamic band's reference, the reference, the last trade, the previous close, the auction price and the valuation) moves by the ratio, and every resting order and stop is cancelled, because its price is a pre-split price. A market whose price band is an absolute minimum and maximum must carry its post-split band in the same patch, since one venue default serves every market that inherits it. Omit the ratio to leave the market's prices alone.","examples":[{"corporateActionId":"ca_01J9Z6","numerator":1,"denominator":18}]},"CorporateActionId":{"type":"string","minLength":1,"description":"Corporate Action identifier"},"TradingVenueVolatilityInterruptionRule":{"type":"object","properties":{"thresholdBps":{"$ref":"#/components/schemas/TradingVenueBandBps"},"durationSeconds":{"type":"integer","minimum":1,"maximum":86400},"reference":{"$ref":"#/components/schemas/TradingVenueVolatilityReference"}},"required":["thresholdBps","durationSeconds","reference"],"additionalProperties":false,"description":"A market's volatility rule. When continuous trading would print more than thresholdBps away from the reference price, trading is interrupted for durationSeconds, then resumes through an auction call. Absent means the market never interrupts."},"TradingVenueVolatilityReference":{"type":"string","enum":["last-trade","previous-close"],"description":"The price a volatility interruption measures a trade against: the last trade (falling back to the previous close), or the previous official close (falling back to the last trade)."},"TradingVenueBandBps":{"type":"integer","minimum":1,"maximum":9007199254740991},"TradingVenuePendingMarketSettings":{"type":"object","properties":{"valuationPrice":{"type":"string","pattern":"^-?\\d+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"mode":{"type":"string","enum":["continuous","auction-only"]},"private":{"type":"boolean"},"publishIndicative":{"$ref":"#/components/schemas/TradingVenuePublishIndicative"},"depthDeniedMode":{"$ref":"#/components/schemas/TradingVenueDepthDeniedMode"},"sponsorship":{"$ref":"#/components/schemas/TradingVenueMarketSponsorship_1"},"admissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Value of the securities made available, in whole US dollars. Editable while the market is pending."},"admissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Number of whole shares made available. Editable while the market is pending."},"admissionAsOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"The date the stated value and share count were established, as a calendar day at UTC midnight. Editable while the market is pending, and cannot be in the future."},"goLiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The scheduled instant at which a complete pending listing may go live. Set null to remove the schedule."},"instrumentGroupId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"A group from the venue's instrument groups. Editable in any market status. Set null to remove the market from its group."},"restrictedResidenceCountries":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"participantDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"entitledDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"participantLevelFields":{"type":"array","prefixItems":[{"type":"string","enum":["price","quantity","orderCount"]}],"minItems":1,"items":{"type":"string","enum":["price","quantity","orderCount"]},"description":"The attributes of a book level that the market's participants see. The price is always shown; the venue operator sees every attribute.","examples":[["price","quantity","orderCount"],["price"],["price","quantity"]],"uniqueItems":true},"closeMethodology":{"type":"string","enum":["last-trade","vwap"]},"closeVwapWindowMs":{"anyOf":[{"type":"integer","minimum":1,"maximum":2147483647},{"type":"null"}]},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"announcementWindows":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},{"type":"null"}],"description":"This market's own issuer announcement windows. Null uses the venue's windows."},"closeNoTradeFallback":{"type":"string","enum":["auction-then-previous","previous-close"]},"holdingPeriodSeconds":{"type":"integer","minimum":0,"maximum":2592000},"auctionPriceRounding":{"type":"string","enum":["block","nearest-half-up","nearest-half-down"]},"minNotional":{"type":"string","pattern":"^-?\\d+$"},"preopenPriceRule":{"type":"string","enum":["tie-average","previous-close"]},"nationalityCheck":{"$ref":"#/components/schemas/TradingVenueNationalityCheck"},"maturityCutoffDays":{"$ref":"#/components/schemas/TradingVenueMaturityCutoffDays"},"allowedOrderTypes":{"type":"array","prefixItems":[{"type":"string","enum":["limit","market","stop"]}],"minItems":1,"items":{"type":"string","enum":["limit","market","stop"]},"examples":[["limit","market","stop"]],"uniqueItems":true},"allowedTimeInForce":{"type":"array","prefixItems":[{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}],"minItems":1,"items":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"examples":[["gtc","gtd","day","ioc","fok"]],"uniqueItems":true},"publishesBaseTokenPrice":{"type":"boolean"}},"additionalProperties":false},"TradingVenueMaturityCutoffDays":{"type":"integer","minimum":0,"maximum":365,"description":"Whole days before the base token's maturity date at which trading stops. 0 stops trading at maturity. From the cut-off, new orders and replacements are refused, resting orders are cancelled and their holds released. Fills matched earlier still settle until the bond has matured."},"TradingVenueNationalityCheck":{"type":"string","enum":["sponsored-private-only","all"],"description":"Whether nationality restrictions apply only to private sponsored markets or to every market. Defaults to sponsored-private-only."},"TradingVenueMarketDepthLevels":{"type":"integer","minimum":1,"maximum":50,"description":"The number of visible price levels on each side of a market book, from 1 through 50."},"TradingVenueMarketSponsorship_1":{"type":"string","enum":["sponsored","unsponsored"],"description":"Editable while the market is pending. A listed market keeps its sponsorship, except that one listed without any may record it once."},"TradingVenueDepthDeniedMode":{"type":"string","enum":["top-of-book","none"],"description":"What a participant whose access profile denies depth sees on this market: the best bid and offer only (top-of-book), or nothing (none)."},"TradingVenuePublishIndicative":{"type":"string","enum":["always","never","operators-only"],"description":"Who receives indicative auction price and quantity during pre-open and collection."},"TradingVenueBandConfig":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"staticBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"staticBandAnchorTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"staticBandAnchorMode":{"$ref":"#/components/schemas/TradingVenueStaticBandAnchorMode"},"dynamicBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"maxOrderNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"floorTick":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueFloorTickEncoded"},{"type":"null"}]},"upperBandEnabled":{"type":"boolean"},"outOfBandCarryOver":{"$ref":"#/components/schemas/TradingVenueOutOfBandCarryOver"},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBand"},{"type":"null"}]},"volatilityInterruption":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVolatilityInterruptionRule"},{"type":"null"}]},"priceBandSelection":{"$ref":"#/components/schemas/TradingVenueInstrumentPriceBandSelection"},"priceBandRevision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"priceBandSource":{"type":"string","enum":["venue","instrument","off"]},"venueMaxOrderQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The venue's default maximum order quantity, read-only here. The stricter value participates in this market's effective limit."},"venueMaxOrderNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The venue's default maximum order value, read-only here. The stricter value participates in this market's effective limit."},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrides"},"venueMinOrderNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"venueOrderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrides"}},"required":["marketId","staticBandBps","staticBandAnchorTick","dynamicBandBps","maxOrderQuantity","maxOrderNotional"],"additionalProperties":false},"TradingVenueBandPatch":{"type":"object","properties":{"staticBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"staticBandAnchorTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"staticBandAnchorMode":{"$ref":"#/components/schemas/TradingVenueStaticBandAnchorMode"},"dynamicBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinimumQuantityEncoded"},{"type":"null"}],"description":"Smallest order quantity this market accepts; null clears it, omitted keeps the stored minimum."},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumQuantityEncoded"},{"type":"null"}]},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumAmountEncoded"},{"type":"null"}]},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverridesInput"},"floorTick":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueFloorTickEncoded"},{"type":"null"}]},"upperBandEnabled":{"type":"boolean"},"outOfBandCarryOver":{"$ref":"#/components/schemas/TradingVenueOutOfBandCarryOver"},"volatilityInterruption":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVolatilityInterruptionRule"},{"type":"null"}],"description":"The market's automatic volatility interruption: a threshold from the reference price and how long trading is held when a trade would print beyond it. null switches it off, omitted keeps the stored rule."},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBand"},{"type":"null"}],"description":"Static (absolute minimum and maximum price) or dynamic (previous close ± a percentage that widens as trades reach a limit) price band; null switches it off, omitted keeps the stored band."},"priceBandSelection":{"$ref":"#/components/schemas/TradingVenueInstrumentPriceBandSelection"},"splitRatio":{"$ref":"#/components/schemas/TradingVenueSplitRatio"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"afterCloseOn":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionDate"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"}},"required":["staticBandBps","dynamicBandBps","maxOrderQuantity","maxOrderNotional"],"additionalProperties":false},"TradingVenueScheduledTransitionDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Apply the change after the session close on this date in the market's time zone, or at the end of the date when it has no session. Send it, or `effectiveAt`, not both."},"TradingVenueCollectionWindowSchedule":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"windows":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCollectionWindow"}},"schedule":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueCollectionWindowScheduleRule"},{"type":"null"}]}},"required":["marketId","windows","schedule"],"additionalProperties":false},"TradingVenueCollectionWindowScheduleRule":{"type":"object","properties":{"startWeekday":{"type":"integer","minimum":0,"maximum":6},"startTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"endWeekday":{"type":"integer","minimum":0,"maximum":6},"endTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"}},"required":["startWeekday","startTime","endWeekday","endTime"],"additionalProperties":false},"TradingVenueCollectionWindow":{"type":"object","properties":{"id":{"type":"string","minLength":1},"marketId":{"$ref":"#/components/schemas/MarketId"},"clearingDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"startAt":{"$ref":"#/components/schemas/TimestampEncoded"},"endAt":{"$ref":"#/components/schemas/TimestampEncoded"},"appliedState":{"type":"string","enum":["none","preopen","open","closing-auction","trade-at-last","closed"]},"officialCloseTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]}},"required":["id","marketId","clearingDate","startAt","endAt","appliedState","officialCloseTick"],"additionalProperties":false},"TradingVenueCollectionWindowsReplace":{"type":"object","properties":{"windows":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCollectionWindowRequest"}},"schedule":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueCollectionWindowScheduleRule"},{"type":"null"}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["windows"],"additionalProperties":false,"description":"The market's windows that have not started yet. Windows that are collecting or closed stay as they are."},"TradingVenueCollectionWindowRequest":{"type":"object","properties":{"startAt":{"$ref":"#/components/schemas/TimestampEncoded"},"endAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["startAt","endAt"],"additionalProperties":false,"description":"One collection window: orders are collected without matching from startAt until endAt, and the market clears once at endAt."},"TradingVenueCalendar":{"type":"object","properties":{"id":{"type":"string","minLength":1},"marketId":{"$ref":"#/components/schemas/MarketId"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}]},"uncrossWindowMs":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"days":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCalendarDay"}},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCalendarException"}},"occurrences":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueSessionOccurrence"}}},"required":["id","marketId","timezone","uncrossWindowMs","days","exceptions","occurrences"],"additionalProperties":false},"TradingVenueSessionOccurrence":{"type":"object","properties":{"id":{"type":"string","minLength":1},"marketId":{"$ref":"#/components/schemas/MarketId"},"kind":{"type":"string","enum":["session","collection-window"]},"sessionDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"preopenAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"openAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closingAuctionAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"tradeAtLastAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"closeAt":{"$ref":"#/components/schemas/TimestampEncoded"},"appliedState":{"type":"string","enum":["none","preopen","open","closing-auction","trade-at-last","closed"]},"officialCloseTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"auctionPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"closingAuctionPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"referencePriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"closeMethodology":{"anyOf":[{"type":"string","enum":["last-trade","vwap"]},{"type":"null"}]},"closeVwapWindowMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"closeNoTradeFallback":{"anyOf":[{"type":"string","enum":["auction-then-previous","previous-close"]},{"type":"null"}]},"closeSource":{"anyOf":[{"type":"string","enum":["vwap","vwap-fallback","last-trade","previous-close","auction","reference"]},{"type":"null"}]}},"required":["id","marketId","kind","sessionDate","preopenAt","openAt","closeAt","appliedState","officialCloseTick","auctionPriceTick"],"additionalProperties":false},"TradingVenueCalendarException":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"closed":{"type":"boolean"},"description":{"type":"string","minLength":1,"maxLength":120},"preopenTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"openTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"closingAuctionTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"tradeAtLastTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"},"closeTime":{"$ref":"#/components/schemas/TradingVenueTimeOfDay"}},"required":["date","closed"],"additionalProperties":false},"TradingVenueCalendarUpsert":{"type":"object","properties":{"timezone":{"type":"string","minLength":1},"days":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCalendarDay"}},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCalendarException"}},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["timezone","days","exceptions"],"additionalProperties":false},"TradingVenueEffectiveClosures":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"from":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"to":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"closures":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueEffectiveClosure"}}},"required":["marketId","from","to","closures"],"additionalProperties":false,"description":"The dated closures of the market in the range, after merging the venue's calendar, the shared calendars it extends, and the market's own closed days, each with the calendar that closed it. Days the weekly schedule never opens are not listed."},"TradingVenueEffectiveClosure":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"description":{"type":"string","minLength":1,"maxLength":120},"source":{"type":"string","enum":["venue","shared-calendar","instrument"]}},"required":["date","source"],"additionalProperties":false,"description":"One date the market is closed, with the holiday name when there is one and the calendar that closed it."},"TradingVenueCalendarDate_3":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"TradingVenueCalendarDate_2":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"TradingVenueTradingDayRange":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"timezone":{"type":"string"},"from":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"to":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"days":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueTradingDay"}}},"required":["marketId","timezone","from","to","days"],"additionalProperties":false},"TradingVenueTradingDay":{"type":"object","properties":{"date":{"$ref":"#/components/schemas/TradingVenueCalendarDate"},"tradingDay":{"type":"boolean"},"openAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"closeAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["date","tradingDay","openAt","closeAt"],"additionalProperties":false,"description":"One calendar date of the market in the effective calendar: the venue week, the market's own days and the holiday closures. The session open and close are null on a day without trading and on a market with no daily hours."},"TradingVenueWatchlistEntryOrder":{"type":"object","properties":{"tokenAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["tokenAddresses"],"additionalProperties":false,"description":"Every asset on the watchlist, first to last."},"TradingVenueWatchlistEntryOrderRequest":{"type":"object","properties":{"tokenAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"uniqueItems":true,"maxItems":500}},"required":["tokenAddresses"],"additionalProperties":false,"description":"The assets on one watchlist, first to last. Assets left out follow the named ones in their earlier order."},"TradingVenueWatchlistOrder":{"type":"object","properties":{"watchlistIds":{"type":"array","items":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}}},"required":["watchlistIds"],"additionalProperties":false,"description":"Every watchlist the caller owns, first to last."},"TradingVenueWatchlistOrderRequest":{"type":"object","properties":{"watchlistIds":{"type":"array","items":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"uniqueItems":true,"maxItems":500}},"required":["watchlistIds"],"additionalProperties":false,"description":"The caller's watchlists, first to last. Lists left out follow the named ones in their earlier order."},"TradingVenueChartPreferences":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/TradingVenueChartPreferencesScope"},"preferences":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueChartPreferencesDocument"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["scope","preferences","updatedAt"],"additionalProperties":false,"description":"One participant's chart settings for a market, or their default for every market. Both fields are null when nothing is saved."},"TradingVenueChartPreferencesDocument":{"type":"string"},"TradingVenueChartPreferencesScope":{"anyOf":[{"type":"string","enum":["global"]},{"$ref":"#/components/schemas/MarketId"}],"description":"The word global for the participant's default, or a market id for that market's own settings."},"TradingVenueChartPreferencesWrite":{"type":"object","properties":{"actorId":{"$ref":"#/components/schemas/TradingVenueChartPreferencesActorId"},"preferences":{"$ref":"#/components/schemas/TradingVenueChartPreferencesDocument"}},"required":["actorId","preferences"],"additionalProperties":false},"TradingVenueChartPreferencesActorId":{"type":"string","minLength":1,"maxLength":128,"description":"The participant the signed-in user acts as, for example the wallet address of the maker. Settings are stored per signed-in user and per acting participant."},"TradingVenueWatchlistEntryRemoved":{"type":"object","properties":{"watchlistId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"removed":{"type":"boolean"},"pinnedMarketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]}},"required":["watchlistId","tokenAddress","removed","pinnedMarketId"],"additionalProperties":false},"TradingVenueWatchlistEntryAdded":{"type":"object","properties":{"watchlistId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"pinnedMarketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["watchlistId","tokenAddress","pinnedMarketId","createdAt"],"additionalProperties":false},"TradingVenueWatchlistEntryAddRequest":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"pinnedMarketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]}},"required":["tokenAddress"],"additionalProperties":false},"TradingVenueWatchlist":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"name":{"type":"string","minLength":1},"isDefault":{"type":"boolean"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","isDefault","assets","createdAt","updatedAt"],"additionalProperties":false},"TradingVenueWatchlistUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1},"isDefault":{"type":"boolean","enum":[true]}},"additionalProperties":false},"TradingVenueWatchlistDetail":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"name":{"type":"string","minLength":1},"isDefault":{"type":"boolean"},"assets":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"entries":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueWatchlistEntry"}}},"required":["id","name","isDefault","assets","createdAt","updatedAt","entries"],"additionalProperties":false},"TradingVenueWatchlistEntry":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"pinnedMarketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"marketIds":{"type":"array","items":{"$ref":"#/components/schemas/MarketId"}},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["tokenAddress","pinnedMarketId","marketIds","createdAt"],"additionalProperties":false},"TradingVenueWatchlistTransitionRequest":{"type":"object","properties":{"to":{"type":"string","enum":["active"]}},"required":["to"],"additionalProperties":false},"TradingVenueWatchlistName":{"type":"object","properties":{"name":{"type":"string","minLength":1}},"required":["name"],"additionalProperties":false},"TradingVenueMarketDataFrameEncoded":{"type":"string","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/TradingVenueMarketDataFrame"}},"TradingVenueMarketDataFrame":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["snapshot"]},"snapshot":{"$ref":"#/components/schemas/TradingVenueMarketDepth"}},"required":["type","snapshot"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["diff"]},"diff":{"$ref":"#/components/schemas/TradingVenueMarketDepthDiff"}},"required":["type","diff"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["trades"]},"trades":{"type":"array","items":{"type":"object","properties":{"sequence":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["sequence","priceTick","quantity","executedAt"],"additionalProperties":false}}},"required":["type","trades"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["trade-undone"]},"marketId":{"$ref":"#/components/schemas/MarketId"},"sequences":{"type":"array","items":{"type":"string","pattern":"^-?\\d+$"},"description":"The sequences of the trades this stream sent in a trades frame, or listed in its opening trades, that settlement has since undone. A client drops the print of each from its tape."},"ticker":{"$ref":"#/components/schemas/TradingVenueTradeUndoneTicker"}},"required":["type","marketId","sequences","ticker"],"additionalProperties":false,"description":"Settlement undid trades this stream had already announced (a bust, a refused delivery or a removed reservation). The ticker carries the figures with those trades left out, so a client corrects its tape, last price and session volume and value at once instead of waiting for the next trade."},{"type":"object","properties":{"type":{"type":"string","enum":["indicative"]},"marketId":{"$ref":"#/components/schemas/MarketId"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity that would match at the indicative price, or null when no uncross is indicated or the market does not show quantities to the caller."},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["type","marketId","sequence","priceTick","quantity","asOf"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["band"]},"marketId":{"$ref":"#/components/schemas/MarketId"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"kind":{"type":"string","enum":["none","unanchored","bounded"],"description":"none when the market has no price band, unanchored when its dynamic band has no reference price yet and every order is refused, bounded when the limits below are in force."},"lowerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The inclusive lower limit in ticks, or null unless bounded."},"upperTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The inclusive upper limit in ticks, or null unless bounded."},"referenceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The reference price a dynamic band is computed from, or null for a static band or no band."},"upperSteps":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many times trades at the upper limit have widened a dynamic band since its reference was set."},"lowerSteps":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"How many times trades at the lower limit have widened a dynamic band since its reference was set."},"interruption":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketInterruption"},{"type":"null"}]}},"required":["type","marketId","sequence","kind","lowerTick","upperTick","referenceTick","upperSteps","lowerSteps"],"additionalProperties":false,"description":"The market's price band, sent when the subscriber connects and again whenever a trade widens the band, the session close resets it, or its policy changes."},{"type":"object","properties":{"type":{"type":"string","enum":["venue-status"]},"marketId":{"$ref":"#/components/schemas/MarketId"},"venuePaused":{"type":"boolean","description":"True while the market's venue is paused: it accepts no orders until a venue admin resumes it."}},"required":["type","marketId","venuePaused"],"additionalProperties":false,"description":"Whether the market's venue is paused, sent when the subscriber connects and again on a pause or resume."},{"type":"object","properties":{"type":{"type":"string","enum":["heartbeat"]},"sequence":{"type":"string","pattern":"^-?\\d+$"}},"required":["type","sequence"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string","minLength":1},"requestId":{"type":"string"}},"required":["type","message"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["announcement"]},"announcement":{"$ref":"#/components/schemas/TradingVenueStreamAnnouncement"},"flash":{"type":"boolean","description":"True when the venue's announcement alert setting asks the trading screen to flash this announcement."}},"required":["type","announcement","flash"],"additionalProperties":false,"description":"An announcement published to this market or its whole venue after the subscriber connected, sent only to subscribers who can read it."}]},"TradingVenueStreamAnnouncement":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"title":{"type":"string","minLength":1},"body":{"type":"string","minLength":1},"generatedNotice":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAnnouncementGeneratedNotice"},{"type":"null"}]},"category":{"type":"string","enum":["notice","broadcast","trading-window","corporate-action","issuer"]},"severity":{"type":"string","enum":["info","warning","critical"]},"publishedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","venueAddress","marketId","title","body","category","severity","publishedAt"],"additionalProperties":false},"TradingVenueMarketInterruption":{"type":"object","properties":{"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"resumesAt":{"$ref":"#/components/schemas/TimestampEncoded"},"triggerTick":{"type":"string","pattern":"^-?\\d+$"},"referenceTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["startedAt","resumesAt","triggerTick","referenceTick"],"additionalProperties":false,"description":"An automatic volatility interruption in force on the market. Continuous trading is held: orders are collected, nothing matches, until the interruption ends in an auction call."},"TradingVenueTradeUndoneTicker":{"type":"object","properties":{"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"openTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"highTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"lowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"baseVolume":{"type":"string","pattern":"^-?\\d+$"},"tradeCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"},"sessionOpenTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionHighTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionLowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"previousCloseTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changeTicks":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changePercent":{"anyOf":[{"type":"number"},{"type":"null"}]},"sessionVolume":{"type":"string","pattern":"^-?\\d+$"},"sessionValue":{"type":"string","pattern":"^-?\\d+$"},"high52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The highest daily high, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"low52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The lowest daily low, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"range52wSince":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The start of the market's first trading day when the market has traded for less than 52 weeks, so the 52-week range covers only the days since then. Null when the range covers the full 52 weeks or the market has no trade."}},"required":["lastTradeTick","openTick","highTick","lowTick","baseVolume","tradeCount","asOf"],"additionalProperties":false,"description":"The market ticker's trade figures as they stand once the undone trades are left out: last price, 24-hour and session figures, change and 52-week range. The quotes and the price band are not part of it."},"TradingVenueMarketDepthDiff":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"fromSequence":{"type":"string","pattern":"^-?\\d+$"},"toSequence":{"type":"string","pattern":"^-?\\d+$"},"bids":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueBookLevel"}},"asks":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueBookLevel"}},"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"midTick":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The midpoint of the best bid and the best ask, in ticks (a half tick when they are an odd number of ticks apart). Null when either side is empty or the book is crossed. A stream diff always carries the current midpoint."},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["marketId","fromSequence","toSequence","bids","asks","lastTradeTick","midTick","asOf"],"additionalProperties":false},"TradingVenueBookLevel":{"type":"object","properties":{"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The total quantity resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"orderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The number of orders resting at this price, or null when the market does not show it to the caller. A stream diff sends 0 for a level that left the book."},"cumulativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity resting at this price and at every price closer to the touch, or null when the market does not show quantities to the caller. A stream diff carries every level whose running total moved, and sends 0 for a level that left the book."},"cumulativeNotional":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quote value of the quantity resting at this price and at every price closer to the touch, in quote token base units (price tick times tick size times lots), or null when the market does not show quantities to the caller. A stream diff sends 0 for a level that left the book."}},"required":["priceTick","quantity","orderCount","cumulativeQuantity","cumulativeNotional"],"additionalProperties":false},"TradingVenueMarketDepth":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"bids":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueBookLevel"}},"asks":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueBookLevel"}},"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"midTick":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The midpoint of the best bid and the best ask, in ticks (a half tick when they are an odd number of ticks apart). Null when either side is empty or the book is crossed. A stream diff always carries the current midpoint."},"indicativePriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"indicativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity that would match at the indicative price, or null when no uncross is indicated or the market does not show quantities to the caller."},"depthAccess":{"type":"string","enum":["allowed","top-of-book","none"],"description":"What the caller's market access shows of the book. allowed: the depth levels the market publishes to the caller. top-of-book: the access profile does not allow depth, so only the best bid and ask. none: the access profile does not allow depth and the market shows such participants no levels."},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["marketId","sequence","bids","asks","lastTradeTick","midTick","indicativePriceTick","indicativeQuantity","depthAccess","asOf"],"additionalProperties":false},"TradingVenueMarketActivity":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"ticker":{"$ref":"#/components/schemas/TradingVenueMarketTicker"},"valuationPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The price the venue values the market's base token at, in ticks. Null when the market has none."},"range":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketActivityRange"},{"type":"null"}],"description":"The last trade price and the open inside the day's low-to-high range. Null before the first trade."},"liquidity":{"$ref":"#/components/schemas/TradingVenueMarketActivityLiquidity"},"series":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/PlatformVenueMarketActivityPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/PlatformVenueMarketActivityPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["range","grain","points","figure","meta"],"additionalProperties":false,"description":"The last trade price at the end of each hour of the last 24 hours, carried over hours without a trade, and the trades executed in each hour. Both come in one point per hour."},"recentTrades":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueTrade"},"description":"The twenty most recent trades, newest first."},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["marketId","ticker","valuationPriceTick","range","liquidity","series","recentTrades","asOf"],"additionalProperties":false,"description":"Everything the market activity tile shows, computed by DAPI in one read: the ticker, the day's range position, the book's liquidity, the hourly price and trade series and the latest fills."},"TradingVenueTrade":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TradeId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"status":{"type":"string","enum":["pending-delivery","delivered","undone"]},"undoReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"feeBreakdown":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueFeeBreakdown"},{"type":"null"}]},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","marketId","sequence","priceTick","quantity","status","undoReason","executedAt"],"additionalProperties":false},"TradingVenueFeeBreakdown":{"type":"object","properties":{"buyer":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueResolvedFee"}},"seller":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueResolvedFee"}}},"required":["buyer","seller"],"additionalProperties":false},"TradingVenueResolvedFee":{"type":"object","properties":{"feeTypeId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"code":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"recipientAccount":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"vatApplicable":{"type":"boolean"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["feeTypeId","code","name","recipientAccount","side","vatApplicable","amount"],"additionalProperties":false},"PlatformVenueMarketActivityPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"closeTick":{"anyOf":[{"type":"number"},{"type":"null"}]},"trades":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["t","closeTick","trades"],"additionalProperties":false,"description":"One bucket of a market's activity: the last trade price in ticks at the end of the bucket and the trades executed inside it. A bucket without a trade carries the price of the bucket before it. The price is null before the market's first trade."},"TradingVenueMarketActivityLiquidity":{"type":"object","properties":{"bestBid":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketActivityQuote"},{"type":"null"}]},"bestAsk":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketActivityQuote"},{"type":"null"}]},"spreadTicks":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The distance between the best offer and the best bid. Null when either side is empty or the book is crossed."},"spreadBps":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The spread in basis points of the mid price, to one decimal. Null when spreadTicks is null."},"bidShareBps":{"anyOf":[{"type":"integer","minimum":0,"maximum":10000},{"type":"null"}],"description":"The share of the resting quantity within the five best levels of each side that is bids, in basis points. Null when the market hides quantities from this caller or both sides are empty."},"indicativePriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"indicativeQuantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]}},"required":["bestBid","bestAsk","spreadTicks","spreadBps","bidShareBps","indicativePriceTick","indicativeQuantity"],"additionalProperties":false},"TradingVenueMarketActivityQuote":{"type":"object","properties":{"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The quantity resting at the price, or null when the market hides quantities from this caller."}},"required":["priceTick","quantity"],"additionalProperties":false},"TradingVenueMarketActivityRange":{"type":"object","properties":{"lastPositionBps":{"type":"integer","minimum":0,"maximum":10000,"description":"Where the last trade price sits between the day's low (0) and the day's high (10000), in basis points of the range. 5000 when the day's low and high are equal."},"openPositionBps":{"anyOf":[{"type":"integer","minimum":0,"maximum":10000},{"type":"null"}],"description":"Where the day's opening price sits in the same range. Null when the market has no opening price."}},"required":["lastPositionBps","openPositionBps"],"additionalProperties":false},"TradingVenueMarketTicker":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"openTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"highTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"lowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"baseVolume":{"type":"string","pattern":"^-?\\d+$"},"tradeCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"},"sessionOpenTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionHighTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionLowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"previousCloseTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changeTicks":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changePercent":{"anyOf":[{"type":"number"},{"type":"null"}]},"sessionVolume":{"type":"string","pattern":"^-?\\d+$"},"sessionValue":{"type":"string","pattern":"^-?\\d+$"},"bestBidTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"bestBidQty":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"bestAskTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"bestAskQty":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"high52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The highest daily high, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"low52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The lowest daily low, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"range52wSince":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The start of the market's first trading day when the market has traded for less than 52 weeks, so the 52-week range covers only the days since then. Null when the range covers the full 52 weeks or the market has no trade."},"priceBandLimits":{"$ref":"#/components/schemas/TradingVenuePriceBandInForce"}},"required":["marketId","lastTradeTick","openTick","highTick","lowTick","baseVolume","tradeCount","asOf"],"additionalProperties":false},"TradingVenuePriceBandInForce":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["none"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["unanchored"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["bounded"]},"lowerTick":{"type":"string","pattern":"^-?\\d+$"},"upperTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["kind","lowerTick","upperTick"],"additionalProperties":false}],"description":"The price band in force: none when the market has no price band, unanchored when its dynamic band has no reference price yet and every order is refused, or bounded with the inclusive lower and upper limits in ticks."},"TradingVenueCandleList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueCandle"}},"indicators":{"$ref":"#/components/schemas/TradingVenueCandleIndicatorSeries"},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"more":{"type":"boolean","description":"True when the market holds candles older than the returned window."}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"TradingVenueCandleIndicatorSeries":{"type":"object","properties":{"sma":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"ema":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"vwap":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"bbUpper":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"bbMid":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"bbLower":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"rsi":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"macd":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"macdSignal":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}},"macdHistogram":{"type":"array","items":{"anyOf":[{"type":"number"},{"type":"null"}]}}},"additionalProperties":false,"description":"One array per requested indicator, each aligned to `data`: entry i belongs to candle i. Null while the indicator is still warming up, and null for a bar without a trade."},"TradingVenueCandle":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"interval":{"type":"string","enum":["1m","5m","15m","1h","4h","1d","1w"]},"bucketStart":{"$ref":"#/components/schemas/TimestampEncoded"},"open":{"type":"string","pattern":"^-?\\d+$"},"high":{"type":"string","pattern":"^-?\\d+$"},"low":{"type":"string","pattern":"^-?\\d+$"},"close":{"type":"string","pattern":"^-?\\d+$"},"volume":{"type":"string","pattern":"^-?\\d+$"},"tradeCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["marketId","interval","bucketStart","open","high","low","close","volume","tradeCount"],"additionalProperties":false},"TradingVenueOrderSignature":{"type":"object","properties":{"maker":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"orderHash":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["maker","recipient","signature","orderHash"],"additionalProperties":false},"EthereumHexEncoded":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"TradingVenueOrderSignRequest":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"expiry":{"$ref":"#/components/schemas/VenueOrderExpirySecondsEncoded"},"expiryDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate_1"},"epoch":{"type":"string","pattern":"^-?\\d+$"},"salt":{"type":"string","pattern":"^-?\\d+$"},"maxFeeBps":{"type":"string","pattern":"^-?\\d+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"externalMessageAuthorization":{"$ref":"#/components/schemas/TradingVenueExternalMessageAuthorization"}},"required":["marketId","side","priceTick","quantity","epoch","salt","maxFeeBps"],"additionalProperties":false},"TradingVenueExternalMessageAuthorization":{"type":"object","properties":{"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signature"],"additionalProperties":false,"description":"Signature a self custody wallet made over the typed data the previous answer returned in `data.signingPayload`."},"TradingVenueCalendarDate_1":{"type":"string","pattern":"^(\\d{4})-(\\d{2})-(\\d{2})$"},"VenueOrderExpirySecondsEncoded":{"type":"string","pattern":"^-?\\d+$","description":"Unix time in seconds at which the order lapses. The Console and Portal convention for good-till-cancelled orders is 32503680000 (the year 3000). The venue contract compares it with the block timestamp, so a millisecond value is refused.","examples":["1790900000"]},"TradingVenueOrderPlacementStatus":{"type":"object","properties":{"orderId":{"$ref":"#/components/schemas/OrderId"},"status":{"type":"string","enum":["processing","signing_pending","placed","failed"],"description":"`processing`: the order is being signed, checked and committed to escrow; it rests on the book only once its escrow commitment has landed. `signing_pending`: a custody approval holds the order signature (see approvalReference and approvalExpiresAt); repeat the same request with the same Idempotency-Key once an approver has decided. `placed`: the order rests on the book. `failed`: the order was refused or could not be committed; failureReason and failureMessage say why, and the same request with the same Idempotency-Key may be repeated."},"orderHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"replacesOrderId":{"anyOf":[{"$ref":"#/components/schemas/OrderId"},{"type":"null"}]},"approvalReference":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"approvalExpiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureMessage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["orderId","status","orderHash","replacesOrderId","approvalReference","approvalExpiresAt","failureReason","failureMessage"],"additionalProperties":false},"TradingVenueOrderAmended":{"type":"object","properties":{"amendedOrderId":{"$ref":"#/components/schemas/OrderId"},"orderId":{"$ref":"#/components/schemas/OrderId"},"priority":{"type":"string","enum":["kept","lost"]}},"required":["amendedOrderId","orderId","priority"],"additionalProperties":false,"description":"orderId is the order now live on the book: the amended order after a reduce, the replacement after a replace."},"TradingVenueOrderAmendRequest":{"type":"object","properties":{"amendment":{"$ref":"#/components/schemas/TradingVenueOrderAmendmentRequest"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["amendment"],"additionalProperties":false},"TradingVenueOrderAmendmentRequest":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderReduce"},{"$ref":"#/components/schemas/TradingVenueOrderReplaceRequest"}],"discriminator":{"propertyName":"kind","mapping":{"reduce":"#/components/schemas/TradingVenueOrderReduce","replace":"#/components/schemas/TradingVenueOrderReplaceRequest"}}},"TradingVenueOrderReplaceRequest":{"type":"object","properties":{"kind":{"type":"string","enum":["replace"]},"replacement":{"$ref":"#/components/schemas/TradingVenueOrderIntent"}},"required":["kind","replacement"],"additionalProperties":false,"description":"Swaps a resting order for a new one at a new price or a larger quantity. A replacement without maker and signature is signed by the caller's custody wallet inside this request. The replacement's quantity is what is still to trade; fills already on the original stay there. It takes a new order id and joins the back of the queue."},"TradingVenueOrderIntent":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueSignedOrderIntent"},{"$ref":"#/components/schemas/TradingVenueUnsignedOrderIntent"}]},"TradingVenueUnsignedOrderIntent":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"maker":{"not":{}},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"triggerTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"expiry":{"$ref":"#/components/schemas/VenueOrderExpirySecondsEncoded"},"expiryDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate_1"},"epoch":{"type":"string","pattern":"^-?\\d+$"},"salt":{"type":"string","pattern":"^-?\\d+$"},"maxFeeBps":{"type":"string","pattern":"^-?\\d+$"},"signature":{"not":{}}},"required":["marketId","side","orderType","timeInForce","priceTick","quantity","expiry","epoch","salt","maxFeeBps"],"additionalProperties":false,"description":"An order intent the venue signs with the caller's custody wallet in the same request. The executing wallet becomes the maker, and the recipient when none is named."},"TradingVenueSignedOrderIntent":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"maker":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"triggerTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"expiry":{"$ref":"#/components/schemas/VenueOrderExpirySecondsEncoded"},"expiryDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate_1"},"epoch":{"type":"string","pattern":"^-?\\d+$"},"salt":{"type":"string","pattern":"^-?\\d+$"},"maxFeeBps":{"type":"string","pattern":"^-?\\d+$"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["marketId","maker","recipient","side","orderType","timeInForce","priceTick","quantity","expiry","epoch","salt","maxFeeBps","signature"],"additionalProperties":false},"TradingVenueOrderReduce":{"type":"object","properties":{"kind":{"type":"string","enum":["reduce"]},"quantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["kind","quantity"],"additionalProperties":false,"description":"Lowers a resting order's total quantity in place. The order keeps its id, its signature and its place in the queue; the reservation behind the cut is released."},"TradingVenueEscrowRefundReconciled":{"type":"object","properties":{"reservationId":{"type":"string","minLength":1},"orderId":{"$ref":"#/components/schemas/OrderId"},"status":{"type":"string","enum":["released"],"description":"The commitment now reads as released, which the venue records only when the chain shows no lock."}},"required":["reservationId","orderId","status"],"additionalProperties":false},"TradingVenueEscrowRefundRetried":{"type":"object","properties":{"reservationId":{"type":"string","minLength":1},"orderId":{"$ref":"#/components/schemas/OrderId"},"retryEpoch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many deliberate retries this order's refund has been given, this one included. The order-expiry sweep sends the refund again under request keys no earlier attempt used."}},"required":["reservationId","orderId","retryEpoch"],"additionalProperties":false},"TradingVenueOrderCancelApproval":{"type":"object","properties":{"id":{"type":"string","minLength":1},"approvalId":{"type":"string","minLength":1},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"type":"string"},"orderId":{"type":"string"},"state":{"type":"string","enum":["proposed","approved","executing","rejected","executed","failed","reconciliation-required","expired"]},"reason":{"type":"string","minLength":3,"maxLength":500},"proposerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","approvalId","venueAddress","marketId","orderId","state","reason","proposerUserId","checkerUserId","decidedAt","createdAt"],"additionalProperties":false},"TradingVenueOrderCancelOperatorRequest":{"type":"object","properties":{"reason":{"type":"string","minLength":3,"maxLength":500}},"required":["reason"],"additionalProperties":false},"TradingVenueParticipantCancelAllRequest":{"type":"object","properties":{"reason":{"type":"string","minLength":3,"maxLength":500},"marketId":{"$ref":"#/components/schemas/MarketId"}},"required":["reason"],"additionalProperties":false,"description":"A request to cancel every open order of the participant named in the path, on one market or on the whole venue. It is a venue mass-cancel proposal filtered to that participant's wallet, so it waits for a second approver while the venue's maker-checker is on."},"TradingVenueOrderCancelled":{"type":"object","properties":{"orderId":{"$ref":"#/components/schemas/OrderId"},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"escrowRefund":{"type":"string","enum":["settled","queued"],"description":"`settled` when the order holds no escrow commitment or its refund has landed; `queued` while the refund is accepted by the transaction queue and not yet landed. The order is off the book either way."}},"required":["orderId","status","escrowRefund"],"additionalProperties":false},"TradingVenueOrderCancelRequest":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"TradingVenueOrderPlaced":{"type":"object","properties":{"orderId":{"$ref":"#/components/schemas/OrderId"},"orderHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"transactionHash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["orderId","orderHash","transactionHash"],"additionalProperties":false},"TradingVenueOrderPlaceRequest":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueSignedOrderPlaceRequest"},{"$ref":"#/components/schemas/TradingVenueUnsignedOrderPlaceRequest"}],"description":"A signed intent is placed as signed. An intent without maker and signature is signed by the caller's custody wallet inside this request, under the request's one wallet verification, and may name expiryDate instead of expiry."},"TradingVenueUnsignedOrderPlaceRequest":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"maker":{"not":{}},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"triggerTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"expiry":{"$ref":"#/components/schemas/VenueOrderExpirySecondsEncoded"},"expiryDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate_1"},"epoch":{"type":"string","pattern":"^-?\\d+$"},"salt":{"type":"string","pattern":"^-?\\d+$"},"maxFeeBps":{"type":"string","pattern":"^-?\\d+$"},"signature":{"not":{}},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["marketId","side","orderType","timeInForce","priceTick","quantity","epoch","salt","maxFeeBps"],"additionalProperties":false},"TradingVenueSignedOrderPlaceRequest":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"maker":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"triggerTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"expiry":{"$ref":"#/components/schemas/VenueOrderExpirySecondsEncoded"},"expiryDate":{"$ref":"#/components/schemas/TradingVenueCalendarDate_1"},"epoch":{"type":"string","pattern":"^-?\\d+$"},"salt":{"type":"string","pattern":"^-?\\d+$"},"maxFeeBps":{"type":"string","pattern":"^-?\\d+$"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["marketId","maker","recipient","side","orderType","timeInForce","priceTick","quantity","expiry","epoch","salt","maxFeeBps","signature"],"additionalProperties":false},"TradingVenueWalletMakerEpoch":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"epoch":{"type":"string","pattern":"^-?\\d+$"}},"required":["walletAddress","epoch"],"additionalProperties":false},"TradingVenueEscrowWithdrawn":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["walletAddress","tokenAddress","amount","transactionHash"],"additionalProperties":false},"TradingVenueEscrowBalanceTransitionBody":{"type":"object","properties":{"to":{"type":"string","enum":["withdrawn"]},"amount":{"type":"string","pattern":"^-?\\d+$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["to","amount"],"additionalProperties":false},"TradingVenueEscrowBalance":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"free":{"type":"string","pattern":"^-?\\d+$"},"locked":{"type":"string","pattern":"^-?\\d+$"}},"required":["walletAddress","tokenAddress","free","locked"],"additionalProperties":false},"TradingVenueReservation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"orderId":{"$ref":"#/components/schemas/OrderId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"status":{"type":"string","enum":["active","released"]},"committing":{"type":"boolean","description":"True while the order's escrow commit is still on its way: the venue holds the commitment, but the escrow balances and token allowances do not show its pull yet. Count it on top of a new order's amount before comparing that with the free escrow balance and the allowance."},"refundExhausted":{"type":"boolean","description":"True once the venue spent every retry on the refund of this commitment. The escrow still holds the units, and they come back only after an operator reconciles the refund. While it is false, an active commitment of a closed order is a refund the venue is still sending, so the held units return on their own."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","orderId","marketId","walletAddress","tokenAddress","amount","status","committing","refundExhausted","createdAt"],"additionalProperties":false},"CollectionCursorPageMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Rows that match the filters. Present on the first page only, the read sent without a cursor; a continuation page leaves it out, so a page costs the same at any depth.","examples":[21005]},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it back as the list's `cursor` with the same filters to read the next page.","examples":["2026-11-11T20:46:45.278163Z|03db47fa-c4de-4ec5-8b80-53865ad6ce58-4-0",null]}},"required":["nextCursor"],"additionalProperties":false,"description":"Keyset page facts: `nextCursor` on every page, `total` on the first page only. Read a list page by page with `nextCursor`."},"TradingVenueBlotterEntry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TradeId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"orderId":{"$ref":"#/components/schemas/OrderId"},"side":{"type":"string","enum":["buy","sell"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"notional":{"type":"string","pattern":"^-?\\d+$"},"fee":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The fee the fill was charged, or null until its trade settles on chain."},"vat":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The VAT calculated on the fill fee, or null until its trade settles on chain."},"feeBreakdown":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueResolvedFee"}},{"type":"null"}]},"fees":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueTradeFee"}},"status":{"type":"string","enum":["pending-delivery","delivered","undone"]},"undoReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settlementTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction that delivered the trade on chain, or null until it settles. Pass it as `transactionHash` to the reporting confirmations list for the caller's movements in that transaction, which can include other fills settled in the same batch."}},"required":["id","marketId","orderId","side","priceTick","quantity","notional","fee","vat","status","undoReason","executedAt","settlementTxHash"],"additionalProperties":false},"TradingVenueTradeFee":{"type":"object","properties":{"feeType":{"$ref":"#/components/schemas/TradingVenueTradeFeeType"},"amount":{"type":"string","pattern":"^-?\\d+$"},"vatAmount":{"type":"string","pattern":"^-?\\d+$"}},"required":["feeType","amount","vatAmount"],"additionalProperties":false},"TradingVenueOrderStreamFrameEncoded":{"type":"string","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/TradingVenueOrderStreamFrame"}},"TradingVenueOrderStreamFrame":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["snapshot"]},"eventId":{"$ref":"#/components/schemas/TradingVenueOrderStreamEventId"},"orders":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueOrder"}}},"required":["type","eventId","orders"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["order"]},"eventId":{"$ref":"#/components/schemas/TradingVenueOrderStreamEventId"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"changedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"order":{"$ref":"#/components/schemas/TradingVenueOrder"}},"required":["type","eventId","sequence","changedAt","order"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["trade"]},"eventId":{"$ref":"#/components/schemas/TradingVenueOrderStreamEventId"},"sequence":{"type":"string","pattern":"^-?\\d+$"},"changedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"trade":{"$ref":"#/components/schemas/TradingVenueOrderStreamTrade"}},"required":["type","eventId","sequence","changedAt","trade"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["notification"]},"eventId":{"$ref":"#/components/schemas/TradingVenueOrderStreamEventId"},"notification":{"$ref":"#/components/schemas/TradingVenueNotification"}},"required":["type","eventId","notification"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["heartbeat"]},"eventId":{"$ref":"#/components/schemas/TradingVenueOrderStreamEventId"}},"required":["type","eventId"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["error"]},"message":{"type":"string","minLength":1}},"required":["type","message"],"additionalProperties":false}]},"TradingVenueOrderStreamEventId":{"type":"string","pattern":"^(\\d{1,19})\\.(\\d{1,19})(?:\\.(\\d{1,19}))?(?:\\.[A-Za-z0-9_-]+)?$","description":"Opaque resume cursor for the caller's order stream."},"TradingVenueOrderStreamTrade":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TradeId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"orderId":{"$ref":"#/components/schemas/OrderId"},"side":{"type":"string","enum":["buy","sell"]},"priceTick":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"notional":{"type":"string","pattern":"^-?\\d+$"},"fee":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The fee the fill was charged, or null until its trade settles on chain."},"vat":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The VAT calculated on the fill fee, or null until its trade settles on chain."},"feeBreakdown":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueResolvedFee"}},{"type":"null"}]},"fees":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueTradeFee"}},"status":{"type":"string","enum":["pending-delivery","delivered","undone"]},"undoReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settlementTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction that delivered the trade on chain, or null until it settles. Pass it as `transactionHash` to the reporting confirmations list for the caller's movements in that transaction, which can include other fills settled in the same batch."}},"required":["id","marketId","orderId","side","priceTick","quantity","notional","fee","vat","status","undoReason","executedAt","settlementTxHash"],"additionalProperties":false},"TradingVenueOrder":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/OrderId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"makerAddress":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"triggerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"progress":{"$ref":"#/components/schemas/MeterProgress"},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"settlementStatus":{"type":"string","enum":["none","pending-settlement","partially-settled","completed","settlement-failed"]},"settlementFailureReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"orderHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"orderId":{"$ref":"#/components/schemas/OrderId"},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantName":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantWallet":{"$ref":"#/components/schemas/EvmAddress"},"member":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"cancelReason":{"anyOf":[{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},{"type":"null"}]},"cancelReasonText":{"anyOf":[{"type":"string"},{"type":"null"}]},"placedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"failedSide":{"type":"boolean"},"undoneQuantity":{"type":"string","pattern":"^-?\\d+$"}},"required":["id","marketId","makerAddress","side","orderType","timeInForce","priceTick","triggerTick","quantity","filledQuantity","progress","status","settlementStatus","settlementFailureReason","closeReason","orderHash","expiresAt","createdAt"],"additionalProperties":false},"MeterProgress":{"type":"object","properties":{"value":{"type":"number"},"max":{"type":"number"}},"required":["value","max"],"additionalProperties":false},"TradingVenueOrderDetail":{"type":"object","properties":{"order":{"$ref":"#/components/schemas/TradingVenueOrder"},"events":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueOrderEvent"}},"fills":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueOrderFill"}}},"required":["order","events","fills"],"additionalProperties":false},"TradingVenueOrderFill":{"type":"object","properties":{"tradeId":{"$ref":"#/components/schemas/TradeId"},"price":{"type":"string","pattern":"^-?\\d+$"},"quantity":{"type":"string","pattern":"^-?\\d+$"},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"settlementStatus":{"type":"string","enum":["pending-delivery","delivered","undone"]}},"required":["tradeId","price","quantity","at","settlementStatus"],"additionalProperties":false},"TradingVenueOrderEvent":{"type":"object","properties":{"sequence":{"type":"string","pattern":"^-?\\d+$"},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"type":{"type":"string"},"actor":{"type":"string","enum":["participant","operator","system"]},"actorId":{"anyOf":[{"type":"string"},{"type":"null"}]},"before":{"anyOf":[{"type":"object"},{"type":"null"}]},"after":{"type":"object"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["sequence","at","type","actor","actorId","before","after","reason"],"additionalProperties":false},"ParticipantId_10":{"type":"string","minLength":1,"description":"Keep orders of every wallet whose member is this participant: the participant's own wallets and the wallets of participants assigned to it as broker."},"TradingVenueOrderRefusal":{"type":"object","properties":{"id":{"type":"string"},"marketId":{"$ref":"#/components/schemas/MarketId"},"orderId":{"$ref":"#/components/schemas/OrderId"},"replacesOrderId":{"anyOf":[{"$ref":"#/components/schemas/OrderId"},{"type":"null"}]},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"reason":{"type":"string","enum":["rate-limit","open-order-cap","market-not-live","market-halted","market-suspended","venue-paused","unregistered-wallet","ineligible-wallet","suspended-wallet","identity-not-verified","wallet-not-admitted","desk-limit-exceeded","authorization-insufficient","max-fee-below-schedule","fee-cap-above-venue-maximum","signature-invalid","expired","invalid-order","idempotency-key-reused","static-band","dynamic-band","floor-price","above-price-band","below-price-band","no-band-anchor","max-quantity","max-notional","min-notional","not-market-participant","order-type-not-allowed","time-in-force-not-allowed","fok-outside-continuous","nationality-restricted","custody-approval-closed","units-time-locked","participant-suspended","participant-closed","participant-terminated","participant-trading-restricted","participant-blocked","market-access-denied","instrument-group-not-permitted","lot-size-mismatch","below-min-notional","below-min-quantity","market-not-visible","residence-restricted","gtd-date-not-trading-day","maturity-cutoff-reached","reservation-refused"]},"message":{"type":"string"},"refusedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","marketId","orderId","replacesOrderId","side","orderType","timeInForce","priceTick","quantity","reason","message","refusedAt"],"additionalProperties":false},"TradingVenueOrderRead":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrder"},{"$ref":"#/components/schemas/TradingVenueOrderSummary"}]},"TradingVenueOrderSummary":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/OrderId"},"marketId":{"$ref":"#/components/schemas/MarketId"},"makerAddress":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell"]},"orderType":{"type":"string","enum":["limit","market"]},"timeInForce":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"priceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"triggerTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"quantity":{"type":"string","pattern":"^-?\\d+$"},"filledQuantity":{"type":"string","pattern":"^-?\\d+$"},"progress":{"$ref":"#/components/schemas/MeterProgress"},"status":{"type":"string","enum":["pending_reservation","armed","working","partially_filled","filled","cancelled","expired","rejected","pruned","suspended"]},"settlementStatus":{"type":"string","enum":["none","pending-settlement","partially-settled","completed","settlement-failed"]},"settlementFailureReason":{"anyOf":[{"type":"string","enum":["bust","refused","reserver-removed"],"description":"Why a trade was undone. `bust` is an approved trade bust. `reserver-removed` is a reservation holder removed before delivery. `refused` is one of four outside causes found at delivery: a paused token, an escrow lock holding less than the legs need, a frozen sending side (the lock owner or the escrow), or a receiver the issuer put on the token's compliance bypass list during the holding period. Any other refusal by a receiver does not undo the trade: the refused leg is booked to the receiver's free balance in the venue escrow and the trade is delivered."},{"type":"null"}]},"closeReason":{"anyOf":[{"type":"string","enum":["filled","cancelled","expired","dust","protection-band","no-band-anchor","static-band","dynamic-band","floor-price","above-price-band","below-price-band","max-quantity","max-notional","ioc-remainder","fok-unfilled","replaced","session-closed","stop-trigger-failed","duplicate-order","lot-size","invalid-price","min-notional","collection-order-type","replace-stale","rejected"]},{"type":"null"}]},"orderHash":{"$ref":"#/components/schemas/EthereumHexEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"orderId":{"$ref":"#/components/schemas/OrderId"},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantName":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantWallet":{"$ref":"#/components/schemas/EvmAddress"},"member":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMember"},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"remainingQuantity":{"type":"string","pattern":"^-?\\d+$"},"closeActor":{"anyOf":[{"type":"string","enum":["participant","operator","system"]},{"type":"null"}]},"cancelReason":{"anyOf":[{"type":"string","enum":["maker","operator","operator-participant","epoch-sweep","chain-cancelled","band-prune","expiry","reservation-lapsed","gtd-date-closed"]},{"type":"null"}]},"cancelReasonText":{"anyOf":[{"type":"string"},{"type":"null"}]},"placedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"failedSide":{"type":"boolean"},"undoneQuantity":{"type":"string","pattern":"^-?\\d+$"}},"additionalProperties":false},"orderFieldsQuery":{"type":"object","properties":{"order":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the order resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"order":"id,marketId,side,orderType,quantity,filledQuantity,status,createdAt"}]},"TradingVenueMarketListingPreflight":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"ready":{"type":"boolean"},"checks":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueMarketListingAccessCheck"}}},"required":["venueAddress","ready","checks"],"additionalProperties":false},"TradingVenueMarketListingAccessCheck":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TradingVenueMarketListingAccessCheckId"},"passed":{"type":"boolean"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","passed","reason"],"additionalProperties":false},"TradingVenueMarketListingAccessCheckId":{"type":"string","enum":["operator-role","listing-signer","operations-binding","venue-submitter","pair-available"]},"TradingVenueFeeScheduleApprovalResult":{"type":"object","properties":{"approvalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"state":{"type":"string","enum":["proposed","approved","rejected"]},"marketId":{"$ref":"#/components/schemas/MarketId"},"version":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"schedule":{"$ref":"#/components/schemas/TradingVenueFeeSchedule"}},"required":["approvalId","state","marketId","version","schedule"],"additionalProperties":false},"TradingVenueFeeSchedule":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"venueId":{"type":"string","minLength":1},"marketId":{"$ref":"#/components/schemas/MarketId"},"version":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"types":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueFeeType"}},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"feeTypeId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"scope":{"type":"string","enum":["market","instrument"]},"marketId":{"anyOf":[{"$ref":"#/components/schemas/MarketId"},{"type":"null"}]},"instrumentAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"rangeMin":{"type":"string","pattern":"^-?\\d+$"},"rangeMax":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"percentageBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fixedAmount":{"type":"string","pattern":"^-?\\d+$"},"minimumAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"maximumAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"effectiveFrom":{"$ref":"#/components/schemas/TimestampEncoded"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","feeTypeId","scope","marketId","instrumentAddress","rangeMin","rangeMax","percentageBps","fixedAmount","minimumAmount","maximumAmount","effectiveFrom","version"],"additionalProperties":false}},"recordedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"recordedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"state":{"type":"string","enum":["active","pending","rejected"]},"approvalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["venueAddress","venueId","marketId","version","types","entries","recordedAt","recordedBy","state","approvalId"],"additionalProperties":false},"TradingVenueFeeType":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"venueId":{"type":"string","minLength":1},"code":{"type":"string","pattern":"^[a-z][a-z0-9._-]{0,63}$","minLength":1,"description":"Stable fee code, starting with a lowercase letter."},"name":{"type":"string","minLength":1},"recipientAccount":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell","both"]},"vatApplicable":{"type":"boolean"}},"required":["id","venueId","code","name","recipientAccount","side","vatApplicable"],"additionalProperties":false},"TradingVenueFeeScheduleDecision":{"type":"object","properties":{"decision":{"type":"string","enum":["approve","reject"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["decision"],"additionalProperties":false},"TradingVenueFeeScheduleUpdate":{"type":"object","properties":{"fromVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"types":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueFeeTypeInput"}},"entries":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueFeeScheduleEntryInput"}},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["fromVersion","types","entries"],"additionalProperties":false},"TradingVenueFeeScheduleEntryInput":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"feeTypeId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"scope":{"type":"string","enum":["market","instrument"]},"instrumentAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"rangeMin":{"type":"string","pattern":"^-?\\d+$"},"rangeMax":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"percentageBps":{"type":"integer","minimum":0,"maximum":10000},"fixedAmount":{"type":"string","pattern":"^-?\\d+$"},"minimumAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"maximumAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"effectiveFrom":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","feeTypeId","scope","instrumentAddress","rangeMin","rangeMax","percentageBps","fixedAmount","minimumAmount","maximumAmount","effectiveFrom"],"additionalProperties":false},"TradingVenueFeeTypeInput":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"code":{"type":"string","pattern":"^[a-z][a-z0-9._-]{0,63}$"},"name":{"type":"string","minLength":1},"recipientAccount":{"$ref":"#/components/schemas/EvmAddress"},"side":{"type":"string","enum":["buy","sell","both"]},"vatApplicable":{"type":"boolean"}},"required":["id","code","name","recipientAccount","side","vatApplicable"],"additionalProperties":false},"TradingVenueFeeSchedulePreview":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"$ref":"#/components/schemas/MarketId"},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"fees":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueResolvedFee"}},"total":{"type":"string","pattern":"^-?\\d+$"}},"required":["venueAddress","marketId","at","fees","total"],"additionalProperties":false},"TradingVenueFeeScheduleResult":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"makerFeeBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"takerFeeBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"transactionHash":{"type":"string"}},"required":["marketId","makerFeeBps","takerFeeBps","transactionHash"],"additionalProperties":false},"TradingVenueFeeSchedulePatch":{"type":"object","properties":{"makerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"takerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"afterCloseOn":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionDate"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"}},"required":["makerFeeBps","takerFeeBps"],"additionalProperties":false},"TradingVenueScheduledTransition":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"marketId":{"$ref":"#/components/schemas/MarketId"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/TradingVenueMarketTransitionTarget"},"effective":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionEffective"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"createdBy":{"$ref":"#/components/schemas/UserId"},"approvalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionStatus"},"outcomeReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"cancelledBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"cancelledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","marketId","venueAddress","to","effective","effectiveAt","reason","createdBy","approvalId","status","outcomeReason","createdAt","completedAt","cancelledBy","cancelledAt"],"additionalProperties":false},"TradingVenueScheduledTransitionStatus":{"type":"string","enum":["pending","applying","applied","skipped","failed","cancelled"],"description":"`pending` waits for its effective time; `applying` is being applied, including while its transaction is still pending on the transaction queue, or waits to retry after a transient refusal that queued no transaction (then `outcomeReason` names that refusal); `applied` moved the market (with `outcomeReason` when it applied more than 15 minutes after its effective time, for example once a transaction held on the queue settled late); `skipped` found the market already in the target state, delisted, or no longer able to make the move; `failed` was refused when it ran, or still could not run 15 minutes after its effective time (see `outcomeReason`); `cancelled` was withdrawn before it ran or while it waited to retry."},"TradingVenueScheduledTransitionEffective":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["at"]},"at":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["kind","at"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["after-close"]},"date":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionDate_1"}},"required":["kind","date"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["next-session-open"]}},"required":["kind"],"additionalProperties":false}],"description":"When the transition applies: at an instant, after the session close on a date in the market's time zone (the end of that date when it has no session), or at the next session's pre-open or open."},"TradingVenueMarketTransitionTarget":{"type":"string","enum":["halted","live","suspended","delisted"]},"TradingVenueScheduledTransitionCreate":{"type":"object","properties":{"to":{"$ref":"#/components/schemas/TradingVenueMarketTransitionTarget"},"effective":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionEffective"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"}},"required":["to","effective","reason"],"additionalProperties":false},"TradingVenueMarketWriteAccepted":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"status":{"type":"string","enum":["processing"],"description":"The write is accepted and runs on its own. Read the market at `Location` to see it take effect."}},"required":["marketId","status"],"additionalProperties":false},"TradingVenueMarketAdminResult":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"status":{"type":"string","enum":["pending","live","halted","suspended","delisted"]},"transactionHash":{"type":"string"},"cancelledOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/OrderId"}}},"required":["marketId","status","transactionHash"],"additionalProperties":false},"TradingVenueMarketTransitionRequest":{"type":"object","properties":{"to":{"$ref":"#/components/schemas/TradingVenueMarketTransitionTarget"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"emergencyHalt":{"type":"boolean"},"announce":{"anyOf":[{"type":"boolean","enum":[false]},{"$ref":"#/components/schemas/TradingVenueMarketTransitionAnnouncement"}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["to","reason"],"additionalProperties":false},"TradingVenueMarketTransitionAnnouncement":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"body":{"type":"string","minLength":1,"maxLength":10000}},"additionalProperties":false},"TradingVenueParticipantRemoved":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"prunedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"prunedOrderIds":{"type":"array","items":{"$ref":"#/components/schemas/OrderId"}}},"required":["marketId","walletAddress","prunedCount","prunedOrderIds"],"additionalProperties":false},"TradingVenueParticipantRemoveRequest":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"}},"required":["reason"],"additionalProperties":false},"TradingVenueMarketParticipant":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["marketId","participantId","walletAddress","createdAt"],"additionalProperties":false},"TradingVenueParticipantAddRequest":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["walletAddress","reason"],"additionalProperties":false},"TradingVenueListedMarketParticipant":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"classification":{"anyOf":[{"type":"string","enum":["retail","institutional","proprietary"]},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"access":{"$ref":"#/components/schemas/TradingVenueEffectiveParticipantAccess"}},"required":["marketId","participantId","walletAddress","createdAt","access"],"additionalProperties":false,"description":"A market participant as the Participants list shows it: the wallet, its client classification and the access it effectively has on the market."},"TradingVenueMarket":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/MarketId"},"venueId":{"type":"string","minLength":1,"examples":["0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"]},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"baseTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"escrowAddress":{"$ref":"#/components/schemas/EvmAddress"},"tickSize":{"type":"string","pattern":"^-?\\d+$"},"valuationPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"referencePriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"valuationEditable":{"type":"boolean"},"publishesBaseTokenPrice":{"type":"boolean"},"lotSize":{"type":"string","pattern":"^-?\\d+$"},"minNotional":{"type":"string","pattern":"^-?\\d+$"},"makerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"takerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"vatRateBps":{"$ref":"#/components/schemas/FeeRateBps"},"vatApplicable":{"type":"boolean"},"vatOnChain":{"type":"boolean","description":"Whether the venue collects VAT on chain as part of the signed fee budget, so a buyer signs a VAT-inclusive fee cap."},"feeSchedule":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketFeeCapSchedule"},{"type":"null"}],"description":"The tiers of the market's current fee schedule, which a trader needs to compute the fee limit an order must sign: the fixed, minimum and percentage fees the order can be charged across its most fills. Null when the market has no schedule. Present on a single-market read only."},"orderFee":{"type":"string","pattern":"^-?\\d+$"},"settlementFee":{"type":"string","pattern":"^-?\\d+$"},"protectionBandBps":{"$ref":"#/components/schemas/FeeRateBps"},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBand"},{"type":"null"}],"description":"The market's static or dynamic price band, or null when it has none."},"priceBandLimits":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBandLimits"},{"type":"null"}],"description":"The price band limits in force, in ticks, inclusive. A dynamic band widens these as trades reach a limit and resets them at the session close. Null when the market has no price band or its dynamic band has no reference price yet."},"priceBandType":{"$ref":"#/components/schemas/TradingVenueMarketPriceBandType"},"priceBandSource":{"$ref":"#/components/schemas/TradingVenueMarketPriceBandSource"},"priceBandReferenceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The current reference tick for a dynamic price band, or null when it has no anchor."},"status":{"type":"string","enum":["pending","live","halted","suspended","delisted"]},"statusReason":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},{"type":"null"}]},"mode":{"type":"string","enum":["continuous","auction-only"]},"private":{"type":"boolean"},"publishIndicative":{"$ref":"#/components/schemas/TradingVenuePublishIndicative"},"depthDeniedMode":{"$ref":"#/components/schemas/TradingVenueDepthDeniedMode"},"sponsorship":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketSponsorship"},{"type":"null"}]},"admissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Value of the securities made available for trading, in whole US dollars, as stated at listing. Null when the listing stated none."},"admissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Number of whole shares made available for trading, as stated at listing. Null when the listing stated none."},"admissionAsOf":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The date the stated value and share count were established, using the market's own valuation price as the valuation reference. Null when the listing stated none."},"goLiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The instant after which a complete pending listing may go live. Null when it may go live as soon as its ceremony completes."},"instrumentGroup":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueInstrumentGroupRef"},{"type":"null"}],"description":"The venue-defined instrument group the market belongs to. Null when it has none."},"assetType":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The base token's asset type, such as equity or bond. Null while the chain index has not recorded the token.","examples":["equity"]},"issuer":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The issuer name recorded in the base token's metadata. Null when the token records none.","examples":["Acme Holdings AG"]},"isin":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The ISIN recorded in the base token's metadata. Null when the token records none.","examples":["US0378331005"]},"restrictedResidenceCountries":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"participantDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"entitledDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"participantLevelFields":{"type":"array","prefixItems":[{"type":"string","enum":["price","quantity","orderCount"]}],"minItems":1,"items":{"type":"string","enum":["price","quantity","orderCount"]},"description":"The attributes of a book level that the market's participants see. The price is always shown; the venue operator sees every attribute.","examples":[["price","quantity","orderCount"],["price"],["price","quantity"]]},"auctionRemainder":{"type":"string","enum":["carry","cancel"]},"auctionPriceRounding":{"type":"string","enum":["block","nearest-half-up","nearest-half-down"]},"preopenPriceRule":{"type":"string","enum":["tie-average","previous-close"]},"nationalityCheck":{"$ref":"#/components/schemas/TradingVenueNationalityCheck"},"maturityCutoffDays":{"$ref":"#/components/schemas/TradingVenueMaturityCutoffDays"},"closeMethodology":{"type":"string","enum":["last-trade","vwap"]},"closeVwapWindowMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"announcementWindows":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},{"type":"null"}],"description":"This market's own issuer announcement windows. Null uses the venue's windows."},"closeNoTradeFallback":{"type":"string","enum":["auction-then-previous","previous-close"]},"holdingPeriodSeconds":{"type":"integer","minimum":0,"maximum":2592000},"sessionState":{"type":"string","enum":["closed","preopen","open-continuous","auction-collection","closing-auction","trade-at-last"]},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}]},"calendarTimezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The time zone of the trading calendar the market runs on: its own week, or the venue calendar it inherits. Null when the market has no trading calendar, so no scheduled session close ends a day order and the venue refuses one."},"allowedOrderTypes":{"type":"array","prefixItems":[{"type":"string","enum":["limit","market","stop"]}],"minItems":1,"items":{"type":"string","enum":["limit","market","stop"]},"examples":[["limit","market","stop"]]},"allowedTimeInForce":{"type":"array","prefixItems":[{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}],"minItems":1,"items":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"examples":[["gtc","gtd","day","ioc","fok"]]},"haltedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the market was halted, from the block time of the halt transaction. Null while the market is not halted, or while the chain index has not yet recorded the halt."},"haltedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Sender of the halt transaction. This is the transaction sender, which can be a relayer when the halt was submitted through one. Null while the market is not halted, or while the chain index has not yet recorded the halt. The chain records no halt reason, so none is returned."},"venuePaused":{"type":"boolean","description":"True while the market's venue is paused: it accepts no orders until a venue admin resumes it. Readable by anyone who can see the market."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"ceremony":{"$ref":"#/components/schemas/TradingVenueMarketCeremony"},"resumeWindow":{"$ref":"#/components/schemas/TradingVenueMarketResumeWindow"}},"required":["id","venueId","venueAddress","baseTokenAddress","quoteTokenAddress","escrowAddress","tickSize","lotSize","minNotional","makerFeeBps","takerFeeBps","vatRateBps","vatApplicable","protectionBandBps","status","mode","private","sponsorship","admissionValueUsd","admissionShares","admissionAsOf","participantDepthLevels","entitledDepthLevels","participantLevelFields","auctionRemainder","auctionPriceRounding","closeMethodology","closeVwapWindowMs","resumeCutoffMinutes","holdingPeriodSeconds","sessionState","timezone","allowedOrderTypes","allowedTimeInForce","haltedAt","haltedBy","venuePaused","createdAt"],"additionalProperties":false},"TradingVenueMarketResumeWindow":{"type":"object","properties":{"closeAt":{"$ref":"#/components/schemas/TimestampEncoded"},"cutoffMinutes":{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},"blockedNow":{"type":"boolean","description":"True while the current time is inside the cutoff: from the cutoff before the session close until the close itself. A resume is refused only in that window."}},"required":["closeAt","cutoffMinutes","blockedNow"],"additionalProperties":false,"description":"The resume cutoff window of a halted or suspended market with a cutoff and a session close, resolved by the server from the market's calendar."},"TradingVenueMarketCeremony":{"type":"object","properties":{"feedWriter":{"type":"string","enum":["complete","awaiting"]},"feeAccountEligibility":{"type":"string","enum":["complete","awaiting"]},"tradingSchedule":{"type":"string","enum":["complete","awaiting"]},"tradingModel":{"type":"string","enum":["complete","awaiting"]},"valuationPrice":{"type":"string","enum":["complete","awaiting"]},"floorPrice":{"type":"string","enum":["complete","awaiting"]},"listingRules":{"type":"string","enum":["complete","awaiting"]},"listingRulesRefusal":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueListingRulesRefusal"},{"type":"null"}]},"goLiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["feedWriter","feeAccountEligibility"],"additionalProperties":false},"TradingVenueListingRulesRefusal":{"anyOf":[{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/TradingVenueMarketAdmissionRefusalReason"},"field":{"$ref":"#/components/schemas/TradingVenueMarketAdmissionField"},"stated":{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},"minimum":{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"}},"required":["reason","field"],"additionalProperties":false},{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/TradingVenueMarketListingRefusalReason"},"conflictingMarketId":{"$ref":"#/components/schemas/MarketId"},"conflictingMode":{"type":"string","enum":["continuous","auction-only"]}},"required":["reason","conflictingMarketId","conflictingMode"],"additionalProperties":false}]},"TradingVenueMarketListingRefusalReason":{"anyOf":[{"type":"string","enum":["security-listed-under-another-trading-model"]}]},"TradingVenueMarketAdmissionField":{"type":"string","enum":["sponsorship","admissionValueUsd","admissionShares","admissionAsOf","allowedOrderTypes","allowedTimeInForce","participantLevelFields","instrumentGroupId"]},"TradingVenueMarketAdmissionRefusalReason":{"type":"string","enum":["listing-parameters-incomplete","sponsorship-requires-private-listing","admission-figures-missing","admission-value-below-minimum","admission-shares-below-minimum","admission-as-of-missing","admission-as-of-in-future","order-type-not-allowed","time-in-force-not-allowed","level-fields-not-allowed","instrument-group-unknown"]},"TradingVenueInstrumentGroupRef":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"code":{"$ref":"#/components/schemas/TradingVenueInstrumentGroupCode"},"name":{"$ref":"#/components/schemas/TradingVenueInstrumentGroupNameEncoded"}},"required":["id","code","name"],"additionalProperties":false,"description":"The venue-defined group a market belongs to."},"TradingVenueMarketSponsorship":{"type":"string","enum":["sponsored","unsponsored"],"description":"Who asked for a private listing: the issuer of the security (sponsored) or a holder of it (unsponsored). The venue refuses it on a public listing and applies the issuer's nationality restrictions to private sponsored listings only."},"TradingVenueMarketPriceBandSource":{"type":"string","enum":["venue","instrument","off"],"description":"Where the effective price band comes from: the venue default, an instrument override, or off."},"TradingVenueMarketPriceBandType":{"type":"string","enum":["static","dynamic","legacy","off"],"description":"The effective price-band type: static, dynamic, legacy, or off."},"TradingVenuePriceBandLimits":{"type":"object","properties":{"lowerTick":{"type":"string","pattern":"^-?\\d+$"},"upperTick":{"type":"string","pattern":"^-?\\d+$"}},"required":["lowerTick","upperTick"],"additionalProperties":false},"TradingVenueMarketFeeCapSchedule":{"type":"object","properties":{"types":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"side":{"type":"string","enum":["buy","sell","both"]}},"required":["id","side"],"additionalProperties":false}},"entries":{"type":"array","items":{"type":"object","properties":{"feeTypeId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"rangeMin":{"type":"string","pattern":"^-?\\d+$"},"rangeMax":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"percentageBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"fixedAmount":{"type":"string","pattern":"^-?\\d+$"},"minimumAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"maximumAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]}},"required":["feeTypeId","rangeMin","rangeMax","percentageBps","fixedAmount","minimumAmount","maximumAmount"],"additionalProperties":false}}},"required":["types","entries"],"additionalProperties":false},"TradingVenueMarketPatch":{"type":"object","properties":{"valuationPrice":{"type":"string","pattern":"^-?\\d+$"},"referencePrice":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"mode":{"type":"string","enum":["continuous","auction-only"]},"private":{"type":"boolean"},"publishIndicative":{"$ref":"#/components/schemas/TradingVenuePublishIndicative"},"depthDeniedMode":{"$ref":"#/components/schemas/TradingVenueDepthDeniedMode"},"sponsorship":{"$ref":"#/components/schemas/TradingVenueMarketSponsorship_1"},"admissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Value of the securities made available, in whole US dollars. Editable while the market is pending."},"admissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Number of whole shares made available. Editable while the market is pending."},"admissionAsOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"The date the stated value and share count were established, as a calendar day at UTC midnight. Editable while the market is pending, and cannot be in the future."},"goLiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The scheduled instant at which a complete pending listing may go live. Set null to remove the schedule."},"instrumentGroupId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"A group from the venue's instrument groups. Editable in any market status. Set null to remove the market from its group."},"restrictedResidenceCountries":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"participantDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"entitledDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"participantLevelFields":{"type":"array","prefixItems":[{"type":"string","enum":["price","quantity","orderCount"]}],"minItems":1,"items":{"type":"string","enum":["price","quantity","orderCount"]},"description":"The attributes of a book level that the market's participants see. The price is always shown; the venue operator sees every attribute.","examples":[["price","quantity","orderCount"],["price"],["price","quantity"]],"uniqueItems":true},"closeMethodology":{"type":"string","enum":["last-trade","vwap"]},"closeVwapWindowMs":{"anyOf":[{"type":"integer","minimum":1,"maximum":2147483647},{"type":"null"}]},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"announcementWindows":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},{"type":"null"}],"description":"This market's own issuer announcement windows. Null uses the venue's windows."},"closeNoTradeFallback":{"type":"string","enum":["auction-then-previous","previous-close"]},"holdingPeriodSeconds":{"type":"integer","minimum":0,"maximum":2592000},"auctionPriceRounding":{"type":"string","enum":["block","nearest-half-up","nearest-half-down"]},"minNotional":{"type":"string","pattern":"^-?\\d+$"},"preopenPriceRule":{"type":"string","enum":["tie-average","previous-close"]},"nationalityCheck":{"$ref":"#/components/schemas/TradingVenueNationalityCheck"},"maturityCutoffDays":{"$ref":"#/components/schemas/TradingVenueMaturityCutoffDays"},"allowedOrderTypes":{"type":"array","prefixItems":[{"type":"string","enum":["limit","market","stop"]}],"minItems":1,"items":{"type":"string","enum":["limit","market","stop"]},"examples":[["limit","market","stop"]],"uniqueItems":true},"allowedTimeInForce":{"type":"array","prefixItems":[{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}],"minItems":1,"items":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"examples":[["gtc","gtd","day","ioc","fok"]],"uniqueItems":true},"publishesBaseTokenPrice":{"type":"boolean"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"afterCloseOn":{"$ref":"#/components/schemas/TradingVenueScheduledTransitionDate"},"reason":{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"}},"additionalProperties":false},"TradingVenueMarketListingCleared":{"type":"object","properties":{"action":{"type":"string","enum":["marketsCreate"]}},"required":["action"],"additionalProperties":false,"description":"The instrument listing would be accepted now. Nothing was queued, signed, reserved or recorded. The refusals it can return are the ones `marketsCreate` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"TradingVenueMarketDraft":{"type":"object","properties":{"baseTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tickSize":{"type":"string","pattern":"^-?\\d+$"},"valuationPrice":{"type":"string","pattern":"^-?\\d+$"},"referencePrice":{"type":"string","pattern":"^-?\\d+$"},"lotSize":{"type":"string","pattern":"^-?\\d+$"},"minNotional":{"type":"string","pattern":"^-?\\d+$"},"makerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"takerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"protectionBandBps":{"type":"integer","minimum":1,"maximum":9007199254740991},"feeAccount":{"$ref":"#/components/schemas/EvmAddress"},"publishesBaseTokenPrice":{"type":"boolean"},"mode":{"type":"string","enum":["continuous","auction-only"]},"private":{"type":"boolean"},"publishIndicative":{"$ref":"#/components/schemas/TradingVenuePublishIndicative"},"depthDeniedMode":{"$ref":"#/components/schemas/TradingVenueDepthDeniedMode"},"sponsorship":{"$ref":"#/components/schemas/TradingVenueMarketSponsorship"},"admissionValueUsd":{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},"admissionShares":{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},"admissionAsOf":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"goLiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"instrumentGroupId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"A group from the venue's instrument groups. Omit to list the market without one."},"restrictedResidenceCountries":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"participantDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"entitledDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"participantLevelFields":{"type":"array","prefixItems":[{"type":"string","enum":["price","quantity","orderCount"]}],"minItems":1,"items":{"type":"string","enum":["price","quantity","orderCount"]},"description":"The attributes of a book level that the market's participants see. The price is always shown; the venue operator sees every attribute.","examples":[["price","quantity","orderCount"],["price"],["price","quantity"]],"uniqueItems":true},"auctionRemainder":{"type":"string","enum":["carry","cancel"]},"auctionPriceRounding":{"type":"string","enum":["block","nearest-half-up","nearest-half-down"]},"preopenPriceRule":{"type":"string","enum":["tie-average","previous-close"]},"nationalityCheck":{"$ref":"#/components/schemas/TradingVenueNationalityCheck"},"maturityCutoffDays":{"$ref":"#/components/schemas/TradingVenueMaturityCutoffDays"},"participants":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"closeMethodology":{"type":"string","enum":["last-trade","vwap"]},"closeVwapWindowMs":{"anyOf":[{"type":"integer","minimum":1,"maximum":2147483647},{"type":"null"}]},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"closeNoTradeFallback":{"type":"string","enum":["auction-then-previous","previous-close"]},"holdingPeriodSeconds":{"type":"integer","minimum":0,"maximum":2592000},"allowedOrderTypes":{"type":"array","prefixItems":[{"type":"string","enum":["limit","market","stop"]}],"minItems":1,"items":{"type":"string","enum":["limit","market","stop"]},"examples":[["limit","market","stop"]],"uniqueItems":true},"allowedTimeInForce":{"type":"array","prefixItems":[{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}],"minItems":1,"items":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"examples":[["gtc","gtd","day","ioc","fok"]],"uniqueItems":true},"bands":{"$ref":"#/components/schemas/TradingVenueBandIntent"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["baseTokenAddress","quoteTokenAddress","tickSize","valuationPrice","lotSize","minNotional","makerFeeBps","takerFeeBps","protectionBandBps","feeAccount"],"additionalProperties":false},"TradingVenueBandIntent":{"type":"object","properties":{"staticBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"staticBandAnchorTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"staticBandAnchorMode":{"$ref":"#/components/schemas/TradingVenueStaticBandAnchorMode"},"dynamicBandBps":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueBandBps"},{"type":"null"}]},"minOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinimumQuantityEncoded"},{"type":"null"}],"description":"Smallest order quantity this market accepts; null clears it, omitted keeps the stored minimum."},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumQuantityEncoded"},{"type":"null"}]},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMaximumAmountEncoded"},{"type":"null"}]},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverridesInput"},"floorTick":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueFloorTickEncoded"},{"type":"null"}]},"upperBandEnabled":{"type":"boolean"},"outOfBandCarryOver":{"$ref":"#/components/schemas/TradingVenueOutOfBandCarryOver"},"volatilityInterruption":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueVolatilityInterruptionRule"},{"type":"null"}],"description":"The market's automatic volatility interruption: a threshold from the reference price and how long trading is held when a trade would print beyond it. null switches it off, omitted keeps the stored rule."},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBand"},{"type":"null"}],"description":"Static (absolute minimum and maximum price) or dynamic (previous close ± a percentage that widens as trades reach a limit) price band; null switches it off, omitted keeps the stored band."},"priceBandSelection":{"$ref":"#/components/schemas/TradingVenueInstrumentPriceBandSelection"},"splitRatio":{"$ref":"#/components/schemas/TradingVenueSplitRatio"}},"required":["staticBandBps","dynamicBandBps","maxOrderQuantity","maxOrderNotional"],"additionalProperties":false,"description":"Price-band and order-limit settings for the new market, in the shape of the price-band update body without its verification. A venue that requires a second approver stores them with the held listing, and the approval applies them once the market exists; any other venue applies them in the same request that lists the market."},"TradingVenueMarketListingProposed":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TradingVenueConfigApproval"},"links":{"$ref":"#/components/schemas/TradingVenueSingleLinks"}},"required":["data","links"],"additionalProperties":false},"TradingVenueMarketCreated":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"transactionHash":{"type":"string"},"bandsFailure":{"$ref":"#/components/schemas/TradingVenueMarketBandsFailure"}},"required":["marketId","transactionHash"],"additionalProperties":false},"TradingVenueListedMarket":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/MarketId"},"venueId":{"type":"string","minLength":1,"examples":["0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1"]},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"baseTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"quoteTokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"escrowAddress":{"$ref":"#/components/schemas/EvmAddress"},"tickSize":{"type":"string","pattern":"^-?\\d+$"},"valuationPriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"referencePriceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"valuationEditable":{"type":"boolean"},"publishesBaseTokenPrice":{"type":"boolean"},"lotSize":{"type":"string","pattern":"^-?\\d+$"},"minNotional":{"type":"string","pattern":"^-?\\d+$"},"makerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"takerFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"vatRateBps":{"$ref":"#/components/schemas/FeeRateBps"},"vatApplicable":{"type":"boolean"},"vatOnChain":{"type":"boolean","description":"Whether the venue collects VAT on chain as part of the signed fee budget, so a buyer signs a VAT-inclusive fee cap."},"feeSchedule":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketFeeCapSchedule"},{"type":"null"}],"description":"The tiers of the market's current fee schedule, which a trader needs to compute the fee limit an order must sign: the fixed, minimum and percentage fees the order can be charged across its most fills. Null when the market has no schedule. Present on a single-market read only."},"orderFee":{"type":"string","pattern":"^-?\\d+$"},"settlementFee":{"type":"string","pattern":"^-?\\d+$"},"protectionBandBps":{"$ref":"#/components/schemas/FeeRateBps"},"priceBand":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBand"},{"type":"null"}],"description":"The market's static or dynamic price band, or null when it has none."},"priceBandLimits":{"anyOf":[{"$ref":"#/components/schemas/TradingVenuePriceBandLimits"},{"type":"null"}],"description":"The price band limits in force, in ticks, inclusive. A dynamic band widens these as trades reach a limit and resets them at the session close. Null when the market has no price band or its dynamic band has no reference price yet."},"priceBandType":{"$ref":"#/components/schemas/TradingVenueMarketPriceBandType"},"priceBandSource":{"$ref":"#/components/schemas/TradingVenueMarketPriceBandSource"},"priceBandReferenceTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The current reference tick for a dynamic price band, or null when it has no anchor."},"status":{"type":"string","enum":["pending","live","halted","suspended","delisted"]},"statusReason":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOperatorReasonEncoded"},{"type":"null"}]},"mode":{"type":"string","enum":["continuous","auction-only"]},"private":{"type":"boolean"},"publishIndicative":{"$ref":"#/components/schemas/TradingVenuePublishIndicative"},"depthDeniedMode":{"$ref":"#/components/schemas/TradingVenueDepthDeniedMode"},"sponsorship":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueMarketSponsorship"},{"type":"null"}]},"admissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Value of the securities made available for trading, in whole US dollars, as stated at listing. Null when the listing stated none."},"admissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Number of whole shares made available for trading, as stated at listing. Null when the listing stated none."},"admissionAsOf":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The date the stated value and share count were established, using the market's own valuation price as the valuation reference. Null when the listing stated none."},"goLiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The instant after which a complete pending listing may go live. Null when it may go live as soon as its ceremony completes."},"instrumentGroup":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueInstrumentGroupRef"},{"type":"null"}],"description":"The venue-defined instrument group the market belongs to. Null when it has none."},"assetType":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The base token's asset type, such as equity or bond. Null while the chain index has not recorded the token.","examples":["equity"]},"issuer":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The issuer name recorded in the base token's metadata. Null when the token records none.","examples":["Acme Holdings AG"]},"isin":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The ISIN recorded in the base token's metadata. Null when the token records none.","examples":["US0378331005"]},"restrictedResidenceCountries":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"participantDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"entitledDepthLevels":{"$ref":"#/components/schemas/TradingVenueMarketDepthLevels"},"participantLevelFields":{"type":"array","prefixItems":[{"type":"string","enum":["price","quantity","orderCount"]}],"minItems":1,"items":{"type":"string","enum":["price","quantity","orderCount"]},"description":"The attributes of a book level that the market's participants see. The price is always shown; the venue operator sees every attribute.","examples":[["price","quantity","orderCount"],["price"],["price","quantity"]]},"auctionRemainder":{"type":"string","enum":["carry","cancel"]},"auctionPriceRounding":{"type":"string","enum":["block","nearest-half-up","nearest-half-down"]},"preopenPriceRule":{"type":"string","enum":["tie-average","previous-close"]},"nationalityCheck":{"$ref":"#/components/schemas/TradingVenueNationalityCheck"},"maturityCutoffDays":{"$ref":"#/components/schemas/TradingVenueMaturityCutoffDays"},"closeMethodology":{"type":"string","enum":["last-trade","vwap"]},"closeVwapWindowMs":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"announcementWindows":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},{"type":"null"}],"description":"This market's own issuer announcement windows. Null uses the venue's windows."},"closeNoTradeFallback":{"type":"string","enum":["auction-then-previous","previous-close"]},"holdingPeriodSeconds":{"type":"integer","minimum":0,"maximum":2592000},"sessionState":{"type":"string","enum":["closed","preopen","open-continuous","auction-collection","closing-auction","trade-at-last"]},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}]},"calendarTimezone":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The time zone of the trading calendar the market runs on: its own week, or the venue calendar it inherits. Null when the market has no trading calendar, so no scheduled session close ends a day order and the venue refuses one."},"allowedOrderTypes":{"type":"array","prefixItems":[{"type":"string","enum":["limit","market","stop"]}],"minItems":1,"items":{"type":"string","enum":["limit","market","stop"]},"examples":[["limit","market","stop"]]},"allowedTimeInForce":{"type":"array","prefixItems":[{"type":"string","enum":["gtc","gtd","day","ioc","fok"]}],"minItems":1,"items":{"type":"string","enum":["gtc","gtd","day","ioc","fok"]},"examples":[["gtc","gtd","day","ioc","fok"]]},"haltedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the market was halted, from the block time of the halt transaction. Null while the market is not halted, or while the chain index has not yet recorded the halt."},"haltedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Sender of the halt transaction. This is the transaction sender, which can be a relayer when the halt was submitted through one. Null while the market is not halted, or while the chain index has not yet recorded the halt. The chain records no halt reason, so none is returned."},"venuePaused":{"type":"boolean","description":"True while the market's venue is paused: it accepts no orders until a venue admin resumes it. Readable by anyone who can see the market."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"ceremony":{"$ref":"#/components/schemas/TradingVenueMarketCeremony"},"resumeWindow":{"$ref":"#/components/schemas/TradingVenueMarketResumeWindow"},"ticker":{"$ref":"#/components/schemas/TradingVenueMarketListTicker"},"hourlyCloses":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueMarketClosePoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueMarketClosePoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["range","grain","points","figure","meta"],"additionalProperties":false,"description":"The closes of the last 24 hourly candles, oldest first, as a chart series. A quiet hour carries the last close forward, and points before the market's first trade are null. figure.current is the latest close and figure.previous the close 24 hours earlier, so figure.delta is the 24 hour change in ticks. Present only when the request includes hourlyCloses."}},"required":["id","venueId","venueAddress","baseTokenAddress","quoteTokenAddress","escrowAddress","tickSize","lotSize","minNotional","makerFeeBps","takerFeeBps","vatRateBps","vatApplicable","protectionBandBps","status","mode","private","sponsorship","admissionValueUsd","admissionShares","admissionAsOf","participantDepthLevels","entitledDepthLevels","participantLevelFields","auctionRemainder","auctionPriceRounding","closeMethodology","closeVwapWindowMs","resumeCutoffMinutes","holdingPeriodSeconds","sessionState","timezone","allowedOrderTypes","allowedTimeInForce","haltedAt","haltedBy","venuePaused","createdAt"],"additionalProperties":false},"TradingVenueMarketClosePoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"close":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","close"],"additionalProperties":false,"description":"The close of one hourly candle, in ticks. A quiet hour carries the last close forward; null before the market's first trade."},"TradingVenueMarketListTicker":{"type":"object","properties":{"marketId":{"$ref":"#/components/schemas/MarketId"},"lastTradeTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"openTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"highTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"lowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"baseVolume":{"type":"string","pattern":"^-?\\d+$"},"tradeCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"},"sessionOpenTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionHighTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"sessionLowTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"previousCloseTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changeTicks":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"changePercent":{"anyOf":[{"type":"number"},{"type":"null"}]},"sessionVolume":{"type":"string","pattern":"^-?\\d+$"},"sessionValue":{"type":"string","pattern":"^-?\\d+$"},"bestBidTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"bestBidQty":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"bestAskTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"bestAskQty":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]},"high52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The highest daily high, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"low52wTick":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The lowest daily low, in ticks, over the daily candles that started in the last 365 days, today's partial day included. A busted trade drops out once its daily candle is rebuilt. Null when the market has no trade in that window."},"range52wSince":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The start of the market's first trading day when the market has traded for less than 52 weeks, so the 52-week range covers only the days since then. Null when the range covers the full 52 weeks or the market has no trade."},"priceBandLimits":{"$ref":"#/components/schemas/TradingVenuePriceBandInForce"}},"required":["marketId","lastTradeTick","openTick","highTick","lowTick","baseVolume","tradeCount","asOf"],"additionalProperties":false},"TradingVenueMarketListFilter":{"type":"object","properties":{"tradeableNow":{"type":"string","enum":["true"],"description":"Keeps only the markets tradeable now for the caller: live, with a caller wallet holding an active registration in an identity registry that trusts the market's base or quote token. Omit the filter for every visible market."}},"additionalProperties":false},"TradingVenueDeploying":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"status":{"type":"string","enum":["deploying"],"description":"The venue is accepted and its factory transaction is on its way. The full venue read answers in its place once the venue is indexed."}},"required":["venueAddress","status"],"additionalProperties":false},"TradingVenueCreated":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"transactionHash":{"type":"string"}},"required":["venueAddress","transactionHash"],"additionalProperties":false},"TradingVenueDraft":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"country":{"type":"integer","minimum":0,"maximum":999},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["name"],"additionalProperties":false},"TradingVenueDetail":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","minLength":1,"description":"Display name the venue was created with."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What the venue is for, as its operator described it. Null when the venue was created without one."},"creatorAddress":{"$ref":"#/components/schemas/EvmAddress"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"accessManagerAddress":{"$ref":"#/components/schemas/EvmAddress"},"permissions":{"$ref":"#/components/schemas/TradingVenuePermissions"},"admission":{"$ref":"#/components/schemas/TradingVenueAdmissionPolicy"},"oneTradingModelPerSecurity":{"type":"boolean","description":"When true, the venue refuses a new market for a security it already lists under a different trading model (continuous or auction-only)."},"minimumAdmissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest value, in whole US dollars, of the securities a private listing must make available. Null uses the platform default of 100,000; 0 sets no minimum."},"minimumAdmissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest number of whole shares a private listing must make available. Null uses the platform default of 1,000; 0 sets no minimum."},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}],"description":"Largest order quantity, in base-token units, that a market on this venue accepts. The strictest venue and market value applies. Null means the venue sets no default."},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}],"description":"Largest order value, in quote-token units, that a market on this venue accepts. The strictest venue and market value applies. Null means the venue sets no default."},"minOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"},{"type":"null"}]},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrides"},"classTopics":{"$ref":"#/components/schemas/TradingVenueParticipantClassTopics"},"announcementAlert":{"$ref":"#/components/schemas/TradingVenueAnnouncementAlert"},"announcementWindows":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},"announcementWindowMode":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindowMode"},"residenceBlockList":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"orderRuleLimits":{"$ref":"#/components/schemas/TradingVenueOrderRuleLimits"},"marketDefaults":{"$ref":"#/components/schemas/TradingVenueMarketDefaults"},"paused":{"type":"boolean","description":"True while the venue is paused: it accepts no orders, opens no sessions, and settles nothing until a venue admin resumes it."},"pausedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the venue was paused, from the block time of the pause transaction. Null while the venue is not paused."},"pausedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Sender of the pause transaction. This is the transaction sender, which can be a relayer when the pause was submitted through one. Null while the venue is not paused."},"summary":{"$ref":"#/components/schemas/TradingVenueSummary"}},"required":["venueAddress","name","description","creatorAddress","createdAt","accessManagerAddress","permissions","admission","oneTradingModelPerSecurity","minimumAdmissionValueUsd","minimumAdmissionShares","resumeCutoffMinutes","paused","pausedAt","pausedBy","summary"],"additionalProperties":false},"TradingVenueSummary":{"type":"object","properties":{"asOf":{"$ref":"#/components/schemas/TimestampEncoded"},"restingOrders":{"type":"object","properties":{"orders":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Orders resting on a book now: working or partially filled, in any market of the venue."},"markets":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Markets of the venue that hold at least one resting order."}},"required":["orders","markets"],"additionalProperties":false,"description":"A point-in-time count: resting orders keep no history, so it has no prior period."},"trades":{"type":"object","properties":{"last24h":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count in the 24 hours up to and including `asOf`."},"prior24h":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count in the 24 hours before that window."}},"required":["last24h","prior24h"],"additionalProperties":false,"description":"Trades executed in each window, by execution time. A trade that was undone is not counted, as in the market ticker."},"settledBatches":{"type":"object","properties":{"last24h":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count in the 24 hours up to and including `asOf`."},"prior24h":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Count in the 24 hours before that window."}},"required":["last24h","prior24h"],"additionalProperties":false,"description":"Settlement batches that stand delivered, by the execution time of the batch (its latest trade), as the settlement-instructions read dates and states them. Undone and partially undone batches are not counted."},"pendingDeliveryBatches":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Settlement batches that still await delivery now, whenever their trades executed."}},"required":["asOf","restingOrders","trades","settledBatches","pendingDeliveryBatches"],"additionalProperties":false,"description":"Activity figures for the venue band, computed over every market of the venue. A venue with no activity answers zeros."},"TradingVenueAdmissionPolicy":{"type":"object","properties":{"requiredClaimTopics":{"type":"array","items":{"type":"string"},"description":"Claim topic ids, as decimal strings, every admitted identity must hold."},"requireMembership":{"type":"boolean"},"visibility":{"type":"string","enum":["discoverable","admitted-only"]}},"required":["requiredClaimTopics","requireMembership","visibility"],"additionalProperties":false},"TradingVenuePermissions":{"type":"object","properties":{"admin":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Accounts holding VENUE_ADMIN_ROLE: they grant and revoke the other two roles."},"operator":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Accounts holding VENUE_OPERATOR_ROLE: market administration, trade review, and the venue pause."},"submitter":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Accounts holding VENUE_SUBMITTER_ROLE: the engine accounts that submit settlement."},"holders":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueRoleHolder"},"description":"Every role holder with its grant time and grantor. An account holding two roles appears once per role. Lists the same accounts as admin, operator and submitter."}},"required":["admin","operator","submitter","holders"],"additionalProperties":false},"TradingVenueRoleHolder":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"role":{"$ref":"#/components/schemas/TradingVenueRole"},"grantedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"Block time of the grant. Null when the indexer stored the grant before it recorded block times; the role is still held."},"grantedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The account that made the grant: the sender argument of the access manager's RoleGranted event, not the transaction sender. Null for a grant indexed before the sender was recorded."},"validUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the role is revoked automatically. Null for a permanent grant."}},"required":["address","role","grantedAt","grantedBy","validUntil"],"additionalProperties":false},"TradingVenue":{"type":"object","properties":{"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","minLength":1,"description":"Display name the venue was created with."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"What the venue is for, as its operator described it. Null when the venue was created without one."},"creatorAddress":{"$ref":"#/components/schemas/EvmAddress"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"accessManagerAddress":{"$ref":"#/components/schemas/EvmAddress"},"permissions":{"$ref":"#/components/schemas/TradingVenuePermissions"},"admission":{"$ref":"#/components/schemas/TradingVenueAdmissionPolicy"},"oneTradingModelPerSecurity":{"type":"boolean","description":"When true, the venue refuses a new market for a security it already lists under a different trading model (continuous or auction-only)."},"minimumAdmissionValueUsd":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest value, in whole US dollars, of the securities a private listing must make available. Null uses the platform default of 100,000; 0 sets no minimum."},"minimumAdmissionShares":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueAdmissionUnitsEncoded"},{"type":"null"}],"description":"Smallest number of whole shares a private listing must make available. Null uses the platform default of 1,000; 0 sets no minimum."},"resumeCutoffMinutes":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueResumeCutoffMinutes"},{"type":"null"}]},"maxOrderQuantity":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}],"description":"Largest order quantity, in base-token units, that a market on this venue accepts. The strictest venue and market value applies. Null means the venue sets no default."},"maxOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderLimitUnitsEncoded"},{"type":"null"}],"description":"Largest order value, in quote-token units, that a market on this venue accepts. The strictest venue and market value applies. Null means the venue sets no default."},"minOrderNotional":{"anyOf":[{"$ref":"#/components/schemas/TradingVenueOrderMinNotionalEncoded"},{"type":"null"}]},"orderLimitOverrides":{"$ref":"#/components/schemas/TradingVenueParticipantOrderLimitOverrides"},"classTopics":{"$ref":"#/components/schemas/TradingVenueParticipantClassTopics"},"announcementAlert":{"$ref":"#/components/schemas/TradingVenueAnnouncementAlert"},"announcementWindows":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindows"},"announcementWindowMode":{"$ref":"#/components/schemas/TradingVenueAnnouncementWindowMode"},"residenceBlockList":{"$ref":"#/components/schemas/TradingVenueRestrictedResidenceCountries"},"orderRuleLimits":{"$ref":"#/components/schemas/TradingVenueOrderRuleLimits"},"marketDefaults":{"$ref":"#/components/schemas/TradingVenueMarketDefaults"},"paused":{"type":"boolean","description":"True while the venue is paused: it accepts no orders, opens no sessions, and settles nothing until a venue admin resumes it."},"pausedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the venue was paused, from the block time of the pause transaction. Null while the venue is not paused."},"pausedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Sender of the pause transaction. This is the transaction sender, which can be a relayer when the pause was submitted through one. Null while the venue is not paused."}},"required":["venueAddress","name","description","creatorAddress","createdAt","accessManagerAddress","permissions","admission","oneTradingModelPerSecurity","minimumAdmissionValueUsd","minimumAdmissionShares","resumeCutoffMinutes","paused","pausedAt","pausedBy"],"additionalProperties":false},"ReturnsCollectedSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReturnsCollectedItem"}}},"required":["items"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false,"description":"Every return the acting wallet claimed in the transaction, read from the indexed claim events. An empty list means no claim by this wallet is indexed for the transaction.","examples":[{"data":{"items":[{"returnType":"interest","tokenAddress":"0x1111111111111111111111111111111111111111","tokenName":"Grey Matter Bond","tokenSymbol":"GMB","featureAddress":"0x2222222222222222222222222222222222222222","dividendId":null,"amountExact":"43700000","denominationAddress":"0x3333333333333333333333333333333333333333","denominationSymbol":"EURC","denominationDecimals":6}]},"links":{"self":"/api/v2/portfolio/returns/collections/0x4444444444444444444444444444444444444444444444444444444444444444"}}]},"ReturnsCollectedItem":{"type":"object","properties":{"returnType":{"type":"string","enum":["fixed","dividend","interest"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenName":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountExact":{"type":"string","pattern":"^[0-9]+$"},"denominationAddress":{"$ref":"#/components/schemas/EvmAddress"},"denominationSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationDecimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["returnType","tokenAddress","tokenName","tokenSymbol","featureAddress","dividendId","amountExact","denominationAddress","denominationSymbol","denominationDecimals"],"additionalProperties":false,"description":"One return the acting wallet claimed in the transaction, as the indexed claim event recorded it. dividendId is set for a dividend and null otherwise. amountExact is the amount the claim paid, in the denomination asset's smallest unit; a fixed-yield claim sums every period it paid."},"ReturnsCollectionSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReturnsCollectionResultItem"}},"remaining":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["items","remaining"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","enum":["/api/v2/portfolio/returns/collections"]}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false,"description":"One result per claimed item, in claim order, and remaining: the collectable items this request did not attempt because at most ten are claimed per request. A failed or skipped item carries a reason and a message; the others were still claimed.","examples":[{"data":{"items":[{"returnType":"dividend","tokenAddress":"0x1111111111111111111111111111111111111111","tokenName":"Grey Matter Equity","tokenSymbol":"GME","featureAddress":"0x2222222222222222222222222222222222222222","dividendId":"3","amountExact":"40000000","denominationAddress":"0x3333333333333333333333333333333333333333","denominationSymbol":"EURC","denominationDecimals":6,"status":"collected","transactionId":"tx_01J8Z6Q0000000000000000000","transactionHash":"0x4444444444444444444444444444444444444444444444444444444444444444","reason":null,"message":null}],"remaining":0},"links":{"self":"/api/v2/portfolio/returns/collections"}}]},"ReturnsCollectionResultItem":{"type":"object","properties":{"returnType":{"type":"string","enum":["fixed","dividend","interest"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenName":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountExact":{"type":"string","pattern":"^[0-9]+$"},"denominationAddress":{"$ref":"#/components/schemas/EvmAddress"},"denominationSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationDecimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"status":{"type":"string","enum":["collected","queued","failed","skipped"]},"transactionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","enum":["nothing-to-collect","not-indexed","feature-not-attached","transaction-reverted","queue-unavailable","not-authorized","compliance-rejected","state-unavailable"]},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["returnType","tokenAddress","tokenName","tokenSymbol","featureAddress","dividendId","amountExact","denominationAddress","denominationSymbol","denominationDecimals","status","transactionId","transactionHash","reason","message"],"additionalProperties":false,"description":"The outcome of one claim. collected carries the settled transaction, queued carries a transaction the queue accepted but has not settled, failed and skipped carry a reason and message."},"ReturnsCollectableSuccess":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ReturnsCollectableItem"}}},"required":["items"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","enum":["/api/v2/portfolio/returns/collectable"]}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false,"description":"Every return the acting wallet can collect now, in the order a collection claims them: fixed treasury yield, then dividends by payment date, then interest. An empty list means there is nothing to collect.","examples":[{"data":{"items":[{"returnType":"dividend","tokenAddress":"0x1111111111111111111111111111111111111111","tokenName":"Grey Matter Equity","tokenSymbol":"GME","featureAddress":"0x2222222222222222222222222222222222222222","dividendId":"3","amountExact":"40000000","denominationAddress":"0x3333333333333333333333333333333333333333","denominationSymbol":"EURC","denominationDecimals":6}]},"links":{"self":"/api/v2/portfolio/returns/collectable"}}]},"ReturnsCollectableItem":{"type":"object","properties":{"returnType":{"type":"string","enum":["fixed","dividend","interest"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenName":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"dividendId":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"amountExact":{"type":"string","pattern":"^[0-9]+$"},"denominationAddress":{"$ref":"#/components/schemas/EvmAddress"},"denominationSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"denominationDecimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["returnType","tokenAddress","tokenName","tokenSymbol","featureAddress","dividendId","amountExact","denominationAddress","denominationSymbol","denominationDecimals"],"additionalProperties":false,"description":"One return the acting wallet can collect now. dividendId is set for a dividend and null otherwise. amountExact is in the denomination asset's smallest unit."},"TokenRecord":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"tokenFactory":{"$ref":"#/components/schemas/EvmAddress"},"complianceContract":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"identityRegistry":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"type":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"name":{"type":"string"},"symbol":{"type":"string"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"totalSupply":{"$ref":"#/components/schemas/BigDecimal"},"totalSupplyExact":{"$ref":"#/components/schemas/AssetAmount"},"extensions":{"$ref":"#/components/schemas/AssetExtensionArray"},"implementsERC3643":{"type":"boolean"},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"implementsSMART":{"type":"boolean"},"identity":{"$ref":"#/components/schemas/TokenRecordIdentity"},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"collateral":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordCollateral"},{"type":"null"}]},"capped":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordCapped"},{"type":"null"}]},"createdBy":{"$ref":"#/components/schemas/TokenRecordAddressRef"},"redeemable":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordRedeemable"},{"type":"null"}]},"yield":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordYield"},{"type":"null"}]},"bond":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordBond"},{"type":"null"}]},"fund":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordFund"},{"type":"null"}]},"accessControl":{"$ref":"#/components/schemas/AccessControl"},"complianceModuleConfigs":{"type":"array","items":{"$ref":"#/components/schemas/TokenRecordComplianceModuleConfig"}},"userPermissions":{"$ref":"#/components/schemas/TokenRecordUserPermissions"},"stats":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordStats"},{"type":"null"}]}},"required":["id","tokenFactory","complianceContract","identityRegistry","type","createdAt","name","symbol","decimals","basePrice","basePriceCurrencyCode","totalSupply","extensions","implementsERC3643","smartInterface","implementsSMART","pausable","collateral","capped","createdBy","redeemable","yield","bond","fund","complianceModuleConfigs","stats"],"additionalProperties":false,"description":"Indexed token. Amounts such as `totalSupply` are decimal-adjusted. `*Exact` fields are raw uint256 decimal strings. Extension blocks (`bond`, `yield`, `fund`, `capped`, `collateral`, `redeemable`) are `null` when that feature is not installed."},"TokenRecordStats":{"type":"object","properties":{"balancesCount":{"type":"number"},"totalValueInBaseCurrency":{"$ref":"#/components/schemas/BigDecimal"},"totalBurned":{"$ref":"#/components/schemas/BigDecimal"},"totalBurnedExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["balancesCount","totalValueInBaseCurrency","totalBurned","totalBurnedExact"],"additionalProperties":false},"AssetAmount":{"type":"string","pattern":"^[0-9]+$","description":"Non-negative uint256 asset amount decoded to a bigint"},"BigDecimal":{"anyOf":[{"type":"string"},{"type":"number"}],"description":"A decimal number with arbitrary precision"},"TokenRecordUserPermissions":{"type":"object","properties":{"roles":{"type":"object","properties":{"admin":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"custodian":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"emergency":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fundsManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"governance":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"saleAdmin":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"supplyManagement":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":false},"actions":{"$ref":"#/components/schemas/TokenRecordPermissionActions"}},"required":["roles","actions"],"additionalProperties":false},"TokenRecordPermissionActions":{"type":"object","properties":{"burn":{"type":"boolean"},"grantRole":{"type":"boolean"},"grantRoleByParticipant":{"type":"boolean"},"revokeRole":{"type":"boolean"},"revokeRoleByParticipant":{"type":"boolean"},"mint":{"type":"boolean"},"pause":{"type":"boolean"},"addComplianceModule":{"type":"boolean"},"approve":{"type":"boolean"},"forcedRecover":{"type":"boolean"},"freezeAddress":{"type":"boolean"},"recoverERC20":{"type":"boolean"},"recoverTokens":{"type":"boolean"},"redeem":{"type":"boolean"},"mature":{"type":"boolean"},"removeComplianceModule":{"type":"boolean"},"setCap":{"type":"boolean"},"setComplianceModuleParams":{"type":"boolean"},"setYieldSchedule":{"type":"boolean"},"topUpDenominationAsset":{"type":"boolean"},"withdrawDenominationAsset":{"type":"boolean"},"transfer":{"type":"boolean"},"forcedTransfer":{"type":"boolean"},"unpause":{"type":"boolean"},"updateCollateral":{"type":"boolean"},"freezePartial":{"type":"boolean"},"unfreezePartial":{"type":"boolean"},"claimIssue":{"type":"boolean"},"claimRevoke":{"type":"boolean"},"setMetadata":{"type":"boolean"},"removeMetadata":{"type":"boolean"},"setAumFeeBps":{"type":"boolean"},"setAumFeeRecipient":{"type":"boolean"},"approveTransfer":{"type":"boolean"},"revokeTransferApproval":{"type":"boolean"},"collectAumFee":{"type":"boolean"},"freezeAumFeeRate":{"type":"boolean"},"claimYield":{"type":"boolean"},"setYieldTreasury":{"type":"boolean"},"matureEarly":{"type":"boolean"},"setMaturityTreasury":{"type":"boolean"},"topUpMaturityTreasury":{"type":"boolean"},"topUpYieldTreasury":{"type":"boolean"},"topUpBondDenomination":{"type":"boolean"},"setTransactionFeeRates":{"type":"boolean"},"setTransactionFeeRecipient":{"type":"boolean"},"freezeTransactionFeeRates":{"type":"boolean"},"setExternalTransactionFees":{"type":"boolean"},"setExternalTransactionFeeRecipient":{"type":"boolean"},"setExternalTransactionFeeToken":{"type":"boolean"},"freezeExternalTransactionFees":{"type":"boolean"},"setTransactionFeeAccountingRates":{"type":"boolean"},"setTransactionFeeAccountingRecipient":{"type":"boolean"},"freezeTransactionFeeAccountingRates":{"type":"boolean"},"reconcileFees":{"type":"boolean"},"setFeeExemption":{"type":"boolean"},"delegate":{"type":"boolean"},"delegateBySig":{"type":"boolean"},"permit":{"type":"boolean"},"publishTrigger":{"type":"boolean"},"disableTrigger":{"type":"boolean"},"setConversionWindow":{"type":"boolean"},"convert":{"type":"boolean"},"forceConvert":{"type":"boolean"},"addAuthorizedConverter":{"type":"boolean"},"removeAuthorizedConverter":{"type":"boolean"},"addHoldReserver":{"type":"boolean"},"removeHoldReserver":{"type":"boolean"},"setPrice":{"type":"boolean"},"featureAttach":{"type":"boolean"},"featureDetach":{"type":"boolean"},"featureRotate":{"type":"boolean"}},"required":["burn","grantRole","grantRoleByParticipant","revokeRole","revokeRoleByParticipant","mint","pause","addComplianceModule","approve","forcedRecover","freezeAddress","recoverERC20","recoverTokens","redeem","mature","removeComplianceModule","setCap","setComplianceModuleParams","setYieldSchedule","topUpDenominationAsset","withdrawDenominationAsset","transfer","forcedTransfer","unpause","updateCollateral","freezePartial","unfreezePartial","claimIssue","claimRevoke","setMetadata","removeMetadata","setAumFeeBps","setAumFeeRecipient","approveTransfer","revokeTransferApproval","collectAumFee","freezeAumFeeRate","claimYield","setYieldTreasury","matureEarly","setMaturityTreasury","topUpMaturityTreasury","topUpYieldTreasury","topUpBondDenomination","setTransactionFeeRates","setTransactionFeeRecipient","freezeTransactionFeeRates","setExternalTransactionFees","setExternalTransactionFeeRecipient","setExternalTransactionFeeToken","freezeExternalTransactionFees","setTransactionFeeAccountingRates","setTransactionFeeAccountingRecipient","freezeTransactionFeeAccountingRates","reconcileFees","setFeeExemption","delegate","delegateBySig","permit","publishTrigger","disableTrigger","setConversionWindow","convert","forceConvert","addAuthorizedConverter","removeAuthorizedConverter","addHoldReserver","removeHoldReserver","setPrice","featureAttach","featureDetach","featureRotate"],"additionalProperties":false},"TokenRecordComplianceModuleConfig":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EthereumCompositeIdEncoded"},"complianceModule":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"}},"required":["typeId"],"additionalProperties":false}},"required":["id","complianceModule"],"additionalProperties":false,"description":"Enabled compliance module for this token"},"ComplianceTypeId":{"type":"string","enum":["address-block-list","address-block-list-v2","capital-raise-limit","capped","capped-v2","claim-expiry","collateral","collateral-v2","country-allow-list","country-allow-list-v2","country-block-list","country-block-list-v2","identity-allow-list","identity-allow-list-v2","identity-block-list","identity-block-list-v2","identity-verification","identity-verification-v2","investor-count","investor-count-v2","identity-count","issuance-volume-limit","lock-up","minimum-holding","own-custody-gateway","time-lock","time-lock-v2","token-supply-limit","transfer-approval","transfer-approval-v2"],"description":"Compliance module typeId identifier"},"EthereumCompositeIdEncoded":{"type":"string","minLength":82,"maxLength":82,"pattern":"^0x[a-fA-F0-9]{80}$"},"AccessControl":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"addonModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"addonRegistryModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"admin":{"$ref":"#/components/schemas/AccessControlAccountArray"},"auditor":{"$ref":"#/components/schemas/AccessControlAccountArray"},"claimPolicyManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"claimIssuer":{"$ref":"#/components/schemas/AccessControlAccountArray"},"complianceManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"custodian":{"$ref":"#/components/schemas/AccessControlAccountArray"},"emergency":{"$ref":"#/components/schemas/AccessControlAccountArray"},"feedsManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"fundsManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"gasManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"governance":{"$ref":"#/components/schemas/AccessControlAccountArray"},"identityManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"identityRegistryModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"organisationIdentityManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"saleAdmin":{"$ref":"#/components/schemas/AccessControlAccountArray"},"supplyManagement":{"$ref":"#/components/schemas/AccessControlAccountArray"},"systemManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"systemModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"tokenFactoryModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"tokenFactoryRegistryModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"tokenManager":{"$ref":"#/components/schemas/AccessControlAccountArray"},"trustedIssuersMetaRegistryModule":{"$ref":"#/components/schemas/AccessControlAccountArray"},"addonManager":{"$ref":"#/components/schemas/AccessControlAccountArrayEncoded"},"venueManager":{"$ref":"#/components/schemas/AccessControlAccountArrayEncoded"},"assetDesigner":{"$ref":"#/components/schemas/AccessControlAccountArrayEncoded"},"bankRailManager":{"$ref":"#/components/schemas/AccessControlAccountArrayEncoded"},"custodyGatewayPermissionManager":{"$ref":"#/components/schemas/AccessControlAccountArrayEncoded"},"escrowManager":{"$ref":"#/components/schemas/AccessControlAccountArrayEncoded"},"roleAdmins":{"$ref":"#/components/schemas/AccessControlRoleAdminsEncoded"}},"required":["id","addonModule","addonRegistryModule","admin","auditor","claimPolicyManager","claimIssuer","complianceManager","custodian","emergency","feedsManager","fundsManager","gasManager","governance","identityManager","identityRegistryModule","organisationIdentityManager","saleAdmin","supplyManagement","systemManager","systemModule","tokenFactoryModule","tokenFactoryRegistryModule","tokenManager","trustedIssuersMetaRegistryModule"],"additionalProperties":false},"AccessControlRoleAdminsEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRoleAdmin"}},{"type":"null"}]},"AccessControlRoleAdmin":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EthereumHexEncoded"},"role":{"$ref":"#/components/schemas/EthereumHexEncoded"},"roleFieldName":{"$ref":"#/components/schemas/AccessControlRole"},"adminRole":{"$ref":"#/components/schemas/EthereumHexEncoded"},"adminFieldName":{"$ref":"#/components/schemas/AccessControlRole"}},"required":["id","role","roleFieldName","adminRole","adminFieldName"],"additionalProperties":false},"AccessControlRole":{"type":"string","enum":["addonManager","addonModule","addonRegistryModule","admin","assetDesigner","auditor","bankRailManager","claimPolicyManager","claimIssuer","complianceManager","custodian","custodyGatewayPermissionManager","emergency","escrowManager","feedsManager","fundsManager","gasManager","governance","identityManager","identityRegistryModule","organisationIdentityManager","saleAdmin","supplyManagement","systemManager","systemModule","tokenFactoryModule","tokenFactoryRegistryModule","tokenManager","venueManager","trustedIssuersMetaRegistryModule"]},"AccessControlAccountArrayEncoded":{"anyOf":[{"$ref":"#/components/schemas/AccessControlAccountArray"},{"type":"null"}]},"AccessControlAccountArray":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlAccount"}},"AccessControlAccount":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"isContract":{"type":"boolean"}},"required":["id","isContract"],"additionalProperties":false},"TokenRecordFund":{"type":"object","properties":{"managementFeeBps":{"$ref":"#/components/schemas/BigDecimal"}},"required":["managementFeeBps"],"additionalProperties":false},"TokenRecordBond":{"type":"object","properties":{"faceValue":{"$ref":"#/components/schemas/BigDecimal"},"faceValueExact":{"$ref":"#/components/schemas/AssetAmount"},"isMatured":{"type":"boolean"},"maturityDate":{"$ref":"#/components/schemas/TimestampEncoded"},"totalRedeemed":{"$ref":"#/components/schemas/BigDecimal"},"totalRedeemedExact":{"$ref":"#/components/schemas/AssetAmount"},"denominationAsset":{"$ref":"#/components/schemas/TokenRecordDenominationAsset"}},"required":["faceValue","faceValueExact","isMatured","maturityDate","totalRedeemed","totalRedeemedExact","denominationAsset"],"additionalProperties":false},"TokenRecordDenominationAsset":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"}},"required":["id","symbol","decimals"],"additionalProperties":false,"description":"Asset used to denominate bond face value or yield payments"},"DecimalsEncoded":{"anyOf":[{"type":"string"},{"type":"number"}]},"AssetSymbol":{"type":"string","minLength":1,"maxLength":24,"pattern":"^[A-Z0-9]+$","description":"Trading symbol for the asset","examples":["ETH","BTC","USDC","AAPL"]},"TokenRecordYield":{"type":"object","properties":{"schedule":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"$ref":"#/components/schemas/TokenRecordDenominationAsset"}},"required":["id","denominationAsset"],"additionalProperties":false},{"type":"null"}]}},"required":["schedule"],"additionalProperties":false},"TokenRecordRedeemable":{"type":"object","properties":{"redeemedAmount":{"$ref":"#/components/schemas/BigDecimal"},"redeemedAmountExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["redeemedAmount"],"additionalProperties":false},"TokenRecordAddressRef":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Reference to an account or contract by address"},"TokenRecordCapped":{"type":"object","properties":{"cap":{"$ref":"#/components/schemas/BigDecimal"},"capExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["cap","capExact"],"additionalProperties":false},"TokenRecordCollateral":{"type":"object","properties":{"collateral":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"collateralExact":{"$ref":"#/components/schemas/AssetAmount"},"expiryTimestamp":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["expiryTimestamp"],"additionalProperties":false},"TokenRecordIdentity":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"contractName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"isContract":{"type":"boolean"},"registered":{"$ref":"#/components/schemas/TokenRecordIdentityRegistration"},"claims":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/IdentityClaim"}},{"type":"null"}]}},"required":["id","account","isContract"],"additionalProperties":false,"description":"On-chain identity bound to this token. `registered` is the registry state; `claims` are the claims currently indexed for the identity."},"IdentityClaim":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"signature":{"type":"string"},"revoked":{"type":"boolean"},"issuer":{"$ref":"#/components/schemas/ClaimIssuer"},"values":{"type":"array","items":{"$ref":"#/components/schemas/ClaimValue"}},"isTrusted":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"required":["id","name","signature","revoked","issuer","values"],"additionalProperties":false},"ClaimValue":{"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"],"additionalProperties":false},"ClaimIssuer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]}},"required":["id","account"],"additionalProperties":false},"TokenRecordIdentityRegistration":{"anyOf":[{"$ref":"#/components/schemas/TokenRecordIdentityRegistered"},{"$ref":"#/components/schemas/TokenRecordIdentityUnregistered"}]},"TokenRecordIdentityUnregistered":{"type":"boolean","enum":[false],"description":"`false` means the identity is not registered in this registry"},"TokenRecordIdentityRegistered":{"type":"object","properties":{"isRegistered":{"type":"boolean","enum":[true]},"country":{"anyOf":[{"$ref":"#/components/schemas/ISOCountryCode"},{"type":"null"}]}},"required":["isRegistered","country"],"additionalProperties":false,"description":"The identity is registered and ACTIVE; `country` is the stored ISO alpha-2 code when one is set"},"ISOCountryCode":{"type":"string"},"AssetExtensionArray":{"type":"array","items":{"$ref":"#/components/schemas/AssetExtension"}},"AssetExtension":{"type":"string","enum":["ACCESS_MANAGED","BOND","BURNABLE","CAPPED","COLLATERAL","CONFIGURABLE","CUSTODIAN","FUND","HISTORICAL_BALANCES","METADATA","PAUSABLE","REDEEMABLE","YIELD"],"description":"Token extension capability"},"FiatCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"AssetTypeOrSlug":{"anyOf":[{"$ref":"#/components/schemas/AssetType"},{"$ref":"#/components/schemas/AssetTypeTemplateSlug"}]},"AssetTypeTemplateSlug":{"type":"string","minLength":1,"description":"Custom asset type template slug"},"AssetType":{"type":"string","enum":["bond","equity","fund","stablecoin","deposit","real-estate","precious-metal"],"description":"Type of financial asset"},"PausableFeatureId":{"type":"string","enum":["dividend-yield","interest-yield"]},"TokenFeatureTransitionTarget":{"type":"string","enum":["paused","active"]},"AccrualExclusionFeatureId":{"type":"string","enum":["interest-yield","fixed-treasury-yield"]},"TokenFeatureId":{"type":"string","enum":["historical-balances","maturity-redemption","fixed-treasury-yield","dividend-yield","interest-yield","voting-power","aum-fee","transaction-fee","transaction-fee-accounting","external-transaction-fee","conversion","conversion-minter","distribution-waterfall","permit","hold","register-lines","supply-delegate"]},"FeatureFieldDefinition":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256},"scalarType":{"type":"string","enum":["string","integer","number","decimal","boolean","address","date","entry-id"]},"required":{"type":"boolean"},"accepts":{"type":"array","items":{"type":"string","enum":["account","erc20","dalp-asset","feature"]},"minItems":1,"maxItems":4},"createInputKey":{"type":"string","minLength":1,"maxLength":128},"minimum":{"type":"number"},"maximum":{"type":"number"},"positive":{"type":"boolean"},"nonzero":{"type":"boolean"},"choices":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"fixedValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"reference":{"type":"object","properties":{"targets":{"type":"array","items":{"type":"string","enum":["token","feature"]},"minItems":1,"maxItems":2},"requiresFeature":{"type":"string","minLength":1,"maxLength":128},"acceptsFrom":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":2048},"allowSelf":{"type":"boolean"},"multipleInstances":{"type":"boolean"},"operation":{"type":"string","enum":["addAuthorizedConverter","bindClass"]},"reciprocal":{"type":"object","properties":{"featureId":{"type":"string","minLength":1,"maxLength":128},"fieldId":{"type":"string","minLength":1,"maxLength":128}},"required":["featureId","fieldId"],"additionalProperties":false},"linkedFeature":{"type":"object","properties":{"featureId":{"type":"string","minLength":1,"maxLength":128},"pointsBack":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1,"maxLength":128},"message":{"type":"string","minLength":1,"maxLength":256}},"required":["fieldId","message"],"additionalProperties":false},"sameValue":{"type":"object","properties":{"fieldId":{"type":"string","minLength":1,"maxLength":128},"message":{"type":"string","minLength":1,"maxLength":256}},"required":["fieldId","message"],"additionalProperties":false}},"required":["featureId"],"additionalProperties":false}},"required":["targets","allowSelf","multipleInstances"],"additionalProperties":false},"entryGroup":{"type":"object","properties":{"fields":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":8},"scope":{"type":"string","enum":["root","entry"]}},"required":["fields","scope"],"additionalProperties":false},"resolvedOnChain":{"type":"boolean"}},"required":["kind","id","label","scalarType","required"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FeatureFieldDefinition"}}},"required":["kind","id","label","fields"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["repeatable"]},"id":{"type":"string","minLength":1,"maxLength":128},"label":{"type":"string","minLength":1,"maxLength":256},"minEntries":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxEntries":{"type":"integer","minimum":1,"maximum":2048},"fields":{"type":"array","items":{"$ref":"#/components/schemas/FeatureFieldDefinition"}}},"required":["kind","id","label","minEntries","maxEntries","fields"],"additionalProperties":false}]},"CorporateActionElectionOption":{"type":"object","properties":{"key":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"},"label":{"type":"string","minLength":1},"settlementLeg":{"type":"string","enum":["primary","none"]}},"required":["key","label","settlementLeg"],"additionalProperties":false},"UnpaidEntitlementReason":{"type":"string","enum":["unclaimed","lost-identity"]},"CorporateActionCoordinatedLegState":{"type":"string","enum":["pending","declaring","declared","recording","recorded","cancelling","cancelled","uncovered","releasing","released"]},"AllocationDirection":{"type":"string","enum":["mint","burn"],"description":"Which way this holder's units move: mint adds the amount to the holder's balance, burn takes it away. A reverse split burns nearly every holder and mints the top-up that lifts a holder holding less than one whole share up to one share, so one run can move both ways."},"CorporateActionCustodialStep":{"type":"object","properties":{"contract":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"type":"string","enum":["escrow","sale","xvp","airdrop"],"description":"What the contract is: an escrow (a trading venue's or a custody gateway's), a token sale, an XvP settlement or an airdrop."},"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The position this action's step takes in the contract's log of corporate-action steps for this token. Confirm writes the step at this position after the holder batch has moved the contract's units, so a retried confirm writes it once."}},"required":["contract","kind","index"],"additionalProperties":false},"CorporateActionBatchFailure":{"type":"object","properties":{"reason":{"type":"string","minLength":1,"description":"Why this action's holder batch stopped. The queue refused the first unit, reverted one of them, or lost its outcome; the message names which. Fix the cause the reason names, then confirm the action again for the holders still listed."},"unreached":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"direction":{"$ref":"#/components/schemas/AllocationDirection"},"state":{"type":"string","enum":["applied","skipped","remaining","zeroAfterFloor"]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"classToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"balance":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}],"description":"The holder's balance at the snapshot, in raw token units. Null when the plan was stored before the balance was kept, and for a cash dividend or distribution."},"residual":{"type":"string","pattern":"^[0-9]+$"},"roundingAdjustment":{"type":"string","pattern":"^[0-9]+$"}},"required":["holder","amount","state"],"additionalProperties":false},"description":"The holders the stopped batch did not reach, in the order the batch would have sent them, with the amount it owed each one and no transaction hash. Each keeps the state it has on the record. A later batch that reaches them moves them off this list."}},"required":["reason","unreached"],"additionalProperties":false,"description":"Present while a holder batch of this action stopped before it reached every holder: the queue refused the batch before it was signed, a unit reverted, or the run ended without completing. It survives the batch moving the action to aborted, so the holders it did not reach stay named on the record. Absent once a later batch reaches every holder, and absent on an action whose batch never ran."},"RightsExcessEntry":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"applied":{"type":"string","pattern":"^[0-9]+$"},"allocated":{"type":"string","pattern":"^[0-9]+$"},"paid":{"type":"string","pattern":"^[0-9]+$"},"refund":{"type":"string","pattern":"^[0-9]+$"},"state":{"type":"string","enum":["applied","remaining"],"description":"remaining until the escrow has paid the payee and refunded this holder, then applied."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]}},"required":["holder","applied","allocated","paid","refund","state"],"additionalProperties":false},"CorporateActionPriceStep":{"type":"object","properties":{"state":{"type":"string","enum":["pending","submitted","settled","failed"],"description":"Where the reference-price update of a stock split stands. Pending: the units have not all landed, or the update is not yet sent. Submitted: the update is queued and not yet confirmed. Settled: the share carries the new price. Failed: the update was refused or reverted; confirm the action again to send it once more. A stopped action whose holder updates all landed can be confirmed again for this step alone."},"attempt":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"How many times the price update has been sent, starting at 1."},"transactionRequestId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The queued transaction that carries the price update, or null until it is sent."},"failure":{"type":"string","minLength":1,"description":"Why the price update failed, present only when the state is failed. Fix the cause the reason names, then confirm the action again."},"failureCode":{"type":"string","enum":["drifted","refused","queue-failed","stored-unreadable"],"description":"The kind of failure, present only when the state is failed. Drifted: the share price moved after the split was confirmed, so set it to the planned price or back to the previous one first. Refused: the price feed or the price signer refused the update. Queue-failed: the queued update ended without completing. Stored-unreadable: the prepared update can't be used any more, so set the planned price, then confirm the action again."}},"required":["state","attempt","transactionRequestId"],"additionalProperties":false,"examples":[{"state":"failed","attempt":1,"transactionRequestId":"0198f1a2-3c4d-7e5f-8a9b-0c1d2e3f4a5b","failure":"The price feed is not active.","failureCode":"refused"}]},"CorporateActionPriceAdjustment":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/FiatCurrency"},"before":{"type":"string","pattern":"^(?!0+(?:\\.0+)?$)\\d+(?:\\.\\d{1,8})?$","title":"A positive decimal price with at most 8 fraction digits"},"after":{"type":"string","pattern":"^(?!0+(?:\\.0+)?$)\\d+(?:\\.\\d{1,8})?$","title":"A positive decimal price with at most 8 fraction digits"}},"required":["currency","before","after"],"additionalProperties":false,"description":"The reference price of the share before and after a stock split, in the currency of its price feed. After is the price before times denominator over numerator, rounded half away from zero at 8 fraction digits, the precision of the price feeds.","examples":[{"currency":"AED","before":"6","after":"108"}]},"FractionPolicy":{"type":"string","enum":["floor","wholeShareFloor","roundUpToOne"]},"DividendKind":{"type":"string","enum":["regular","special"]},"RightsExerciseStatus":{"type":"string","enum":["submitted","settled","failed"],"description":"settled once the payment and the rights movement landed together; submitted while that transaction is accepted by the queue and has not landed; failed when it never lands. Only settled exercises receive new shares when the rights issue is closed."},"RightsExerciseKind":{"type":"string","enum":["exercise","excess"],"description":"exercise: rights exercised for new shares, one share per right. excess: an application for excess shares from lapsed rights, whose `rights` field holds the shares applied for."},"CorporateActionAcknowledgement":{"type":"string","enum":["not-declared","residue","excluded-holders","underfunded"],"description":"A consequence of the stored plan the confirming operator acknowledges: not-declared for a class whose dividend is not declared, residue for an amount a declared class leaves in the waterfall, excluded-holders for a holder left out or at zero after rounding, underfunded for a funding shortfall."},"DecideCorporateActionMutation":{"anyOf":[{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"decision":{"type":"string","enum":["approve"]},"reviewedDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"}},"required":["decision","reviewedDigest"],"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"type":"object","properties":{"secretVerificationCode":{"type":"string"},"verificationType":{"type":"string","enum":["PINCODE","OTP","SECRET_CODES","OIDC_MFA"]}},"required":["secretVerificationCode"],"additionalProperties":false},{"type":"null"}]},"decision":{"type":"string","enum":["reject"]},"reviewedDigest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"reason":{"type":"string","minLength":1}},"required":["decision","reviewedDigest","reason"],"additionalProperties":false}]},"CorporateActionElectionConfig":{"type":"object","properties":{"deadline":{"$ref":"#/components/schemas/TimestampEncoded"},"options":{"type":"array","items":{"$ref":"#/components/schemas/CorporateActionElectionOption"},"minItems":2},"defaultOption":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$"}},"required":["deadline","options","defaultOption"],"additionalProperties":false},"FundingCoverage":{"type":"object","properties":{"available":{"$ref":"#/components/schemas/AssetAmount"},"outstanding":{"$ref":"#/components/schemas/AssetAmount"},"projected":{"$ref":"#/components/schemas/AssetAmount"},"coverageBps":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"status":{"$ref":"#/components/schemas/FundingCoverageStatus"},"limitedBy":{"$ref":"#/components/schemas/FundingLimit"},"measuredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["available","outstanding","projected","coverageBps","status","limitedBy","measuredAt"],"additionalProperties":false},"FundingLimit":{"type":"string","enum":["balance","allowance","both"]},"FundingCoverageStatus":{"type":"string","enum":["covered","at-risk","underfunded"]},"CantonArmSettledResult":{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"contractId":{"type":"string"}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false},"RedemptionSettlementSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"dealingDay":{"$ref":"#/components/schemas/RedemptionDealingDay"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"payingTreasury":{"$ref":"#/components/schemas/EvmAddress"},"nav":{"$ref":"#/components/schemas/RedemptionSettlementNav"},"pricePerUnit":{"type":"string","pattern":"^[0-9]+$"},"corporateActionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The buyback corporate action that pays the requests. Null when every request was rejected."},"holderCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The wallets that had an open request in this settlement."},"settlingCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The requests this settlement pays."},"rejectedCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The requests this settlement rejects."},"unitsTotal":{"type":"string","pattern":"^[0-9]+$"},"cashTotal":{"type":"string","pattern":"^[0-9]+$"}},"required":["id","dealingDay","denominationAsset","payingTreasury","nav","pricePerUnit","corporateActionId","holderCount","settlingCount","rejectedCount","unitsTotal","cashTotal"],"additionalProperties":false},"RedemptionSettlementNav":{"type":"object","properties":{"price":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The NAV per fund unit as the price feed's exact decimal string."},"currency":{"type":"string","minLength":1,"description":"The currency the NAV is quoted in."},"feed":{"$ref":"#/components/schemas/EvmAddress"},"blockTime":{"type":"string"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The position of the NAV event in that transaction."}},"required":["price","currency","feed","blockTime","transactionHash","logIndex"],"additionalProperties":false},"RedemptionDealingDay":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"RedemptionDealingDay_1":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"RedemptionRequest":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"token":{"$ref":"#/components/schemas/EvmAddress"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"status":{"$ref":"#/components/schemas/RedemptionRequestStatus"},"dealingDay":{"$ref":"#/components/schemas/RedemptionDealingDay"},"cutOffAt":{"type":"string"},"createdAt":{"type":"string"},"cancelledAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the request was cancelled. Null while the request is open."},"settlementId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The settlement that priced the request. Null until a settlement takes the request."},"corporateActionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The buyback corporate action that pays the request. Null until the settlement starts one."},"nav":{"anyOf":[{"$ref":"#/components/schemas/RedemptionNav"},{"type":"null"}],"description":"The NAV per unit the settlement used. Null until a settlement takes the request."},"pricePerUnit":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"denominationAsset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The stablecoin that pays the request. Null until a settlement takes the request."},"cash":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"null"}]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction that paid the request. Null until the payment is on the chain."},"settledAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the payment reached the holder. Null until then."},"rejectedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the settlement rejected the request. Null unless it did."},"rejectionReason":{"anyOf":[{"$ref":"#/components/schemas/RedemptionRejectionReason"},{"type":"null"}],"description":"Why the settlement rejected the request. Null unless it did."}},"required":["id","token","holder","amount","status","dealingDay","cutOffAt","createdAt","cancelledAt","settlementId","corporateActionId","nav","pricePerUnit","denominationAsset","cash","transactionHash","settledAt","rejectedAt","rejectionReason"],"additionalProperties":false},"RedemptionRejectionReason":{"type":"string","enum":["insufficient-units","zero-cash","cash-not-receivable"]},"RedemptionNav":{"type":"object","properties":{"price":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The NAV per fund unit as the price feed's exact decimal string."},"currency":{"type":"string","minLength":1,"description":"The currency the NAV is quoted in."}},"required":["price","currency"],"additionalProperties":false},"RedemptionRequestStatus":{"type":"string","enum":["open","cancelled","settling","settled","rejected"]},"RegisterLinePreflightOutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"action":{"type":"string","enum":["request","book","bookDirect","cancel"]},"clears":{"type":"boolean","enum":[true]}},"required":["action","clears"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false,"description":"The register-line write would be accepted now. Nothing was signed or queued. The refusals it can return are the ones the write returns for the same state, so a write that is cleared here can still be refused if the state changes before it is sent."},"RegisterLinePreflightBody":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["request"]},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"}},"required":["action","from","to","amount"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["book"]},"lineId":{"type":"string","pattern":"^[0-9]+$"},"registerReference":{"type":"string","minLength":1}},"required":["action","lineId","registerReference"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["bookDirect"]},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^[0-9]+$"}},"required":["action","from","to","amount","registerReference"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["cancel"]},"lineId":{"type":"string","pattern":"^[0-9]+$"}},"required":["action","lineId"],"additionalProperties":false}]},"FundDealingDay":{"type":"string"},"FundSubscriptionSettlementRejectionReason":{"type":"string","enum":["insufficient-cash","cash-not-allowed","investor-ineligible","stablecoin-changed","zero-units"],"description":"Why a subscription request was left out of its dealing day's settlement."},"FundSubscriptionNav":{"type":"object","properties":{"price":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The NAV per fund unit as the price feed's exact decimal string."},"currency":{"type":"string","minLength":1,"description":"The currency the NAV is quoted in."}},"required":["price","currency"],"additionalProperties":false},"FundSubscriptionRequestStatus":{"type":"string","enum":["open","cancelled","settling","settled","rejected"]},"ConversionScope":{"type":"string","enum":["principal","interest"]},"ClaimYieldPreflightSuccess":{"type":"object","properties":{"action":{"type":"string","enum":["claimYield"]}},"required":["action"],"additionalProperties":false,"description":"The yield claim would be accepted now. Nothing was signed or queued. The refusals it can return are the ones the claim returns for the same state, so a claim that is cleared here can still be refused if the state changes before it is sent."},"FixedYieldRateBasis":{"type":"string","enum":["annual","per_period"],"description":"How `rate` is stated. `annual`: basis points per year on an ACT/365 basis (a fixed 365-day year; a leap year therefore pays 366 daily periods). DALP converts it to the rate paid each payment period at 1e24 precision, the annual rate times the interval over a 365-day year, so a typical annual rate such as 5% runs on a daily interval. A shorter final period pays that rate prorated to its length where the schedule version prorates stubs. `per_period`: basis points paid each payment interval, converted to the same 1e24 precision unchanged in value. When omitted on a token create from a template that states a basis, the template's basis applies; otherwise it defaults to `per_period`."},"FeaturesListInstrument":{"type":"object","properties":{"paysThroughWaterfall":{"type":"boolean"}},"required":["paysThroughWaterfall"],"additionalProperties":false},"SingleResourceLinks":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false},"TransferApprovalAuthority":{"type":"object","properties":{"approvalAuthority":{"type":"boolean"}},"required":["approvalAuthority"],"additionalProperties":false},"TokenRoleSetPreflightSuccess":{"type":"object","properties":{"action":{"type":"string","enum":["setRoles"]}},"required":["action"],"additionalProperties":false,"description":"The role change would be accepted now. Nothing was queued, signed or recorded. The refusals it can return are the ones `setRoles` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"TokenRoleSetBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"participantId":{"type":"string","minLength":1},"address":{"$ref":"#/components/schemas/EvmAddress"},"participantWallet":{"$ref":"#/components/schemas/EvmAddress"},"expiresAt":{"type":"string"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}},"reason":{"$ref":"#/components/schemas/RoleGrantReason"}},"required":["grant","revoke"],"additionalProperties":false},"AssetAccessControlRole_1":{"type":"string","enum":["admin","custodian","emergency","fundsManager","governance","saleAdmin","supplyManagement"]},"AsyncAcceptedResult":{"type":"object","properties":{"transactionId":{"type":"string","minLength":1},"status":{"type":"string","minLength":1},"statusUrl":{"type":"string","minLength":1}},"required":["transactionId","status","statusUrl"],"additionalProperties":false,"description":"Accepted handle for a queued mutation. The write is queued, not finished. Poll `statusUrl`, also sent as `Location`, and honour `Preference-Applied`. Do not resubmit the original request unless the queue reports a retryable failure."},"TokenRoleSetMutationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenRoleSetOutput"},"meta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","minLength":1}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"TokenRoleSetOutput":{"type":"object","properties":{"accounts":{"$ref":"#/components/schemas/TokenRoleSetAccounts"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}}},"required":["accounts","grant","revoke"],"additionalProperties":false},"TokenRoleSetAccounts":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"WalletRestrictionDetail":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"scope":{"$ref":"#/components/schemas/RestrictionScope"},"reason":{"$ref":"#/components/schemas/RestrictionReason"},"status":{"$ref":"#/components/schemas/RestrictionStatus"},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"liftedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"liftedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"liftNote":{"anyOf":[{"$ref":"#/components/schemas/RestrictionReasonTextEncoded"},{"type":"null"}]},"summary":{"$ref":"#/components/schemas/RestrictionSummary"},"tokens":{"type":"array","items":{"$ref":"#/components/schemas/RestrictionTokenResult"}}},"required":["id","walletAddress","participantId","scope","reason","status","createdBy","createdAt","liftedBy","liftedAt","liftNote","summary","tokens"],"additionalProperties":false,"description":"A caller who may not read restrictions gets the free text and the lift note as null, and only the tokens the caller holds the custodian role on, with the summary counted over those tokens."},"RestrictionTokenResult":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/EvmAddress"},"tokenName":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/RestrictionTokenStatus"},"paused":{"type":"boolean"},"transactionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"failure":{"anyOf":[{"$ref":"#/components/schemas/RestrictionTokenFailure"},{"type":"null"}]},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["token","tokenName","tokenSymbol","status","paused","transactionId","transactionHash","failure","updatedAt"],"additionalProperties":false},"RestrictionTokenFailure":{"type":"object","properties":{"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1},"fix":{"type":"string","minLength":1}},"required":["code","message","fix"],"additionalProperties":false},"RestrictionTokenStatus":{"type":"string","enum":["pending","queued","frozen","failed","already-frozen","lift-queued","lifted","lift-failed"],"description":"`frozen` means this restriction froze the wallet on the token. `already-frozen` means the wallet was frozen there before, so a lift leaves it alone. `queued` and `lift-queued` mean the transaction is accepted and not yet settled."},"RestrictionSummary":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"frozen":{"type":"integer","minimum":0,"maximum":9007199254740991},"queued":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"alreadyFrozen":{"type":"integer","minimum":0,"maximum":9007199254740991},"lifted":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["total","frozen","queued","failed","alreadyFrozen","lifted"],"additionalProperties":false,"description":"Token counts by outcome. `queued` counts accepted transactions that have not settled, on a freeze or a lift. `failed` counts tokens where the freeze or the lift failed."},"RestrictionReasonTextEncoded":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$","description":"Free text of 1 to 500 characters. Surrounding whitespace is removed and does not count."},"RestrictionStatus":{"type":"string","enum":["active","lifted"]},"RestrictionReason":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/RestrictionReasonCode"},"text":{"anyOf":[{"$ref":"#/components/schemas/RestrictionReasonTextEncoded"},{"type":"null"}]}},"required":["code","text"],"additionalProperties":false},"RestrictionReasonCode":{"type":"string","enum":["aml-review","sanctions-screening","fraud-investigation","court-order","regulatory-request","client-request","other"],"description":"Why the wallet is restricted. Pick `other` and describe it in the free text when no code fits."},"RestrictionScope":{"type":"string","enum":["all","tokens"]},"WalletRestrictionUpdateBody":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"status":{"type":"string","enum":["lifted"]},"note":{"$ref":"#/components/schemas/RestrictionReasonTextEncoded"}},"required":["status"],"additionalProperties":false,"description":"Lifts a restriction. The platform unfreezes the wallet on every token this restriction froze and leaves freezes it did not apply alone."},"CollectionPaginationLinks":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"CollectionResponseMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}}},"required":["total"],"additionalProperties":false},"CollectionFacetEntry":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false},"WalletRestriction":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"scope":{"$ref":"#/components/schemas/RestrictionScope"},"reason":{"$ref":"#/components/schemas/RestrictionReason"},"status":{"$ref":"#/components/schemas/RestrictionStatus"},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"liftedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"liftedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"liftNote":{"anyOf":[{"$ref":"#/components/schemas/RestrictionReasonTextEncoded"},{"type":"null"}]},"summary":{"$ref":"#/components/schemas/RestrictionSummary"}},"required":["id","walletAddress","participantId","scope","reason","status","createdBy","createdAt","liftedBy","liftedAt","liftNote","summary"],"additionalProperties":false},"WalletRestrictionFilters":{"type":"object","properties":{"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"$ref":"#/components/schemas/RestrictionStatus"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"reasonCode":{"anyOf":[{"$ref":"#/components/schemas/RestrictionReasonCode"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"WalletRestrictionCreateBody":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/RestrictionScopeInput"},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"}},"required":["walletAddress","scope","reason"],"additionalProperties":false,"description":"Restricts one wallet. The platform freezes the wallet on every token in scope where the caller holds the custodian role, and reports each token's outcome."},"RestrictionReasonInput":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/RestrictionReasonCode"},"text":{"$ref":"#/components/schemas/RestrictionReasonTextEncoded"}},"required":["code"],"additionalProperties":false},"RestrictionScopeInput":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["all"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["tokens"]},"tokens":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":50}},"required":["kind","tokens"],"additionalProperties":false}],"description":"`all` restricts every token the wallet holds when the request runs. `tokens` restricts the listed tokens, held or not."},"MarkRefreshResult":{"type":"object","properties":{"outcome":{"$ref":"#/components/schemas/MarkRefreshOutcome"},"imageUrl":{"anyOf":[{"type":"string","description":"Path of the mark route that serves this subject, or null when the subject carries no address the platform can serve a mark for."},{"type":"null"}]},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"}},"required":["outcome","imageUrl","imageProvenance"],"additionalProperties":false,"description":"The result of one mark refresh and the mark route that serves the subject after it.","examples":[{"outcome":"stored","imageUrl":"/api/v2/marks/accounts/1/0x71c7656ec7ab88b098defb751b7401b5f6d8976f","imageProvenance":"ens"}]},"ImageProvenance":{"type":"string","enum":["upload","ens","bundle","generated"],"description":"Where the mark at imageUrl comes from: an uploaded image, an ENS avatar, a bundled brand pack, or a generated disc."},"MarkRefreshOutcome":{"type":"string","enum":["stored","negative","deferred","blocked","unchanged"],"description":"What the refresh did: `stored` wrote a new avatar, `negative` recorded that the address carries none, `deferred` left the work to the next refresh because the hourly budget is spent, `blocked` left a suppressed mark alone, and `unchanged` kept what was already stored."},"TokenDeploymentTransitionResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"runKey":{"type":"string"},"status":{"type":"string","enum":["discarded","deploying"],"description":"discarded after a discard; deploying while the finish-setup run works through the missing steps."}},"required":["runKey","status"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"TokenDeploymentTransitionBody":{"anyOf":[{"$ref":"#/components/schemas/TokenDeploymentDiscardTransition"},{"$ref":"#/components/schemas/TokenDeploymentFinishSetupTransition"}],"discriminator":{"propertyName":"transition","mapping":{"discard":"#/components/schemas/TokenDeploymentDiscardTransition","finish-setup":"#/components/schemas/TokenDeploymentFinishSetupTransition"}}},"TokenDeploymentFinishSetupTransition":{"type":"object","properties":{"transition":{"type":"string","enum":["finish-setup"],"description":"Finish the setup of a failed deployment whose token landed. Only the steps still missing run, signed by the wallet that started the deploy."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false},"TokenDeploymentDiscardTransition":{"type":"object","properties":{"transition":{"type":"string","enum":["discard"],"description":"Dismiss a failed deployment. The run leaves the token list; a token that already landed stays on the network."}},"required":["transition"],"additionalProperties":false},"DeleteResponse":{"type":"object","properties":{"data":{"type":"null"}},"required":["data"],"additionalProperties":false,"description":"The resource is gone. `data` is null because nothing remains to return."},"TokenAssetDraftResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"draft":{"anyOf":[{"$ref":"#/components/schemas/TokenAssetDraft"},{"type":"null"}],"description":"The caller's draft on this network, or null when none is saved or the saved one is expired."}},"required":["draft"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"TokenAssetDraft":{"type":"object","properties":{"version":{"type":"number","enum":[1],"description":"The shape version of the form values. The server keeps one draft per user and network and ignores a stored draft of another version."},"formValues":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"confirmedSteps":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"maxItems":64,"description":"The wizard step ids the user confirmed with Continue."},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["version","formValues","confirmedSteps","updatedAt"],"additionalProperties":false,"description":"The caller's saved Issue asset draft on this network."},"TokenAssetDraftBody":{"type":"object","properties":{"version":{"type":"number","enum":[1],"description":"The shape version of the form values. The server keeps one draft per user and network and ignores a stored draft of another version."},"formValues":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"confirmedSteps":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"maxItems":64,"description":"The wizard step ids the user confirmed with Continue."}},"required":["version","formValues","confirmedSteps"],"additionalProperties":false},"IssuanceRunResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/IssuanceRunView"}},"required":["data"],"additionalProperties":false,"examples":[{"data":{"runId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a11","structure":{"id":"northwind-dual-class","revision":3,"instanceId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a17"},"members":[{"memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","role":"controlling","label":"Founder class","templateId":"att_northwind_founder_shares","tokenAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},{"memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a13","role":"economic","label":"Investor class","templateId":"att_northwind_investor_shares","tokenAddress":null}],"operations":[{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a14","kind":"deploy-member","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","featureId":null,"featureOperationId":null,"dependsOn":[],"status":"confirmed"},{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15","kind":"deploy-member","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a13","featureId":null,"featureOperationId":null,"dependsOn":[],"status":"submitted"},{"operationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a16","kind":"claim-structure","memberId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a12","featureId":null,"featureOperationId":null,"dependsOn":["01990a4e-7c2b-7d31-9a55-3f0b6c8e2a14","01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15"],"status":"accepted"}],"nextOperationId":"01990a4e-7c2b-7d31-9a55-3f0b6c8e2a15"}}]},"IssuanceRunView":{"type":"object","properties":{"runId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"structure":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"revision":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"required":["id","revision","instanceId"],"additionalProperties":false},{"type":"null"}]},"members":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"role":{"type":"string"},"label":{"type":"string"},"templateId":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The deployed or selected token address, or null while the member is not deployed."}},"required":["memberId","role","label","templateId","tokenAddress"],"additionalProperties":false}},"operations":{"type":"array","items":{"type":"object","properties":{"operationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"kind":{"type":"string","enum":["deploy-member","deploy-feature","invoke-feature-operation","claim-structure"]},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"featureId":{"anyOf":[{"type":"string"},{"type":"null"}]},"featureOperationId":{"anyOf":[{"type":"string"},{"type":"null"}]},"dependsOn":{"type":"array","items":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"}},"status":{"type":"string","enum":["accepted","submitted","confirmed","failed"]}},"required":["operationId","kind","memberId","featureId","featureOperationId","dependsOn","status"],"additionalProperties":false}},"nextOperationId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The first operation that is not confirmed, or null when the run is complete."}},"required":["runId","structure","members","operations","nextOperationId"],"additionalProperties":false},"IssuanceRunAcceptBody":{"type":"object","properties":{"structure":{"type":"object","properties":{"id":{"type":"string","minLength":1},"expectedRevision":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["id","expectedRevision"],"additionalProperties":false,"description":"The structure and the revision the caller reviewed. Omit for a standalone issuance. A newer revision refuses the run."},"members":{"type":"array","items":{"$ref":"#/components/schemas/IssuanceRunMemberInput"},"minItems":1,"maxItems":8}},"required":["members"],"additionalProperties":false},"IssuanceRunMemberInput":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Stable member identity from the structure or the review."},"source":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["create"]},"input":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"countryCode":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"initialModulePairs":{"type":"array","items":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/ModuleScope"}},"required":["typeId","values","module"],"additionalProperties":false}},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"initialPermissions":{"type":"array","items":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"},"minItems":1}},"required":["account","roles"],"additionalProperties":false}},"unpauseOnCreation":{"type":"boolean"},"templateId":{"type":"string","minLength":1,"description":"The instrument template to create the asset from. Required for `dalp-asset`. Optional for a classic asset type, which the platform creates only when its operator turned on legacy asset creation and otherwise refuses with `TOKEN_CREATE_ASSET_FAMILY_DEPRECATED`. A classic type created with a template only has the template checked as published and not hidden from Issue asset, and is refused with `TemplateFeaturesUnavailable` when the template declares features; without one, no template applies."},"logo":{"$ref":"#/components/schemas/TokenCreateLogo"},"type":{"type":"string","enum":["dalp-asset"]},"issuanceRun":{"type":"object","properties":{"runId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["runId","memberId"],"additionalProperties":false},"complianceTemplateSelection":{"type":"string","minLength":1},"complianceTemplateExpectedTypeIds":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceTypeId"}},"priceCurrency":{"$ref":"#/components/schemas/FiatCurrency"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"metadataValues":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]}},"featureConfigs":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}}},"required":["name","symbol","decimals","countryCode","initialModulePairs","initialPermissions","unpauseOnCreation","templateId","type","metadataValues","featureConfigs"],"additionalProperties":false,"description":"The reviewed create input for this new member. The server freezes it with the template's pinned values."},"expectedTemplateVersion":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The version of the input's template the caller reviewed. A newer template version refuses the run."}},"required":["kind","input","expectedTemplateVersion"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["existing"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","tokenAddress"],"additionalProperties":false}]},"label":{"type":"string","minLength":1,"maxLength":256,"description":"Display label for a standalone member. A structure member takes its label from the structure."},"role":{"type":"string","description":"Role slug for a standalone member. A structure member takes its role from the structure."},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["configuration"],"additionalProperties":false},"description":"Declared feature configuration and links for a standalone member. A structure member's features are locked by the structure and must be omitted."}},"required":["memberId","source"],"additionalProperties":false},"FeatureFieldPolicy":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"mode":{"type":"string","enum":["fixed"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["kind","mode","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"mode":{"type":"string","enum":["issuer"]},"defaultValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]},"required":{"type":"boolean"},"minimum":{"type":"number"},"maximum":{"type":"number"}},"required":["kind","mode"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}}},"required":["kind","fields"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["repeatable"]},"minEntries":{"type":"integer","minimum":0,"maximum":9007199254740991},"maxEntries":{"type":"integer","minimum":1,"maximum":9007199254740991},"allowAdd":{"type":"boolean"},"allowRemove":{"type":"boolean"},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}}},"required":["kind","minEntries","maxEntries","allowAdd","allowRemove","fields"],"additionalProperties":false}]},"FeatureConfigurationNode":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"source":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["literal"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["issuer-input"]},"inputId":{"type":"string","minLength":1,"maxLength":128},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["kind","inputId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["member-token"]},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","memberId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["member-feature"]},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"featureId":{"type":"string","minLength":1,"maxLength":128},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"type":"integer","minimum":1,"maximum":9007199254740991}},"required":["kind","memberId","featureId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["field"]},"address":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["field"]},"id":{"type":"string","minLength":1,"maxLength":128}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["entry"]},"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","id"],"additionalProperties":false}]},"minItems":1,"maxItems":18},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"featureId":{"type":"string","minLength":1,"maxLength":128},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","address"],"additionalProperties":false}]}},"required":["kind","source"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureConfigurationNode"}}},"required":["kind","fields"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["repeatable"]},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":256},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureConfigurationNode"}}},"required":["id","label","fields"],"additionalProperties":false}}},"required":["kind","entries"],"additionalProperties":false}]},"TokenCreateLogo":{"type":"object","properties":{"objectKey":{"type":"string","minLength":1,"description":"Object key returned by the token logo upload-URL route, after the image bytes were PUT to the presigned URL. The key records the organization it was minted for; a key minted for another organization is refused before any byte is read.","examples":["token-create-logos/org_01J8X/2026-09-17T10-00-00-000Z-0198f1a2-northwind.png"]}},"required":["objectKey"],"additionalProperties":false,"description":"Brand logo to attach to the token this call creates. The platform confirms the upload once the token exists. A logo that cannot be confirmed does not fail the creation: the token is created without it, and you can attach the logo again from the token's documents. An object key that was not minted for the active organization fails the creation.","examples":[{"objectKey":"token-create-logos/org_01J8X/2026-09-17T10-00-00-000Z-0198f1a2-northwind.png"}]},"ModuleScope":{"type":"object","properties":{"senderInclusion":{"$ref":"#/components/schemas/ModuleScopeSenderInclusionEncoded"},"senderExemption":{"$ref":"#/components/schemas/ModuleScopeSenderExemptionEncoded"},"senderCountryInclusion":{"$ref":"#/components/schemas/ModuleScopeSenderCountryInclusionEncoded"},"senderCountryExclusion":{"$ref":"#/components/schemas/ModuleScopeSenderCountryExclusionEncoded"},"receiverInclusion":{"$ref":"#/components/schemas/ModuleScopeReceiverInclusionEncoded"},"receiverExemption":{"$ref":"#/components/schemas/ModuleScopeReceiverExemptionEncoded"},"receiverCountryInclusion":{"$ref":"#/components/schemas/ModuleScopeReceiverCountryInclusionEncoded"},"receiverCountryExclusion":{"$ref":"#/components/schemas/ModuleScopeReceiverCountryExclusionEncoded"},"executionMode":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"additionalProperties":false},"ModuleScopeReceiverCountryExclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"}},{"type":"null"}]},"ISOCountryCodeNumericEncoded":{"anyOf":[{"type":"string","pattern":"^\\d{1,3}$"},{"type":"number","multipleOf":1,"minimum":0,"maximum":999}]},"ModuleScopeReceiverCountryInclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"}},{"type":"null"}]},"ModuleScopeReceiverExemptionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExpressionNodeWithGroups"}},{"type":"null"}]},"ExpressionNodeWithGroups":{"anyOf":[{"$ref":"#/components/schemas/ExpressionNode"},{"$ref":"#/components/schemas/ExpressionGroupOpen"},{"$ref":"#/components/schemas/ExpressionGroupClose"}]},"ExpressionGroupClose":{"type":"string","enum":[")"]},"ExpressionGroupOpen":{"type":"string","enum":["("]},"ExpressionNode":{"type":"object","properties":{"nodeType":{"$ref":"#/components/schemas/ExpressionType"},"value":{"$ref":"#/components/schemas/ApiBigIntEncoded"}},"required":["nodeType","value"],"additionalProperties":false},"ApiBigIntEncoded":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^(?:\\s*[-+]?\\d+\\s*|-?(?:\\d+|\\d*\\.\\d+)(?:e[+-]?\\d+)?)$"},{"type":"number","multipleOf":1}]},"ExpressionType":{"type":"number","enum":[0,1,2,3],"description":"Expression type identifier"},"ModuleScopeReceiverInclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExpressionNodeWithGroups"}},{"type":"null"}]},"ModuleScopeSenderCountryExclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"}},{"type":"null"}]},"ModuleScopeSenderCountryInclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"}},{"type":"null"}]},"ModuleScopeSenderExemptionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExpressionNodeWithGroups"}},{"type":"null"}]},"ModuleScopeSenderInclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExpressionNodeWithGroups"}},{"type":"null"}]},"AccountsV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CantonAccountItem"}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CollectionLinks":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"last":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["self"],"additionalProperties":false},"CollectionMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nextCursor":{"type":"string"}},"required":["total"],"additionalProperties":false},"CantonAccountItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"networkIdentity":{"type":"string","minLength":1},"contractId":{"type":"string","minLength":1},"kind":{"type":"string","enum":["account","book"]},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentId":{"type":"string","minLength":1},"ownerParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"providerParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"accountId":{"type":"string"},"fullyFrozen":{"type":"boolean"},"createdOffset":{"$ref":"#/components/schemas/LedgerOffset"},"updateId":{"type":"string","minLength":1},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","contractId","kind","instrumentAdmin","instrumentId","ownerParty","providerParty","accountId","fullyFrozen","createdOffset","updateId","recordTime"],"additionalProperties":false},"LedgerOffset":{"type":"string","pattern":"^\\d+$","description":"Canton ledger update offset reference (decimal string)"},"CantonPartyId":{"type":"string","minLength":1,"description":"Canton external party identifier"},"CollectionPageQuery":{"type":"object","properties":{"offset":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"limit":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"}},"additionalProperties":false},"CantonPartyId_23":{"type":"string","minLength":1,"description":"Admin party of a Canton instrument. Present, this write runs on the Canton instrument whose id the path segment names; absent, the segment is an EVM token contract address."},"InstrumentCapability":{"type":"string","enum":["share-capital","unit-capital"]},"TokenSetupState":{"type":"object","properties":{"status":{"type":"string","enum":["deploying","failed"],"description":"failed while a setup step is missing; deploying while its remaining setup is being finished."},"step":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","in-progress","completed","failed"]}},"required":["id","label","status"],"additionalProperties":false},{"type":"null"}]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the setup step failed. Null while it runs."},"runKey":{"type":"string","description":"The deploy run whose setup did not finish, the target of its finish-setup and discard transitions."},"finishable":{"type":"boolean","description":"Whether the viewer can finish the setup: the run failed, kept its create request, and was started by the viewer."}},"required":["status","step","reason","runKey","finishable"],"additionalProperties":false,"description":"The unfinished setup of a token whose deploy landed but did not complete its setup steps."},"AssetOperationRole":{"type":"string","enum":["custodian","emergency","fundsManager","governance","saleAdmin","supplyManagement"],"description":"A role held on one asset's access manager: custodian, emergency, fundsManager, governance, saleAdmin or supplyManagement."},"ISINEncoded":{"type":"string"},"CantonCollateralArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_22"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"moduleContractId":{"type":"string","minLength":1},"collateralAmount":{"type":"string","pattern":"^(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"collateralExpiresAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$"}},"required":["instrumentAdmin","cantonPartyId","moduleContractId","collateralAmount","collateralExpiresAt"],"additionalProperties":false},"CantonPartyId_22":{"type":"string","minLength":1,"description":"Admin party of the Canton instrument this write acts on. Present, the path segment is the instrument id under that admin and the route submits the operation as one of the organization's party wallets."},"BlocktimeEncoded":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"integer","minimum":0,"maximum":9007199254740991}]},"TokenPriceResponseResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenPriceResponse"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"TokenPriceResponse":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"price":{"type":"string"},"currency":{"$ref":"#/components/schemas/FiatCurrency_2"},"decimals":{"type":"number"},"source":{"type":"string","enum":["feed","claim"]},"sourceCurrency":{"$ref":"#/components/schemas/FiatCurrency_2"},"convertible":{"type":"boolean"},"targetCurrency":{"$ref":"#/components/schemas/FiatCurrency_2"},"reason":{"type":"string"},"message":{"type":"string"},"availableCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/FiatCurrency_2"}},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded_3"},"conversionPath":{"type":"array","items":{"$ref":"#/components/schemas/TokenPriceConversionHop"}}},"required":["tokenAddress","price","currency","decimals","source","sourceCurrency","convertible","updatedAt","conversionPath"],"additionalProperties":false},"TokenPriceConversionHop":{"type":"object","properties":{"from":{"$ref":"#/components/schemas/FiatCurrency_2"},"to":{"$ref":"#/components/schemas/FiatCurrency_2"},"rate":{"type":"string"},"feedAddress":{"$ref":"#/components/schemas/EvmAddress"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded_3"},"inverse":{"type":"boolean"}},"required":["from","to","rate","feedAddress","updatedAt","inverse"],"additionalProperties":false},"TimestampEncoded_3":{"anyOf":[{"type":"string"},{"type":"number","minimum":0}]},"FiatCurrency_2":{"type":"string","enum":["AED","AFN","ALL","AMD","ANG","AOA","ARS","AUD","AWG","AZN","BAM","BBD","BDT","BGN","BHD","BIF","BMD","BND","BOB","BRL","BSD","BTN","BWP","BYN","BZD","CAD","CDF","CHF","CLP","CNY","COP","CRC","CUC","CUP","CVE","CZK","DJF","DKK","DOP","DZD","EGP","ERN","ETB","EUR","FJD","FKP","GBP","GEL","GHS","GIP","GMD","GNF","GTQ","GYD","HKD","HNL","HTG","HUF","IDR","ILS","INR","IQD","IRR","ISK","JMD","JOD","JPY","KES","KGS","KHR","KMF","KPW","KRW","KWD","KYD","KZT","LAK","LBP","LKR","LRD","LSL","LYD","MAD","MDL","MGA","MKD","MMK","MNT","MOP","MRU","MUR","MVR","MWK","MXN","MYR","MZN","NAD","NGN","NIO","NOK","NPR","NZD","OMR","PAB","PEN","PGK","PHP","PKR","PLN","PYG","QAR","RON","RSD","RUB","RWF","SAR","SBD","SCR","SDG","SEK","SGD","SHP","SLE","SOS","SRD","SSP","STN","SVC","SYP","SZL","THB","TJS","TMT","TND","TOP","TRY","TTD","TWD","TZS","UAH","UGX","USD","UYU","UYW","UZS","VED","VES","VND","VUV","WST","XAF","XCD","XOF","XPF","YER","ZAR","ZMW","ZWG"]},"CantonFamilyProbeBody":{"type":"object","properties":{"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"}},"required":["instrumentAdmin"],"additionalProperties":false,"description":"A Canton intent on a route that serves no Canton arm. The route refuses it with the family it does serve."},"CantonHoldingUnlockArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"rulesContractId":{"type":"string","minLength":1},"accountId":{"type":"string"},"holdingContractId":{"type":"string","minLength":1},"reason":{"$ref":"#/components/schemas/RestrictionReasonInput"}},"required":["instrumentAdmin","cantonPartyId","rulesContractId","holdingContractId","reason"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"TokenPauseStateBody":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"paused":{"type":"boolean"}},"required":["paused"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonFamilyProbeBody"}]},"TokenAaRoleMigrationPendingItemCollectionResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenAaRoleMigrationPendingItem"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"TokenAaRoleMigrationPendingItem":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenName":{"type":"string"},"tokenSymbol":{"type":"string"},"accessManagerAddress":{"$ref":"#/components/schemas/EvmAddress"},"driftingParticipantCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"adminAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["tokenAddress","tokenName","tokenSymbol","accessManagerAddress","driftingParticipantCount","adminAddresses"],"additionalProperties":false},"TransfersV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/EvmTransferV2Entry"},{"$ref":"#/components/schemas/CantonTransferItem"}],"discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmTransferV2Entry","canton":"#/components/schemas/CantonTransferItem"}}}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CantonTransferItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"networkIdentity":{"type":"string","minLength":1},"contractId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentId":{"type":"string","minLength":1},"senderParty":{"$ref":"#/components/schemas/CantonPartyId"},"receiverParty":{"$ref":"#/components/schemas/CantonPartyId"},"amount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"},"allowanceSpender":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"requestedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lockExpiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"assessedFees":{"anyOf":[{},{"type":"null"}]},"createdOffset":{"$ref":"#/components/schemas/LedgerOffset"},"updateId":{"type":"string","minLength":1},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","contractId","instrumentAdmin","instrumentId","senderParty","receiverParty","amount","allowanceSpender","requestedAt","expiresAt","lockExpiresAt","assessedFees","createdOffset","updateId","recordTime"],"additionalProperties":false},"EvmTransferV2Entry":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"token":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"fromIdentity":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"toIdentity":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"value":{"$ref":"#/components/schemas/AssetAmount"},"approverIdentity":{"$ref":"#/components/schemas/EvmAddress"},"expiry":{"$ref":"#/components/schemas/TimestampEncoded"},"status":{"type":"string","enum":["pending","consumed","revoked"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","id","token","fromIdentity","toIdentity","value","approverIdentity","expiry","status","createdAt","updatedAt"],"additionalProperties":false},"CursorCollectionPageQuery":{"type":"object","properties":{"offset":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"limit":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"cursor":{"type":"string"}},"additionalProperties":false},"CantonTransferApprovalArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_22"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"moduleContractId":{"type":"string","minLength":1},"senderParty":{"$ref":"#/components/schemas/CantonPartyId"},"receiverParty":{"$ref":"#/components/schemas/CantonPartyId"},"amount":{"type":"string","pattern":"^(?!0(\\.0+)?$)(0|[1-9]\\d*)(\\.\\d{1,10})?$"}},"required":["instrumentAdmin","cantonPartyId","moduleContractId","senderParty","receiverParty","amount"],"additionalProperties":false},"TransferApprovalCollectionResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TransferApproval"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":0,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false}},"required":["data","meta","links"],"additionalProperties":false},"TransferApproval":{"type":"object","properties":{"id":{"type":"string"},"token":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"fromIdentity":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"toIdentity":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"value":{"type":"string","pattern":"^[0-9]+$"},"approverIdentity":{"$ref":"#/components/schemas/EvmAddress"},"expiry":{"$ref":"#/components/schemas/TimestampEncoded_3"},"status":{"type":"string","enum":["pending","consumed","revoked"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded_3"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded_3"}},"required":["id","token","fromIdentity","toIdentity","value","approverIdentity","expiry","status","createdAt","updatedAt"],"additionalProperties":false},"TokenTransferSimulateOutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"verdict":{"type":"string","enum":["will-clear","will-revert"]},"blockers":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","minLength":1},"moduleTypeId":{"type":"string","enum":["address-block-list","address-block-list-v2","capital-raise-limit","capped","capped-v2","claim-expiry","collateral","collateral-v2","country-allow-list","country-allow-list-v2","country-block-list","country-block-list-v2","identity-allow-list","identity-allow-list-v2","identity-block-list","identity-block-list-v2","identity-count","identity-verification","identity-verification-v2","investor-count","investor-count-v2","issuance-volume-limit","lock-up","minimum-holding","own-custody-gateway","time-lock","time-lock-v2","token-supply-limit","transfer-approval","transfer-approval-v2"]},"moduleInstance":{"$ref":"#/components/schemas/EvmAddress"},"party":{"type":"string","enum":["sender","recipient"]},"reason":{"type":"string","enum":["identity-not-registered","identity-not-verified","module-blocked","stale-price","insufficient-balance","token-paused"]},"remediationClass":{"type":"string","enum":["self-serve","operator","structural"]},"remediation":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["issue-claim"]},"topics":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["kind","topics"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["operator-action"]},"action":{"type":"string","enum":["unfreeze","remove-blocklist","register-identity"]}},"required":["kind","action"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["approve-transfer"]},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["kind","authorities"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["none"]},"reason":{"type":"string","minLength":1}},"required":["kind"],"additionalProperties":false}]},"topics":{"type":"array","items":{"type":"string"}},"ruleSource":{"type":"string","enum":["token-registry","identity-verification-module","global-control"]}},"required":["code","party","reason","remediationClass","remediation"],"additionalProperties":false}}},"required":["verdict","blockers"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"CantonTransferAcceptanceArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"transferInstructionContractId":{"type":"string","minLength":1}},"required":["instrumentAdmin","cantonPartyId","transferInstructionContractId"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"CantonAllowanceSpendArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"rulesContractId":{"type":"string","minLength":1},"allowanceContractId":{"type":"string","minLength":1},"allowanceBookContractId":{"type":"string","minLength":1},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"ownerAccountId":{"type":"string"},"receiverParty":{"$ref":"#/components/schemas/CantonPartyId"},"receiverAccountId":{"type":"string"},"amount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"executeBefore":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$"},"inputHoldingContractIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1},"ownerAccountStateBookContractId":{"type":"string","minLength":1},"complianceRegistrationContractId":{"type":"string","minLength":1}},"required":["instrumentAdmin","cantonPartyId","rulesContractId","allowanceContractId","allowanceBookContractId","ownerParty","receiverParty","amount","executeBefore","inputHoldingContractIds"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"CantonTransferArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"transferFactoryContractId":{"type":"string","minLength":1},"senderAccountId":{"type":"string"},"receiverParty":{"$ref":"#/components/schemas/CantonPartyId"},"receiverAccountId":{"type":"string"},"amount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"executeBefore":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$"},"inputHoldingContractIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["instrumentAdmin","cantonPartyId","transferFactoryContractId","receiverParty","amount","executeBefore","inputHoldingContractIds"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"CantonApproveArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"rulesContractId":{"type":"string","minLength":1},"allowanceBookContractId":{"type":"string","minLength":1},"spender":{"$ref":"#/components/schemas/CantonPartyId"},"amount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"previousAllowanceContractId":{"type":"string","minLength":1},"accountId":{"type":"string"}},"required":["instrumentAdmin","cantonPartyId","rulesContractId","allowanceBookContractId","spender","amount"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"TokenPreflightOutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"action":{"type":"string","enum":["mint","burn","freeze","unfreeze","transfer","forcedTransfer","freezeAddress","unfreezeAddress","pause","unpause"]},"clears":{"type":"boolean","enum":[true]}},"required":["action","clears"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string","minLength":1}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"TokenPreflightBody":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["mint"]},"recipients":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":100}]},"amounts":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]+$"},"minItems":1,"maxItems":100}]},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^-?\\d+$"},"instrumentAdmin":{"not":{}}},"required":["action","recipients","amounts"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["burn"]},"addresses":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":100}]},"amounts":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]+$"},"minItems":1,"maxItems":100}]},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^-?\\d+$"},"instrumentAdmin":{"not":{}}},"required":["action","addresses","amounts"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["freeze","unfreeze"]},"addresses":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":100}]},"amounts":{"anyOf":[{"type":"string","pattern":"^[0-9]+$"},{"type":"array","items":{"type":"string","pattern":"^[0-9]+$"},"minItems":1,"maxItems":100}]},"instrumentAdmin":{"not":{}}},"required":["action","addresses","amounts"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["transfer"]},"transfers":{"type":"array","items":{"type":"object","properties":{"recipient":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["recipient","amount"],"additionalProperties":false},"minItems":1,"maxItems":10000},"instrumentAdmin":{"not":{}}},"required":["action","transfers"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["forcedTransfer"]},"transfers":{"type":"array","items":{"type":"object","properties":{"from":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["from","recipient","amount"],"additionalProperties":false},"minItems":1,"maxItems":10000},"registerReference":{"type":"string","minLength":1},"corrects":{"type":"string","pattern":"^-?\\d+$"},"instrumentAdmin":{"not":{}}},"required":["action","transfers"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["freezeAddress","unfreezeAddress"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"instrumentAdmin":{"not":{}}},"required":["action","address"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["pause","unpause"]},"instrumentAdmin":{"not":{}}},"required":["action"],"additionalProperties":false}]},"CantonBurnArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"rulesContractId":{"type":"string","minLength":1},"accountId":{"type":"string"},"holdingContractId":{"type":"string","minLength":1},"reason":{"type":"string"}},"required":["instrumentAdmin","cantonPartyId","rulesContractId","holdingContractId"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"CantonMintArmBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"rulesContractId":{"type":"string","minLength":1},"accountId":{"type":"string"},"amount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"reason":{"type":"string"}},"required":["instrumentAdmin","cantonPartyId","rulesContractId","amount"],"additionalProperties":false,"description":"Canton arm of this folded write. The path segment is the instrument id."},"NativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency.","examples":["Ether"]},"symbol":{"type":"string","description":"Ticker printed beside a native amount.","examples":["ETH"]},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["name","symbol","decimals"],"additionalProperties":false,"description":"The chain's own currency, carried whole so a reader can render a native amount without looking it up."},"TokenCreatePreflightOutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"clears":{"type":"boolean","enum":[true]}},"required":["clears"],"additionalProperties":false}},"required":["data"],"additionalProperties":false},"CantonInstrumentCreateRegistry":{"type":"object","properties":{"maxTtl":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},"lockGrace":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},"maxSeizureExtension":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},"maxAttestationValidity":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},"allowedExecutors":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId"},"minItems":1}},"required":["maxTtl","lockGrace","maxSeizureExtension","maxAttestationValidity"],"additionalProperties":false},"CantonInstrumentCreateAttesterRegistry":{"type":"object","properties":{"attesters":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId"},"minItems":1},"acceptedClaimKinds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["attesters","acceptedClaimKinds"],"additionalProperties":false},"CantonInstrumentCreateModule":{"type":"object","properties":{"moduleId":{"type":"string","minLength":1},"configuration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["account-balance-cap"]},"maxBalance":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"}},"required":["kind","maxBalance"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["address-block-list"]},"blockedParties":{"type":"array","items":{"type":"string","minLength":1}}},"required":["kind","blockedParties"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["capital-raise-limit"]},"limit":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"window":{"anyOf":[{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},{"type":"null"}]}},"required":["kind","limit","window"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["collateral"]},"collateralAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"collateralExpiresAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$"}},"required":["kind","collateralAmount","collateralExpiresAt"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["country-allow-list"]},"allowedCountries":{"type":"array","items":{"type":"string","pattern":"^(0|[1-9]\\d*)$"}}},"required":["kind","allowedCountries"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["country-block-list"]},"blockedCountries":{"type":"array","items":{"type":"string","pattern":"^(0|[1-9]\\d*)$"}}},"required":["kind","blockedCountries"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["identity-allow-list"]},"allowed":{"type":"array","items":{"type":"string","minLength":1}}},"required":["kind","allowed"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["identity-block-list"]},"blocked":{"type":"array","items":{"type":"string","minLength":1}}},"required":["kind","blocked"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["identity-verification"]},"verificationContractId":{"type":"string","minLength":1},"expression":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"tag":{"type":"string","enum":["ETopic"]},"value":{"type":"string"}},"required":["tag","value"],"additionalProperties":false},{"type":"object","properties":{"tag":{"type":"string","enum":["EAnd","EOr","ENot"]},"value":{"type":"object","additionalProperties":true}},"required":["tag","value"],"additionalProperties":false}]}},"verifySender":{"type":"boolean"},"verifyReceiver":{"type":"boolean"}},"required":["kind","verificationContractId","expression","verifySender","verifyReceiver"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["investor-count"]},"maxInvestors":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["kind","maxInvestors"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["issuance-volume-limit"]},"limit":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"window":{"anyOf":[{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false},{"type":"null"}]}},"required":["kind","limit","window"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["supply-limit"]},"maxSupply":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"}},"required":["kind","maxSupply"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["time-lock"]},"holdPeriod":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false}},"required":["kind","holdPeriod"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["transfer-approval"]},"approver":{"type":"string","minLength":1},"exemptReceivers":{"type":"array","items":{"type":"string","minLength":1}}},"required":["kind","approver","exemptReceivers"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["transfer-count"]}},"required":["kind"],"additionalProperties":false}]}},"required":["moduleId","configuration"],"additionalProperties":false},"RealEstatePropertyUse":{"type":"string","enum":["RESIDENTIAL","COMMERCIAL","INDUSTRIAL","AGRICULTURAL","INSTITUTIONAL","MIXED_USE","RETAIL","OFFICE","HOSPITALITY","HEALTHCARE","EDUCATIONAL","RELIGIOUS","RECREATIONAL","CULTURAL","STORAGE","PARKING","TRANSPORTATION","UTILITIES","GOVERNMENTAL","PUBLIC_SPACE","DEVELOPMENT","VACANT","UNAVAILABLE","PUBLIC_SERVICES","PUBLIC_FACILITIES_TRANSPORTATION","ANCIENT_URBAN_REGION","VACANT_LAND","PLANS_AND_SYMBOLS","MANSION_USE","OTHER"],"description":"Usage classification of property"},"RealEstatePropertyType":{"type":"string","enum":["EMPTY_LAND","AGRICULTURAL_LAND","RESIDENTIAL_LAND","COMMERCIAL_LAND","INDUSTRIAL_LAND","SINGLE_FAMILY_HOUSE","VILLA","TOWNHOUSE","APARTMENT","CONDOMINIUM","OFFICE_BUILDING","RETAIL_SPACE","SHOPPING_MALL","WAREHOUSE","INDUSTRIAL_BUILDING","HOTEL","RESORT","HOSPITAL","CLINIC","SCHOOL","UNIVERSITY","SPORTS_FACILITY","PARKING_FACILITY","MIXED_USE_BUILDING","PLACE_OF_WORSHIP","GOVERNMENT_BUILDING","UNDER_CONSTRUCTION","OTHER"],"description":"Type of real estate property"},"RealEstateNumberEncoded":{"type":"string"},"FundCategory":{"type":"string","enum":["ACTIVIST","COMMODITY_TRADING","CONVERTIBLE_ARBITRAGE","CREDIT","CURRENCY_FX","DISTRESSED_DEBT","EMERGING_MARKETS","EQUITY_HEDGE","EVENT_DRIVEN","FIXED_INCOME_ARBITRAGE","FUND_OF_FUNDS","GLOBAL_MACRO","HIGH_FREQUENCY_TRADING","MANAGED_FUTURES_CTA","MARKET_NEUTRAL","MERGER_ARBITRAGE","MULTI_STRATEGY","PRIVATE_EQUITY","VENTURE_CAPITAL"],"description":"Category of investment fund"},"FundClass":{"type":"string","enum":["ABSOLUTE_RETURN","CORE_BLEND","DIVERSIFIED","EARLY_STAGE","FACTOR_BASED","GROWTH_FOCUSED","INCOME_FOCUSED","LARGE_CAP","LONG_EQUITY","LONG_SHORT_EQUITY","MARKET_NEUTRAL","MID_CAP","MOMENTUM_ORIENTED","OPPORTUNISTIC","PRE_SERIES_B","QUANTITATIVE_ALGORITHMIC","REGIONAL","SECTOR_SPECIFIC","SEED_PRE_SEED","SERIES_B_LATE_STAGE","SHORT_EQUITY","SMALL_CAP","TACTICAL_ASSET_ALLOCATION","VALUE_FOCUSED"],"description":"Class of investment fund"},"EquityCategory":{"type":"string","enum":["COMMON_EQUITY","VOTING_COMMON_STOCK","NON_VOTING_COMMON_STOCK","CUMULATIVE_PREFERRED_STOCK","NON_CUMULATIVE_PREFERRED_STOCK","CONVERTIBLE_PREFERRED_STOCK","REDEEMABLE_PREFERRED_STOCK","LARGE_CAP_EQUITY","MID_CAP_EQUITY","SMALL_CAP_EQUITY","MICRO_CAP_EQUITY","DOMESTIC_EQUITY","INTERNATIONAL_EQUITY","GLOBAL_EQUITY","EMERGING_MARKET_EQUITY","FRONTIER_MARKET_EQUITY","TECHNOLOGY","FINANCIALS","HEALTHCARE","ENERGY","CONSUMER_STAPLES","CONSUMER_DISCRETIONARY","INDUSTRIALS","MATERIALS","UTILITIES","COMMUNICATION_SERVICES","REAL_ESTATE","GROWTH_EQUITY","VALUE_EQUITY","BLEND_EQUITY","INCOME_EQUITY","VENTURE_CAPITAL","GROWTH_CAPITAL","LEVERAGED_BUYOUTS","MEZZANINE_FINANCING","DISTRESSED_EQUITY","RESTRICTED_STOCK","ESOP_SHARES","TRACKING_STOCKS","DUAL_CLASS_SHARES"],"description":"Category of equity"},"EquityClass":{"type":"string","enum":["COMMON_EQUITY","PREFERRED_EQUITY","MARKET_CAPITALIZATION_EQUITY","GEOGRAPHIC_EQUITY","SECTOR_INDUSTRY_EQUITY","INVESTMENT_STYLE_EQUITY","INVESTMENT_STAGE_PRIVATE_EQUITY","SPECIAL_CLASSES_EQUITY"],"description":"Class of equity"},"TokenCreateLogoUploadUrlBody":{"type":"object","properties":{"fileName":{"type":"string","minLength":1,"maxLength":255,"description":"Original file name, including extension. 1 to 255 characters.","examples":["northwind-logo.png"]},"fileSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mimeType":{"type":"string","enum":["image/png","image/jpeg","image/webp"],"description":"Brand logo must be a PNG, JPEG or WebP image","examples":["image/png"]}},"required":["fileName","fileSize","mimeType"],"additionalProperties":false,"description":"Brand logo to upload before the token exists. It must be a PNG, JPEG or WebP image of at most 5242880 bytes. PUT the bytes to the returned URL, then send the returned object key as `logo.objectKey` on the create call.","examples":[{"fileName":"northwind-logo.png","fileSize":24576,"mimeType":"image/png"}]},"TokenDocumentsReadOutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"downloadUrl":{"type":"string"},"expiresAt":{"type":"string"}},"required":["downloadUrl","expiresAt"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"SingleLinks":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false},"TokenHttpEmptyPart":{"type":"object","additionalProperties":true},"TokenDocumentsV2ListOutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"token":{"$ref":"#/components/schemas/EvmAddress"},"documentType":{"$ref":"#/components/schemas/TokenDocumentType"},"visibility":{"$ref":"#/components/schemas/TokenDocumentVisibility"},"groupId":{"type":"string"},"versionNumber":{"type":"integer","minimum":0,"maximum":9007199254740991},"isLatest":{"type":"boolean"},"fileName":{"type":"string","minLength":1},"fileSize":{"type":"integer","minimum":0,"maximum":9007199254740991},"mimeType":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","text/csv"]},"fileHash":{"type":"string","minLength":1},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"thumbnailKey":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","token","documentType","visibility","groupId","versionNumber","isLatest","fileName","fileSize","mimeType","fileHash","title","description","thumbnailKey","uploadedAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenDocumentVisibility":{"type":"string","enum":["public","holders","restricted"],"description":"Visibility level of a token document"},"TokenDocumentType":{"type":"string","enum":["prospectus","term_sheet","legal_opinion","regulatory_filing","compliance_report","annual_report","financial_statement","credit_rating","covenant_agreement","shareholder_agreement","fund_fact_sheet","subscription_agreement","nav_report","reserve_audit","attestation_report","reserve_composition","certificate","interest_schedule","property_deed","survey_report","appraisal","environmental_assessment","title_insurance","assay_certificate","storage_receipt","chain_of_custody","insurance_certificate","brand_logo","distribution_report","holder_notice","other"],"description":"Type of token document"},"TokenRecipientEligibilityResponseSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"action":{"type":"string","enum":["mint","transfer","burn"]},"eligible":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/RecipientIneligibleReason"},{"type":"null"}]}},"required":["address","action","eligible","reason"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"RecipientIneligibleReason":{"type":"string","enum":["identity-not-registered","identity-not-verified","no-identity-registry","claim-missing","claim-revoked","identity-not-allow-listed","address-frozen"],"description":"Why the address is not eligible: its identity has no active registration in the token's identity registries, its registered identity lacks a trusted, unrevoked, unexpired claim the token's identity verification requires for this action (`identity-not-verified`), the token has no identity registry to register in, the token's claim-gated modules require a claim topic the identity does not actively hold (`claim-missing` when no usable claim covers it, `claim-revoked` when a revoked claim covers the missing topic), the token's identity allow list does not list the identity (`identity-not-allow-listed`), or, for a transfer, the address is frozen on the token (`address-frozen`)."},"InheritedGlobalControlsV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm","canton"]},"controls":{"type":"array","items":{"type":"string","minLength":1}}},"required":["family","controls"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenComplianceV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm","canton"]},"modules":{"type":"array","items":{"type":"string","minLength":1}},"registration":{"anyOf":[{"type":"object","properties":{"contractId":{"type":"string","minLength":1}},"required":["contractId"],"additionalProperties":false},{"type":"null"}]}},"required":["family","modules"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"StatsV2OutputSchema":{"anyOf":[{"$ref":"#/components/schemas/StatsSupplyChangesV2OutputSchema"},{"$ref":"#/components/schemas/StatsTotalSupplyV2OutputSchema"},{"$ref":"#/components/schemas/StatsVolumeV2OutputSchema"},{"$ref":"#/components/schemas/StatsBondStatusOutputSchema"},{"$ref":"#/components/schemas/StatsCollateralRatioV2OutputSchema"},{"$ref":"#/components/schemas/StatsWalletDistributionV2OutputSchema"},{"$ref":"#/components/schemas/StatsHolderDistributionV2OutputSchema"},{"$ref":"#/components/schemas/StatsYieldCoverageV2OutputSchema"},{"$ref":"#/components/schemas/StatsYieldDistributionV2OutputSchema"},{"$ref":"#/components/schemas/StatsPeriodSummaryV2OutputSchema"},{"$ref":"#/components/schemas/StatsFlowsV2OutputSchema"},{"$ref":"#/components/schemas/StatsCollateralHistoryV2OutputSchema"},{"$ref":"#/components/schemas/StatsYieldRunwayV2OutputSchema"},{"$ref":"#/components/schemas/StatsBondTimelineV2OutputSchema"},{"$ref":"#/components/schemas/StatsConcentrationV2OutputSchema"}]},"StatsConcentrationV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"holders":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Accounts that hold a positive balance."},"curve":{"type":"array","items":{"$ref":"#/components/schemas/TokenConcentrationPoint"},"description":"Cumulative share of the supply by share of the holders, largest first, at most a few dozen points. Empty without holders."},"bands":{"type":"array","items":{"$ref":"#/components/schemas/TokenConcentrationBand"},"description":"The held supply split by holder rank: the largest holder, the next four, the next five, and so on."}},"required":["family","holders","curve","bands"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenConcentrationBand":{"type":"object","properties":{"firstRank":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The largest holder of the band, ranked from one."},"lastRank":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The smallest holder of the band. Null for the band that holds every remaining holder."},"share":{"type":"number","description":"Share of the held supply the band owns, in percent."}},"required":["firstRank","lastRank","share"],"additionalProperties":false},"TokenConcentrationPoint":{"type":"object","properties":{"holders":{"type":"number","description":"Share of the holders counted from the largest, in percent."},"supply":{"type":"number","description":"Share of the held supply those holders own, in percent."}},"required":["holders","supply"],"additionalProperties":false},"StatsBondTimelineV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"milestones":{"type":"array","items":{"$ref":"#/components/schemas/TokenBondMilestone"},"description":"Issue, every coupon date and maturity of the bond, oldest first. Empty when the bond is not indexed."}},"required":["family","milestones"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenBondMilestone":{"type":"object","properties":{"at":{"$ref":"#/components/schemas/TimestampEncoded"},"kind":{"type":"string","enum":["issue","coupon","maturity"]},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The coupon the date pays, in denomination units. Null for the issue and the maturity."},"state":{"type":"string","enum":["upcoming","ended","claimed","issued","matured"],"description":"Where the milestone stands: `upcoming` before its date; `ended` when a coupon period or the maturity date has passed without the on-chain confirmation; `claimed` when the holders have claimed the whole coupon; `issued` for the first issuance; `matured` once the bond has matured on chain."}},"required":["at","kind","amount","state"],"additionalProperties":false},"StatsYieldRunwayV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"points":{"type":"array","items":{"$ref":"#/components/schemas/TokenYieldRunwayPoint"},"description":"One point for today, then one for each coupon date still ahead, oldest first. Empty without a yield schedule."},"funded":{"type":"number","description":"What the treasury can pay today, in denomination units."},"firstShortfall":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The first coupon date the treasury cannot cover. Null when it covers every coupon ahead."},"denomSymbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol of the denomination asset the amounts are paid in, not the bond's own symbol."}},"required":["family","points","funded","firstShortfall","denomSymbol"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenYieldRunwayPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"due":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Coupons that fall due up to and including this date, summed, in denomination units."},"funded":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"What the treasury can pay today, in denomination units. The same on every point."},"shortfall":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"due minus funded when the treasury cannot cover the coupons due by this date, otherwise zero."}},"required":["t","due","funded","shortfall"],"additionalProperties":false},"StatsCollateralHistoryV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TokenCollateralHistoryPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/TokenCollateralHistoryPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["family","range","grain","points","figure","meta"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenCollateralHistoryPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Collateral held divided by the supply it has to back, in percent, when the bucket closed. Null before the first collateral claim and while nothing is minted."}},"required":["t","ratio"],"additionalProperties":false},"StatsFlowsV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TokenFlowsPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/TokenFlowsPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["family","range","grain","points","figure","meta"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenFlowsPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"minted":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Token units minted inside the bucket. Never negative."},"burned":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Token units burned inside the bucket, signed: zero or negative, so a bar draws below the axis."},"net":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"minted plus burned: the change in supply over the bucket."},"transferred":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Token units moved by completed transfers in the bucket."},"transfers":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Completed transfers in the bucket."}},"required":["t","minted","burned","net","transferred","transfers"],"additionalProperties":false},"StatsPeriodSummaryV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"from":{"$ref":"#/components/schemas/TimestampEncoded"},"to":{"$ref":"#/components/schemas/TimestampEncoded"},"current":{"$ref":"#/components/schemas/PeriodFigures"},"previous":{"$ref":"#/components/schemas/PeriodFigures"}},"required":["family","from","to","current","previous"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"PeriodFigures":{"type":"object","properties":{"transferCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Completed transfers in the period."},"transferVolume":{"type":"string","description":"Token units moved by those transfers."},"minted":{"type":"string","description":"Token units minted in the period."},"burned":{"type":"string","description":"Token units burned in the period."},"netSupplyChange":{"type":"string","description":"Minted minus burned, in token units. Negative when more was burned than minted."},"activeHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Accounts that sent or received tokens in the period."},"newHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Accounts whose first receipt of the token falls in the period."},"movers":{"type":"array","items":{"$ref":"#/components/schemas/PeriodMover"},"description":"Up to five accounts that moved the most value in the period, largest first."},"eventCounts":{"type":"array","items":{"$ref":"#/components/schemas/PeriodEventCount"},"description":"Events recorded for the token in the period, by event name, most frequent first."}},"required":["transferCount","transferVolume","minted","burned","netSupplyChange","activeHolders","newHolders","movers","eventCounts"],"additionalProperties":false},"PeriodEventCount":{"type":"object","properties":{"eventName":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["eventName","count"],"additionalProperties":false},"PeriodMover":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"value":{"type":"string","description":"Token units the account sent and received in the period through completed transfers."}},"required":["account","value"],"additionalProperties":false},"StatsYieldDistributionV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"periods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"totalYield":{"$ref":"#/components/schemas/BigDecimal"},"claimed":{"$ref":"#/components/schemas/BigDecimal"},"unclaimed":{"$ref":"#/components/schemas/BigDecimal"}},"required":["id","timestamp","totalYield","claimed","unclaimed"],"additionalProperties":false}},"totalYield":{"$ref":"#/components/schemas/BigDecimal"},"totalClaimed":{"$ref":"#/components/schemas/BigDecimal"},"totalUnclaimed":{"$ref":"#/components/schemas/BigDecimal"},"denomSymbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol of the denomination asset the amounts are paid in, not the bond's own symbol."}},"required":["family","periods","totalYield","totalClaimed","totalUnclaimed","denomSymbol"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"StatsYieldCoverageV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"yieldCoverage":{"type":"number"},"hasYieldSchedule":{"type":"boolean"},"isRunning":{"type":"boolean"},"totalUnclaimedYield":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetBalance":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetTreasuryAllowance":{"$ref":"#/components/schemas/BigDecimal"},"allowanceCoveredPercentage":{"$ref":"#/components/schemas/BigDecimal"},"requiredAllowance":{"$ref":"#/components/schemas/BigDecimal"},"treasuryIsContract":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"treasuryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"scheduleAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"scheduleAbsenceReason":{"anyOf":[{"type":"string","enum":["token-not-indexed","no-schedule"]},{"type":"null"}]},"funding":{"anyOf":[{"$ref":"#/components/schemas/FundingCoverage"},{"type":"null"}]},"currentPeriodYield":{"anyOf":[{"$ref":"#/components/schemas/PeriodYieldFigure"},{"type":"null"}]},"nextPeriodYield":{"anyOf":[{"$ref":"#/components/schemas/PeriodYieldFigure"},{"type":"null"}]}},"required":["family","yieldCoverage","hasYieldSchedule","isRunning","totalUnclaimedYield","denominationAssetBalance","denominationAssetTreasuryAllowance","allowanceCoveredPercentage","requiredAllowance","treasuryIsContract","treasuryAddress","scheduleAddress","scheduleAbsenceReason","funding","currentPeriodYield","nextPeriodYield"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"PeriodYieldFigure":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/BigDecimal"},"basis":{"$ref":"#/components/schemas/PeriodYieldBasis"}},"required":["amount","basis"],"additionalProperties":false},"PeriodYieldBasis":{"type":"string","enum":["projected","actual"],"description":"`projected` until the period's yield is indexed, `actual` once it is."},"StatsHolderDistributionV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"totalSupply":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"The total supply the shares are of, in token units. Null when the read has no supply, such as a past timepoint nobody held the token at."},"totalHolders":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The number of accounts holding a positive balance. For an external token it counts the holders an organisation watches."},"topHolders":{"allOf":[{"$ref":"#/components/schemas/ValueComposition"},{"description":"The five largest holders by balance, keyed by lowercase account address, and everyone else folded into other. The shares are of the token's total supply and add up to exactly 10000. Empty while the supply or the holder set is empty."}]},"shareBands":{"allOf":[{"$ref":"#/components/schemas/CountComposition"},{"description":"How many holders hold over 25%, 10% to 25%, 5% to 10%, 1% to 5% and under 1% of the supply the counted holders hold, in that fixed order, leaving out a band no holder is in. Holders past the largest hundred count in the under 1% band. Each band's share is the part of the supply the counted holders hold that its holders hold; for an external token that is only what the organization's own accounts hold. The shares add up to exactly 10000."}]}},"required":["family","totalSupply","totalHolders","topHolders","shareBands"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"CountComposition":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The part's own key, such as an asset class slug or a topic id."},"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"shareBps":{"type":"integer","minimum":0,"maximum":10000,"description":"The part's share of the whole in basis points. The shares of every row and the tail add up to exactly 10000."},"sharePercent":{"type":"integer","minimum":0,"maximum":100,"description":"The part's share of the whole in whole percent, allocated by largest remainder so the shares of every row and the tail add up to exactly 100. Every part has an amount above zero, so a part that shows 0 here is under 1%."}},"required":["key","value","shareBps","sharePercent"],"additionalProperties":false},"description":"The parts above zero, largest first, or in their fixed order for a fixed-order composition."},"other":{"anyOf":[{"type":"object","properties":{"value":{"type":"integer","minimum":0,"maximum":9007199254740991},"shareBps":{"type":"integer","minimum":0,"maximum":10000},"sharePercent":{"type":"integer","minimum":0,"maximum":100}},"required":["value","shareBps","sharePercent"],"additionalProperties":false},{"type":"null"}],"description":"The parts past the row limit, folded into one. Null when every part has a row."}},"required":["rows","other"],"additionalProperties":false,"description":"A whole split into counted parts, with each part's share computed by the server."},"ValueComposition":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The part's own key, such as an asset class slug or a topic id."},"value":{"$ref":"#/components/schemas/BigDecimal"},"shareBps":{"type":"integer","minimum":0,"maximum":10000,"description":"The part's share of the whole in basis points. The shares of every row and the tail add up to exactly 10000."},"sharePercent":{"type":"integer","minimum":0,"maximum":100,"description":"The part's share of the whole in whole percent, allocated by largest remainder so the shares of every row and the tail add up to exactly 100. Every part has an amount above zero, so a part that shows 0 here is under 1%."}},"required":["key","value","shareBps","sharePercent"],"additionalProperties":false},"description":"The parts above zero, largest first, or in their fixed order for a fixed-order composition."},"other":{"anyOf":[{"type":"object","properties":{"value":{"$ref":"#/components/schemas/BigDecimal"},"shareBps":{"type":"integer","minimum":0,"maximum":10000},"sharePercent":{"type":"integer","minimum":0,"maximum":100}},"required":["value","shareBps","sharePercent"],"additionalProperties":false},{"type":"null"}],"description":"The parts past the row limit, folded into one. Null when every part has a row."}},"required":["rows","other"],"additionalProperties":false,"description":"A whole split into valued parts, with each part's share computed by the server."},"StatsWalletDistributionV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"buckets":{"type":"array","items":{"type":"object","properties":{"range":{"type":"string"},"count":{"type":"number"}},"required":["range","count"],"additionalProperties":false}},"totalHolders":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The number of accounts holding a positive balance. Null for an external token, which only counts the holders an organisation watches; its buckets band those watched holders."},"largestHolderShare":{"type":"number","description":"Percentage of the held supply owned by the largest holder, rounded to one decimal.","examples":[76.9]}},"required":["family","buckets","totalHolders","largestHolderShare"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"StatsCollateralRatioV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"buckets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"$ref":"#/components/schemas/BigDecimal"}},"required":["name","value"],"additionalProperties":false}},"totalCollateral":{"$ref":"#/components/schemas/BigDecimal"},"requiredCollateral":{"$ref":"#/components/schemas/BigDecimal"},"mintableSupply":{"$ref":"#/components/schemas/BigDecimal"},"collateralizationPercentage":{"type":"number"},"configuredCollateralRatioBps":{"type":"number"},"parity_confidence":{"type":"string","enum":["high","degraded"]},"utilizationPercentage":{"type":"number"}},"required":["buckets","totalCollateral","requiredCollateral","mintableSupply","collateralizationPercentage","configuredCollateralRatioBps","parity_confidence","utilizationPercentage"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"StatsBondStatusOutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"denominationAssetBalanceAvailable":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetBalanceRequired":{"$ref":"#/components/schemas/BigDecimal"},"coveredPercentage":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetTreasuryAllowance":{"$ref":"#/components/schemas/BigDecimal"},"allowanceCoveredPercentage":{"$ref":"#/components/schemas/BigDecimal"},"treasuryIsContract":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"treasuryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"featureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"solvencyKnown":{"type":"boolean"}},"required":["denominationAssetBalanceAvailable","denominationAssetBalanceRequired","coveredPercentage","denominationAssetTreasuryAllowance","allowanceCoveredPercentage","treasuryIsContract","treasuryAddress","featureAddress","solvencyKnown"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"StatsVolumeV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"volumeHistory":{"type":"array","items":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"totalVolume":{"type":"string"}},"required":["timestamp","totalVolume"],"additionalProperties":false}}},"required":["family","volumeHistory"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"StatsTotalSupplyV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TokenTotalSupplyPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/TokenTotalSupplyPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["family","range","grain","points","figure","meta"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenTotalSupplyPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"totalSupply":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","totalSupply"],"additionalProperties":false,"description":"The total supply, in token units, at the end of one bucket."},"StatsSupplyChangesV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"supplyChangesHistory":{"type":"array","items":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"totalMinted":{"type":"string"},"totalBurned":{"type":"string"}},"required":["timestamp","totalMinted","totalBurned"],"additionalProperties":false}}},"required":["family","supplyChangesHistory"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenMaturityRedemptionEventsV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"tokenAmount":{"type":"string"},"denominationAmount":{"type":"string"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["holder","tokenAmount","denominationAmount","transactionHash"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenEventsV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"eventName":{"type":"string"},"txIndex":{"type":"string"},"blockNumber":{"type":"string"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emitter":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"sender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"metaTxSigner":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"displaySender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"relayerKind":{"anyOf":[{"type":"string"},{"type":"null"}]},"relayer":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"userOpHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"paymaster":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"actualGasCost":{"anyOf":[{"type":"string"},{"type":"null"}]},"involved":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false}},"values":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"}},"required":["id","name","value"],"additionalProperties":false}},"attributedAccount":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"attributedAmount":{"type":"string"},"swap":{"$ref":"#/components/schemas/TradingVenueSwap_1"}},"required":["family","id","eventName","txIndex","blockNumber","blockTimestamp","transactionHash","emitter","sender","metaTxSigner","displaySender","relayerKind","relayer","userOpHash","involved","values"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"id":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"ledgerOffset":{"$ref":"#/components/schemas/LedgerOffset"},"updateId":{"type":"string","minLength":1},"nodeId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"projectionFamily":{"type":"string","minLength":1},"action":{"type":"string","minLength":1},"contractId":{"type":"string","minLength":1},"instrumentAdmin":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"instrumentId":{"anyOf":[{"type":"string"},{"type":"null"}]},"fromParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"toParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"},{"type":"null"}]},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","id","networkIdentity","ledgerOffset","updateId","nodeId","projectionFamily","action","contractId","instrumentAdmin","instrumentId","fromParty","toParty","amount","recordTime"],"additionalProperties":false}]}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestCreatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["value","count"],"additionalProperties":false}}},"nextCursor":{"type":"string"}},"required":["total"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false,"description":"One page of indexed events for the selected asset, in either chain family. `meta.total` counts every matching event, not only this page. `meta.facets.eventName` and `meta.facets.contractAddress` count the matching events per value, each ignoring its own filter so a chosen value does not hide its siblings.","examples":[{"data":[],"meta":{"total":0},"links":{"self":"/v2/tokens/0x0000000000000000000000000000000000000000/events"}},{"data":[],"meta":{"total":0},"links":{"self":"/v2/tokens/NWC-2026/events?instrumentAdmin=Alice::1220"}}]},"TradingVenueSwap_1":{"type":"object","properties":{"tradeId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Venue trade id. Null for a trade settled before the venue emitted trade ids."},"marketId":{"type":"string"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"seller":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The seller's wallet. Null when the caller is not the seller and does not operate the venue, so a trader never sees the counterparty."},"buyer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The buyer's wallet. Null when the caller is not the buyer and does not operate the venue, so a trader never sees the counterparty."},"base":{"$ref":"#/components/schemas/TradingVenueSwapAsset_1"},"quote":{"$ref":"#/components/schemas/TradingVenueSwapAsset_1"},"buyerFee":{"type":"string","pattern":"^-?\\d+$"},"legs":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueSwapLeg_1"},"description":"Token transfers that settled the trade, in chain order."}},"required":["tradeId","marketId","venueAddress","seller","buyer","base","quote","buyerFee","legs"],"additionalProperties":false,"description":"The trade a venue settled in this event: the caller's own side, both amounts, and the transfers that moved them. A venue operator also sees the counterparty."},"TradingVenueSwapLeg_1":{"type":"object","properties":{"leg":{"type":"string","enum":["base","quote","fee"],"description":"Which part of the trade the transfer carried: `base` delivers the base asset to the buyer, `quote` pays the seller, `fee` pays the venue's fee account."},"token":{"$ref":"#/components/schemas/EvmAddress"},"from":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Party whose units the transfer moved, also when an escrow contract paid them out. Null when the caller is neither that party nor a venue operator."},"to":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Party the transfer paid. Null when the caller is neither that party nor a venue operator, except that a fee leg always names the venue's fee account."},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["leg","token","from","to","amount"],"additionalProperties":false},"TradingVenueSwapAsset_1":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol the indexer holds for the asset."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Decimals the indexer holds for the asset."},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["address","symbol","decimals","amount"],"additionalProperties":false},"TokenHistoricalBalanceAtBlockByHolderV2OutputSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"holderAddress":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"string"},"balanceExact":{"type":"string"},"asOfBlockNumber":{"type":"string"},"asOfBlockTimestamp":{"anyOf":[{"type":"string"},{"type":"null"}]},"asOfTxHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"asOfLogIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"requestedBlock":{"type":"string"}},"required":["family","tokenAddress","holderAddress","balance","balanceExact","asOfBlockNumber","asOfBlockTimestamp","asOfTxHash","asOfLogIndex","requestedBlock"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenHistoricalHoldersAtBlockV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenHistoricalHolderAtBlockV2ItemSchema"}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenHistoricalHolderAtBlockV2ItemSchema":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"account":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"available":{"type":"string"},"frozen":{"type":"string"},"isFrozen":{"type":"boolean"},"value":{"type":"string"},"lastUpdatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","account","available","frozen","isFrozen","value","lastUpdatedAt"],"additionalProperties":false},"TokenHistoricalBalanceAtBlockV2OutputSchema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"string"},"balanceExact":{"type":"string"},"totalSupply":{"type":"string"},"totalSupplyExact":{"type":"string"},"timepoint":{"type":"string"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"asOfBlockNumber":{"type":"string"}},"required":["account","balance","balanceExact","totalSupply","totalSupplyExact","timepoint","featureAddress","asOfBlockNumber"],"additionalProperties":false},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenHistoricalBalancesV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenHistoricalBalanceV2ItemSchema"}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenHistoricalBalanceV2ItemSchema":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"account":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"type":"string","enum":["account","totalSupply"]},"sender":{"$ref":"#/components/schemas/EvmAddress"},"oldBalance":{"type":"string"},"oldBalanceExact":{"$ref":"#/components/schemas/AssetAmount"},"newBalance":{"type":"string"},"newBalanceExact":{"$ref":"#/components/schemas/AssetAmount"},"blockNumber":{"$ref":"#/components/schemas/BlockHeightEncoded"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["family","id","account","kind","sender","oldBalance","oldBalanceExact","newBalance","newBalanceExact","blockNumber","blockTimestamp","txHash","logIndex"],"additionalProperties":false},"TreasuryHealthResponseSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"status":{"type":"string","enum":["green","yellow","red"]},"availableBalance":{"type":"string","examples":["240000000.00"]},"requiredBalance":{"type":"string","examples":["125000.00"]}},"required":["status","availableBalance","requiredBalance"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"HoldingsV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/HeldAssetV2Entry"},{"$ref":"#/components/schemas/CantonHoldingItem"}],"discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/HeldAssetV2Entry","canton":"#/components/schemas/CantonHoldingItem"}}}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CantonHoldingItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"networkIdentity":{"type":"string","minLength":1},"contractId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentId":{"type":"string","minLength":1},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"providerParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"accountId":{"type":"string"},"amount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"},"locked":{"type":"boolean"},"lockHolders":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId"}},"lockExpiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdOffset":{"$ref":"#/components/schemas/LedgerOffset"},"updateId":{"type":"string","minLength":1},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","contractId","instrumentAdmin","instrumentId","ownerParty","providerParty","accountId","amount","locked","lockHolders","lockExpiresAt","createdOffset","updateId","recordTime"],"additionalProperties":false},"HeldAssetV2Entry":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"$ref":"#/components/schemas/EvmAddress"},"tokenFactory":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"type":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"name":{"type":"string"},"symbol":{"type":"string"},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"totalSupply":{"$ref":"#/components/schemas/BigDecimal"},"totalSupplyExact":{"$ref":"#/components/schemas/AssetAmount"},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"isExternal":{"type":"boolean"},"balance":{"$ref":"#/components/schemas/BigDecimal"},"valueInBaseCurrency":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"priceInBaseCurrencyReliable":{"type":"boolean"}},"required":["family","id","tokenFactory","type","createdAt","name","symbol","decimals","basePrice","basePriceCurrencyCode","totalSupply","smartInterface","pausable","isExternal","balance","valueInBaseCurrency","priceInBaseCurrencyReliable"],"additionalProperties":false},"TokenAllowanceV2OutputSchema":{"anyOf":[{"$ref":"#/components/schemas/TokenAllowanceV2SingleOutputSchema"},{"$ref":"#/components/schemas/TokenAllowanceV2BookPageSchema"}]},"TokenAllowanceV2BookPageSchema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"contractId":{"type":"string","minLength":1},"kind":{"type":"string","enum":["allowance","book"]},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentId":{"type":"string","minLength":1},"ownerParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]},"spenderParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}]}},"required":["contractId","kind","instrumentAdmin","instrumentId"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenAllowanceV2SingleOutputSchema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"owner":{"type":"string","minLength":1,"maxLength":255},"spender":{"type":"string","minLength":1,"maxLength":255},"amount":{"$ref":"#/components/schemas/AssetAmount"},"lastUpdatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["owner","spender","amount","lastUpdatedAt"],"additionalProperties":false},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenAllowanceV2Filter":{"type":"object","properties":{"kind":{"type":"string","enum":["allowance","book"]}},"additionalProperties":false},"TokenHolderV2ResponseSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"holder":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"account":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/AssetAmount"},"frozen":{"$ref":"#/components/schemas/AssetAmount"},"available":{"$ref":"#/components/schemas/AssetAmount"},"isFrozen":{"type":"boolean"},"held":{"$ref":"#/components/schemas/AssetAmount"},"locked":{"$ref":"#/components/schemas/AssetAmount"},"transferable":{"$ref":"#/components/schemas/AssetAmount"},"nextUnlockAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"First representable instant more of the locked balance becomes transferable. Null when nothing is locked or no representable unlock instant is known; a null date does not release locked units."},"holderLockUps":{"type":"array","items":{"$ref":"#/components/schemas/HolderLockUp"},"description":"Nonzero stored holder locks by active lock-up module instance, including expired locks that can still be cleared. Each unlockTime is an exact decimal uint64 count of Unix seconds."}},"required":["total","frozen","available","isFrozen","held","locked","transferable","nextUnlockAt","holderLockUps"],"additionalProperties":false},"lastUpdatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"allOf":[{"$ref":"#/components/schemas/RestrictionReason"},{"description":"Why the address is blocked: the reason recorded with the block that is still in force. Present only while the address is blocked and the block recorded a reason; blocks made before reasons were recorded carry none."}]}},"required":["_tag","account","balance","lastUpdatedAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"totalAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"lockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"holdingCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","ownerParty","totalAmount","lockedAmount","holdingCount","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["family","holder"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"HolderLockUp":{"type":"object","properties":{"moduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"},"unlockTime":{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":20}},"required":["moduleAddress","amount","unlockTime"],"additionalProperties":false},"HoldersV2OutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"account":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/AssetAmount"},"frozen":{"$ref":"#/components/schemas/AssetAmount"},"available":{"$ref":"#/components/schemas/AssetAmount"},"isFrozen":{"type":"boolean"},"held":{"$ref":"#/components/schemas/AssetAmount"},"locked":{"$ref":"#/components/schemas/AssetAmount"},"transferable":{"$ref":"#/components/schemas/AssetAmount"},"nextUnlockAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"First representable instant more of the locked balance becomes transferable. Null when nothing is locked or no representable unlock instant is known; a null date does not release locked units."},"holderLockUps":{"type":"array","items":{"$ref":"#/components/schemas/HolderLockUp"},"description":"Nonzero stored holder locks by active lock-up module instance, including expired locks that can still be cleared. Each unlockTime is an exact decimal uint64 count of Unix seconds."}},"required":["total","frozen","available","isFrozen","held","locked","transferable","nextUnlockAt","holderLockUps"],"additionalProperties":false},"lastUpdatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"allOf":[{"$ref":"#/components/schemas/RestrictionReason"},{"description":"Why the address is blocked: the reason recorded with the block that is still in force. Present only while the address is blocked and the block recorded a reason; blocks made before reasons were recorded carry none."}]}},"required":["_tag","account","balance","lastUpdatedAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"totalAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"lockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"holdingCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","ownerParty","totalAmount","lockedAmount","holdingCount","updatedAt"],"additionalProperties":false}]}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenMetadataV2ResponseSchema":{"type":"object","properties":{"data":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"metadata_":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"type":"string"},"valueNumber":{"anyOf":[{"type":"number"},{"type":"null"}]},"isImmutable":{"type":"boolean"},"setAt":{"$ref":"#/components/schemas/TimestampEncoded"},"writtenIn":{"anyOf":[{"type":"object","properties":{"block":{"$ref":"#/components/schemas/BlockHeightEncoded"},"transaction":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["block","transaction"],"additionalProperties":false},{"type":"null"}],"description":"The block and transaction whose `MetadataSet` event last wrote this entry, which order two writes in one block where `setAt` cannot. Null for an off-chain entry."},"storage":{"type":"string","enum":["onchain","offchain"],"description":"Where the template stores this entry: `onchain` for an indexed contract entry, `offchain` for a value held in the platform database."}},"required":["key","value","valueNumber","isImmutable","setAt","writtenIn","storage"],"additionalProperties":false}},{"type":"null"}]}},"required":["family","metadata_"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","links"],"additionalProperties":false},"TokenV2ReadOutputSchema":{"type":"object","properties":{"data":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]},"details":{"anyOf":[{"$ref":"#/components/schemas/TokenReadDetails"},{"type":"null"}]},"facets":{"type":"object","properties":{"holders":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"account":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"object","properties":{"total":{"$ref":"#/components/schemas/AssetAmount"},"frozen":{"$ref":"#/components/schemas/AssetAmount"},"available":{"$ref":"#/components/schemas/AssetAmount"},"isFrozen":{"type":"boolean"},"held":{"$ref":"#/components/schemas/AssetAmount"},"locked":{"$ref":"#/components/schemas/AssetAmount"},"transferable":{"$ref":"#/components/schemas/AssetAmount"},"nextUnlockAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"First representable instant more of the locked balance becomes transferable. Null when nothing is locked or no representable unlock instant is known; a null date does not release locked units."},"holderLockUps":{"type":"array","items":{"$ref":"#/components/schemas/HolderLockUp"},"description":"Nonzero stored holder locks by active lock-up module instance, including expired locks that can still be cleared. Each unlockTime is an exact decimal uint64 count of Unix seconds."}},"required":["total","frozen","available","isFrozen","held","locked","transferable","nextUnlockAt","holderLockUps"],"additionalProperties":false},"lastUpdatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"allOf":[{"$ref":"#/components/schemas/RestrictionReason"},{"description":"Why the address is blocked: the reason recorded with the block that is still in force. Present only while the address is blocked and the block recorded a reason; blocks made before reasons were recorded carry none."}]}},"required":["_tag","account","balance","lastUpdatedAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId"},"totalAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"lockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"holdingCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","ownerParty","totalAmount","lockedAmount","holdingCount","updatedAt"],"additionalProperties":false}]}},"meta":{"$ref":"#/components/schemas/CollectionMeta"},"links":{"$ref":"#/components/schemas/CollectionLinks"}},"required":["data","meta","links"],"additionalProperties":false},"bondStatus":{"type":"object","properties":{"denominationAssetBalanceAvailable":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetBalanceRequired":{"$ref":"#/components/schemas/BigDecimal"},"coveredPercentage":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetTreasuryAllowance":{"$ref":"#/components/schemas/BigDecimal"},"allowanceCoveredPercentage":{"$ref":"#/components/schemas/BigDecimal"},"treasuryIsContract":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"treasuryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"featureAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"solvencyKnown":{"type":"boolean"}},"required":["denominationAssetBalanceAvailable","denominationAssetBalanceRequired","coveredPercentage","denominationAssetTreasuryAllowance","allowanceCoveredPercentage","treasuryIsContract","treasuryAddress","featureAddress","solvencyKnown"],"additionalProperties":false},"collateralRatio":{"type":"object","properties":{"buckets":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"$ref":"#/components/schemas/BigDecimal"}},"required":["name","value"],"additionalProperties":false}},"totalCollateral":{"$ref":"#/components/schemas/BigDecimal"},"requiredCollateral":{"$ref":"#/components/schemas/BigDecimal"},"mintableSupply":{"$ref":"#/components/schemas/BigDecimal"},"collateralizationPercentage":{"type":"number"},"configuredCollateralRatioBps":{"type":"number"},"parity_confidence":{"type":"string","enum":["high","degraded"]},"utilizationPercentage":{"type":"number"}},"required":["buckets","totalCollateral","requiredCollateral","mintableSupply","collateralizationPercentage","configuredCollateralRatioBps","parity_confidence","utilizationPercentage"],"additionalProperties":false},"supplyChanges":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"supplyChangesHistory":{"type":"array","items":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"totalMinted":{"type":"string"},"totalBurned":{"type":"string"}},"required":["timestamp","totalMinted","totalBurned"],"additionalProperties":false}}},"required":["family","supplyChangesHistory"],"additionalProperties":false},"totalSupply":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TokenTotalSupplyPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/TokenTotalSupplyPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["family","range","grain","points","figure","meta"],"additionalProperties":false},"volume":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"volumeHistory":{"type":"array","items":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"totalVolume":{"type":"string"}},"required":["timestamp","totalVolume"],"additionalProperties":false}}},"required":["family","volumeHistory"],"additionalProperties":false},"walletDistribution":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"buckets":{"type":"array","items":{"type":"object","properties":{"range":{"type":"string"},"count":{"type":"number"}},"required":["range","count"],"additionalProperties":false}},"totalHolders":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The number of accounts holding a positive balance. Null for an external token, which only counts the holders an organisation watches; its buckets band those watched holders."},"largestHolderShare":{"type":"number","description":"Percentage of the held supply owned by the largest holder, rounded to one decimal.","examples":[76.9]}},"required":["family","buckets","totalHolders","largestHolderShare"],"additionalProperties":false},"yieldCoverage":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"yieldCoverage":{"type":"number"},"hasYieldSchedule":{"type":"boolean"},"isRunning":{"type":"boolean"},"totalUnclaimedYield":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetBalance":{"$ref":"#/components/schemas/BigDecimal"},"denominationAssetTreasuryAllowance":{"$ref":"#/components/schemas/BigDecimal"},"allowanceCoveredPercentage":{"$ref":"#/components/schemas/BigDecimal"},"requiredAllowance":{"$ref":"#/components/schemas/BigDecimal"},"treasuryIsContract":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"treasuryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"scheduleAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"scheduleAbsenceReason":{"anyOf":[{"type":"string","enum":["token-not-indexed","no-schedule"]},{"type":"null"}]},"funding":{"anyOf":[{"$ref":"#/components/schemas/FundingCoverage"},{"type":"null"}]},"currentPeriodYield":{"anyOf":[{"$ref":"#/components/schemas/PeriodYieldFigure"},{"type":"null"}]},"nextPeriodYield":{"anyOf":[{"$ref":"#/components/schemas/PeriodYieldFigure"},{"type":"null"}]}},"required":["family","yieldCoverage","hasYieldSchedule","isRunning","totalUnclaimedYield","denominationAssetBalance","denominationAssetTreasuryAllowance","allowanceCoveredPercentage","requiredAllowance","treasuryIsContract","treasuryAddress","scheduleAddress","scheduleAbsenceReason","funding","currentPeriodYield","nextPeriodYield"],"additionalProperties":false},"yieldDistribution":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"periods":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"totalYield":{"$ref":"#/components/schemas/BigDecimal"},"claimed":{"$ref":"#/components/schemas/BigDecimal"},"unclaimed":{"$ref":"#/components/schemas/BigDecimal"}},"required":["id","timestamp","totalYield","claimed","unclaimed"],"additionalProperties":false}},"totalYield":{"$ref":"#/components/schemas/BigDecimal"},"totalClaimed":{"$ref":"#/components/schemas/BigDecimal"},"totalUnclaimed":{"$ref":"#/components/schemas/BigDecimal"},"denomSymbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol of the denomination asset the amounts are paid in, not the bond's own symbol."}},"required":["family","periods","totalYield","totalClaimed","totalUnclaimed","denomSymbol"],"additionalProperties":false}},"additionalProperties":false},"links":{"$ref":"#/components/schemas/SingleLinks"}},"required":["data","details","links"],"additionalProperties":false},"TokenReadDetails":{"type":"object","properties":{"cap":{"anyOf":[{"$ref":"#/components/schemas/AssetAmount"},{"type":"null"}]},"totalBurned":{"$ref":"#/components/schemas/AssetAmount"},"createdBy":{"$ref":"#/components/schemas/EvmAddress"},"complianceContract":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"identityRegistry":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"collateral":{"anyOf":[{"$ref":"#/components/schemas/TokenReadCollateral"},{"type":"null"}]},"mintClosed":{"type":"boolean"}},"required":["cap","totalBurned","createdBy","complianceContract","identityRegistry","collateral","mintClosed"],"additionalProperties":false,"description":"Supply limits and contract wiring of an EVM token: the supply cap, burned supply, deployer, compliance and identity registry contracts, backing collateral, and whether minting is closed"},"TokenReadCollateral":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/AssetAmount"},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["amount","expiresAt"],"additionalProperties":false,"description":"The live trusted collateral claim that backs the supply, and when it expires"},"TokenV2ListOutputSchema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenListReadItem"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991},"latestCreatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["value","count"],"additionalProperties":false}}}},"required":["total"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenListReadItem":{"anyOf":[{"$ref":"#/components/schemas/TokenListDeploymentItem"},{"type":"object","properties":{"ref":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["_tag","address"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"}},"required":["_tag","instrumentId","instrumentAdmin"],"additionalProperties":false}]},"token":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false}]}},"required":["ref","token"],"additionalProperties":false},{"$ref":"#/components/schemas/TokenListSummaryItem"}]},"TokenListSummaryItem":{"type":"object","properties":{"ref":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["_tag","address"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"}},"required":["_tag","instrumentId","instrumentAdmin"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["deployment"]},"runKey":{"type":"string"}},"required":["_tag","runKey"],"additionalProperties":false}]},"token":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["evm"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"network":{"type":"string","minLength":1,"description":"The network the token lives on, as its chain id. A Canton instrument names its network in `networkIdentity`."},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet that deployed the token. Null when the indexer did not record a deployer."},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"lastActivityAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"allOf":[{"description":"When the indexer last recorded an event on the token, on list rows only. Null for an external token and for a token whose projection predates activity tracking until its next event."}]},"holderCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"allOf":[{"description":"The number of accounts holding a positive balance, on list rows that ask for `include=holders`. Null for an external token, which only counts the holders an organisation watches, and for a token whose projection predates holder counting until it is rebuilt."}]},"value":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"allOf":[{"description":"The token's total supply times its current price in the system's base currency, on list rows that ask for `include=value`. An external token is valued from the price of the viewer's own registration entry. Null when no price feed prices the token."}]},"callerRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetOperationRole"},"allOf":[{"description":"The asset roles the caller's wallets hold on this token, sorted, on list rows that ask for `include=callerRoles`. Empty when the caller holds no role on it."}]},"totalSupply":{"$ref":"#/components/schemas/AssetAmount"},"basePrice":{"$ref":"#/components/schemas/BigDecimal"},"basePriceCurrencyCode":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"smartInterface":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"pausable":{"type":"object","properties":{"status":{"type":"string","enum":["pre-launch","live","halted"]}},"required":["status"],"additionalProperties":false},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenFactory":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExternal":{"type":"boolean","description":"True when the token is external to the viewing system: it was registered from outside rather than issued by it. A registered external token still carries the registry address as its `tokenFactory`, so read this field, never `tokenFactory`, to tell the two apart."},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}]},"baseAssetType":{"allOf":[{"$ref":"#/components/schemas/AssetType"},{"description":"The asset type whose rules a token issued from a template follows, such as the document types it accepts: the base asset type of its linked template, or of the system template its asset type names. Absent when no template names one."}]},"structureRole":{"type":"string","minLength":1,"allOf":[{"description":"The role this token plays as one class of a multi-class instrument, such as controlling or economic. Absent when the token is an instrument of its own rather than a class of another one."}]},"structureId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument structure the multi-class instrument this token is one class of was issued from. Absent when the token is an instrument of its own rather than a class of another one."}]},"setup":{"allOf":[{"$ref":"#/components/schemas/TokenSetupState"},{"description":"The unfinished setup of the token, on list rows only, when its deploy landed the token but a setup step failed or is being finished. Absent once the setup completed or the deployment was dismissed."}]},"capabilities":{"type":"array","items":{"$ref":"#/components/schemas/InstrumentCapability"},"description":"The token's instrument capabilities: share-capital for shares, unit-capital for fund units and real-estate fractions. They decide which corporate actions the token offers. A token linked to a template carries the capabilities snapshotted from that template when it deployed. A token with no template link gets them derived when it is read, from its asset type and its attached features: equity without an attached conversion feature has share-capital, fund and real-estate have unit-capital, and any other type has none."}},"required":["_tag","address","network","name","symbol","decimals","assetType","createdAt","createdBy","totalSupply","basePrice","basePriceCurrencyCode","smartInterface","pausable","logoUrl","tokenFactory","isExternal","templateLink","capabilities"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["canton"]},"instrumentId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"name":{"type":"string"},"symbol":{"type":"string"},"networkIdentity":{"type":"string","minLength":1},"disclosedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedLockedAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$"},"disclosedHolderCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","instrumentId","instrumentAdmin","name","symbol","networkIdentity","disclosedAmount","disclosedLockedAmount","disclosedHolderCount","createdAt","updatedAt"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["deploying"]},"name":{"type":"string"},"symbol":{"type":"string"},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}],"description":"The instrument template the deploy was started from. Null when the create used no template, or when that template no longer exists for the organization."},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"deployment":{"type":"object","properties":{"status":{"type":"string","enum":["deploying","failed"]},"step":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","in-progress","completed","failed"]}},"required":["id","label","status"],"additionalProperties":false},{"type":"null"}]},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","in-progress","completed","failed"]}},"required":["id","label","status"],"additionalProperties":false}},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the deployment failed. Null while it is still running."},"runKey":{"type":"string","description":"The key of the deploy run, which the deploy page opens to show its progress."},"startedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"finishable":{"type":"boolean","allOf":[{"description":"Present when the deploy landed: whether the viewer can finish its setup, as on a token row's setup state."}]}},"required":["status","step","steps","reason","runKey","startedBy"],"additionalProperties":false}},"required":["_tag","name","symbol","assetType","templateLink","chainId","startedAt","deployment"],"additionalProperties":false}]}},"additionalProperties":false},"TokenListDeploymentItem":{"type":"object","properties":{"ref":{"type":"object","properties":{"_tag":{"type":"string","enum":["deployment"]},"runKey":{"type":"string"}},"required":["_tag","runKey"],"additionalProperties":false},"token":{"type":"object","properties":{"_tag":{"type":"string","enum":["deploying"]},"name":{"type":"string"},"symbol":{"type":"string"},"assetType":{"$ref":"#/components/schemas/AssetTypeOrSlug"},"templateLink":{"anyOf":[{"type":"object","properties":{"templateId":{"type":"string","minLength":1},"templateSlug":{"type":"string","minLength":1},"templateName":{"type":"string","minLength":1,"description":"The display name of the instrument template the token was issued from, such as Private REIT."}},"required":["templateId","templateSlug","templateName"],"additionalProperties":false},{"type":"null"}],"description":"The instrument template the deploy was started from. Null when the create used no template, or when that template no longer exists for the organization."},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"deployment":{"type":"object","properties":{"status":{"type":"string","enum":["deploying","failed"]},"step":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","in-progress","completed","failed"]}},"required":["id","label","status"],"additionalProperties":false},{"type":"null"}]},"steps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","in-progress","completed","failed"]}},"required":["id","label","status"],"additionalProperties":false}},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the deployment failed. Null while it is still running."},"runKey":{"type":"string","description":"The key of the deploy run, which the deploy page opens to show its progress."},"startedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"finishable":{"type":"boolean","allOf":[{"description":"Present when the deploy landed: whether the viewer can finish its setup, as on a token row's setup state."}]}},"required":["status","step","steps","reason","runKey","startedBy"],"additionalProperties":false}},"required":["_tag","name","symbol","assetType","templateLink","chainId","startedAt","deployment"],"additionalProperties":false}},"required":["ref","token"],"additionalProperties":false},"tokenFieldsQuery":{"type":"object","properties":{"token":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the token resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"token":"ref"}]},"TokenLostWallet":{"type":"object","properties":{"wallet":{"$ref":"#/components/schemas/EvmAddress"},"isLost":{"type":"boolean"},"replacementWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["wallet","isLost","replacementWallet"],"additionalProperties":false},"SettlementAsyncAcceptedResult":{"type":"object","properties":{"transactionId":{"type":"string"},"status":{"type":"string"},"statusUrl":{"type":"string"}},"required":["transactionId","status","statusUrl"],"additionalProperties":false,"description":"Accepted handle for a queued settlement write. Poll `statusUrl` until the write settles."},"SettlementSingleLinks":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false},"SettlementBlockchainMutationMeta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string"}},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false,"description":"Settlement metadata on a synchronous mutation. `txHashes` are the submitted chain transactions and `transactionId` is the request behind them."},"CantonAddonOperationOutput_1":{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"contractId":{"type":"string"}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false},"CantonContractId_1":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the addon or token read that listed it. The template identifiers behind it are pinned by the platform."},"CantonAirdropPushRevokeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"}},"required":["cantonPartyId"],"additionalProperties":false},"CantonPartyId_19":{"type":"string","minLength":1,"description":"Canton party this operation is submitted as, and which must be a party wallet of the active organization.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"CantonAirdropPushDistributionInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"grantContractId":{"$ref":"#/components/schemas/CantonContractId_1"},"rulesContractId":{"$ref":"#/components/schemas/CantonContractId_1"}},"required":["cantonPartyId","grantContractId","rulesContractId"],"additionalProperties":false},"CantonAirdropGrantDistributionRevokeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"}},"required":["cantonPartyId"],"additionalProperties":false},"CantonAirdropGrantWithdrawalInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"}},"required":["cantonPartyId"],"additionalProperties":false},"CantonAirdropGrantAcceptanceInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"}},"required":["cantonPartyId"],"additionalProperties":false},"CantonAirdropGrantOfferInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"account":{"$ref":"#/components/schemas/DamlAccount"},"amount":{"$ref":"#/components/schemas/DamlAmount"}},"required":["cantonPartyId","account","amount"],"additionalProperties":false},"DamlAmount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$","description":"Exact decimal amount in the instrument's own unit, up to ten decimal places.","examples":["100.00"]},"DamlAccount":{"type":"object","properties":{"owner":{"anyOf":[{"type":"string"},{"type":"null"}]},"provider":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"type":"string"}},"required":["owner","provider","id"],"additionalProperties":false,"description":"The account an operation acts on, exactly as a Canton read returned it: `owner` and `provider` are parties, and `id` is the account's label, which is empty for a party's unnamed account."},"CantonAirdropCampaignRevokeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"}},"required":["cantonPartyId"],"additionalProperties":false},"CantonAirdropClaimInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"entitlementContractId":{"$ref":"#/components/schemas/CantonContractId_1"},"account":{"$ref":"#/components/schemas/DamlAccount"},"rulesContractId":{"$ref":"#/components/schemas/CantonContractId_1"}},"required":["cantonPartyId","entitlementContractId","account","rulesContractId"],"additionalProperties":false},"CantonAirdropEntitlementInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"account":{"$ref":"#/components/schemas/DamlAccount"},"amount":{"$ref":"#/components/schemas/DamlAmount"},"vesting":{"anyOf":[{"$ref":"#/components/schemas/DamlVestingTerms"},{"type":"null"}]}},"required":["cantonPartyId","account","amount","vesting"],"additionalProperties":false},"DamlVestingTerms":{"type":"object","properties":{"vestingStartAt":{"$ref":"#/components/schemas/DamlTimestamp_1"},"vestingDuration":{"$ref":"#/components/schemas/DamlRelativeTime"},"cliffDuration":{"$ref":"#/components/schemas/DamlRelativeTime"}},"required":["vestingStartAt","vestingDuration","cliffDuration"],"additionalProperties":false,"description":"Vesting schedule for the entitlement. Send it to hold the amount until the schedule has run; a null holds nothing back."},"DamlRelativeTime":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$"}},"required":["microseconds"],"additionalProperties":false,"description":"A ledger relative time, in microseconds."},"DamlTimestamp_1":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"A ledger timestamp in UTC, microsecond precision."},"CantonAirdropCreateInput":{"anyOf":[{"$ref":"#/components/schemas/CantonAirdropCampaignCreateInput"},{"$ref":"#/components/schemas/CantonPushAirdropCreateInput"}],"discriminator":{"propertyName":"kind","mapping":{"campaign":"#/components/schemas/CantonAirdropCampaignCreateInput","push":"#/components/schemas/CantonPushAirdropCreateInput"}}},"CantonPushAirdropCreateInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"kind":{"type":"string","enum":["push"]},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_20"},"campaignId":{"$ref":"#/components/schemas/DamlName"},"instrumentId":{"$ref":"#/components/schemas/DamlName"},"distributionCap":{"anyOf":[{"$ref":"#/components/schemas/DamlAmount"},{"type":"null"}]},"observers":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId_21"}}},"required":["cantonPartyId","kind","instrumentAdmin","campaignId","instrumentId","distributionCap"],"additionalProperties":false},"CantonPartyId_21":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"DamlName":{"type":"string","minLength":1,"description":"Non-empty Daml text, the label the capability is keyed by."},"CantonPartyId_20":{"type":"string","minLength":1,"description":"Admin party of the Canton instrument this write concerns. A body that carries it is a Canton request; a body that does not is an EVM one.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"CantonAirdropCampaignCreateInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"kind":{"type":"string","enum":["campaign"]},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_20"},"campaignId":{"$ref":"#/components/schemas/DamlName"},"instrumentId":{"$ref":"#/components/schemas/DamlName"},"claimOpenAt":{"$ref":"#/components/schemas/DamlTimestamp_1"},"claimUntil":{"$ref":"#/components/schemas/DamlTimestamp_1"},"observers":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId_21"}}},"required":["cantonPartyId","kind","instrumentAdmin","campaignId","instrumentId","claimOpenAt","claimUntil"],"additionalProperties":false},"SettlementCollectionLinks":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"SettlementCollectionMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"$ref":"#/components/schemas/SettlementFacets"}},"required":["total"],"additionalProperties":false},"SettlementFacets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/SettlementFacetEntry"}}},"SettlementFacetEntry":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false,"description":"One distinct value and how many filtered rows have it. Feed the value back as filter[<field>]."},"AirdropRecipientItem":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"amountTransferred":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"amountTransferredExact":{"$ref":"#/components/schemas/AssetAmount"},"lastTransferredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["account","amountTransferred","amountTransferredExact","lastTransferredAt"],"additionalProperties":false},"SettlementPageWindow":{"type":"object","properties":{"offset":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"limit":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]}},"additionalProperties":false,"description":"JSON:API page window. page[offset] from 0, page[limit] 1 to 200."},"AirdropReadResponse":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"typeId":{"$ref":"#/components/schemas/AirdropType"},"name":{"type":"string"},"token":{"anyOf":[{"$ref":"#/components/schemas/AirdropToken"},{"type":"null"}]},"merkleRoot":{"type":"string"},"distributionCap":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"distributionCapExact":{"anyOf":[{"$ref":"#/components/schemas/AssetAmount"},{"type":"null"}]},"amountTransferred":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"amountTransferredExact":{"$ref":"#/components/schemas/AssetAmount"},"progress":{"$ref":"#/components/schemas/MarkedMeterProgress"},"withdrawalScheduled":{"type":"boolean"},"withdrawalEligibleAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"vestingStrategy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"vestingInitializationDeadlineAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"recipientCount":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","typeId","name","token","merkleRoot","distributionCap","distributionCapExact","amountTransferred","amountTransferredExact","progress","withdrawalScheduled","withdrawalEligibleAt","vestingStrategy","vestingInitializationDeadlineAt","createdAt","recipientCount"],"additionalProperties":false},"MarkedMeterProgress":{"type":"object","properties":{"value":{"type":"number"},"max":{"type":"number"},"marker":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["value","max","marker"],"additionalProperties":false},"AirdropToken":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string","minLength":1},"decimals":{"type":"integer","minimum":0,"maximum":255}},"required":["id","symbol","decimals"],"additionalProperties":false},"AirdropType":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop"],"description":"Airdrop factory variant"},"AirdropListItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"typeId":{"$ref":"#/components/schemas/AirdropType"},"name":{"type":"string"},"token":{"anyOf":[{"$ref":"#/components/schemas/AirdropToken"},{"type":"null"}]},"merkleRoot":{"type":"string"},"distributionCap":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"distributionCapExact":{"anyOf":[{"$ref":"#/components/schemas/AssetAmount"},{"type":"null"}]},"amountTransferred":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"amountTransferredExact":{"$ref":"#/components/schemas/AssetAmount"},"progress":{"$ref":"#/components/schemas/MarkedMeterProgress"},"withdrawalScheduled":{"type":"boolean"},"withdrawalEligibleAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"vestingStrategy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"vestingInitializationDeadlineAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","typeId","name","token","merkleRoot","distributionCap","distributionCapExact","amountTransferred","amountTransferredExact","progress","withdrawalScheduled","withdrawalEligibleAt","vestingStrategy","vestingInitializationDeadlineAt","createdAt"],"additionalProperties":false},"AirdropListFilter":{"type":"object","properties":{"search":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AirdropType"},"token":{"$ref":"#/components/schemas/EvmAddress"}},"additionalProperties":false},"TokenSaleFunnelView":{"type":"object","properties":{"stages":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleFunnelStage"},"description":"The offering's conversion stages in the order investors move through them."}},"required":["stages"],"additionalProperties":false},"TokenSaleFunnelStage":{"type":"object","properties":{"key":{"type":"string","minLength":1,"description":"Stable stage id. Clients key their own wording on it."},"label":{"type":"string","minLength":1,"description":"The stage name in English, for clients without their own wording."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Investors who have reached this stage. On an offering with a presale each stage counts only investors still on the whitelist, so a later stage never exceeds the whitelisted count. An investor whose application was voided or reclaimed no longer counts as Committed. On any other offering the stages are Committed then Settled and count every investor."}},"required":["key","label","count"],"additionalProperties":false},"TokenSaleCommitmentsChart":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleCommitmentsPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleCommitmentsPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"forecast":{"$ref":"#/components/schemas/TokenSaleCommitmentsForecast"}},"required":["range","grain","points","figure","meta","forecast"],"additionalProperties":false},"TokenSaleCommitmentsForecast":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/TokenSaleCommitmentsForecastState"},"projectedTotal":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Tokens the sale is projected to hold at close, and the value of the projection's last point. The last 7 full days' pace is carried forward to close, slowed each following week by the ratio the last 7 days fell against the 7 before (never sped up), and stopped at the hard cap. Null unless state is projected."}},"required":["state","projectedTotal"],"additionalProperties":false,"description":"The projected total at close, and why there is none when the chart carries no projection."},"TokenSaleCommitmentsForecastState":{"type":"string","enum":["projected","insufficient-history","closed","hard-cap-reached"],"description":"Why the chart does or does not carry a projection. projected: the sale is open and has enough history. insufficient-history: the sale has run for fewer than 14 days or has no commitments yet, so no projection is made. closed: the sale no longer takes commitments. hard-cap-reached: commitments already reached the hard cap."},"TokenSaleCommitmentsPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"committed":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Tokens committed inside this bucket: applications and purchases, less cancelled purchases and applications that were voided or reclaimed."},"cumulative":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Tokens committed from the sale's first commitment to the end of this bucket."}},"required":["t","committed","cumulative"],"additionalProperties":false,"description":"The tokens committed to the offering inside one bucket, and the running total."},"TokenSaleAllocationRun":{"type":"object","properties":{"runId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"basis":{"$ref":"#/components/schemas/TokenSaleApplicationBasis"},"offeringExact":{"$ref":"#/components/schemas/AssetAmount"},"greenshoeExact":{"$ref":"#/components/schemas/AssetAmount"},"softCapExact":{"$ref":"#/components/schemas/AssetAmount"},"tokenSymbol":{"type":"string","description":"Symbol of the token on offer."},"tokenDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"applicants":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allocatedExact":{"$ref":"#/components/schemas/AssetAmount"},"kept":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleAllocationRunKept"},"description":"What the recipient receives and what the applicants get back per payment currency, computed from the book as it stands now. Readable by anyone who may read the run."},"bookHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"state":{"$ref":"#/components/schemas/TokenSaleAllocationRunState"},"approvalRequestId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The approval that decides the run. Null until the run has asked for one."},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["runId","recipient","basis","offeringExact","greenshoeExact","softCapExact","tokenSymbol","tokenDecimals","applicants","allocatedExact","kept","bookHash","state","approvalRequestId","requestedAt"],"additionalProperties":false,"description":"An allocation run as it was requested. An approver reads the recipient, the amount kept, the book hash, the offering and the soft cap here before deciding."},"TokenSaleAllocationRunState":{"type":"string","enum":["awaiting-approval","approved","running","settled","rejected","expired","cancelled"],"description":"`awaiting-approval`: a second approver has not decided yet. `approved`: approved, the batches have not started. `running`: allocating or settling. `settled`: every applicant is settled. `rejected`, `expired` and `cancelled`: the approval ended without the run."},"TokenSaleAllocationRunKept":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"keptExact":{"$ref":"#/components/schemas/AssetAmount"},"refundExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","keptExact","refundExact"],"additionalProperties":false},"TokenSaleApplicationBasis":{"anyOf":[{"type":"string","enum":["pro-rata"]}],"description":"How an oversubscribed offering is divided. `pro-rata` gives each applicant the offering times their share of the total demand, rounded down to whole tokens. Tokens lost to rounding stay unissued with the issuer."},"TokenSaleAllocationRunOutput":{"type":"object","properties":{"transactionHashes":{"type":"array","items":{"$ref":"#/components/schemas/EthereumHashEncoded"}}},"required":["transactionHashes"],"additionalProperties":false},"TokenSaleAllocationRunInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"expectedBookHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["recipient","expectedBookHash"],"additionalProperties":false,"description":"Requests the allocation of the closed book to `recipient`. When the organization turns offerings approval on, a second approver approves it first. The run then allocates, finalizes the sale and settles every applicant: shares to investors, refunds of the excess payment, and the payment for the allocated shares to `recipient`."},"TokenSaleActivateOutput":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["transactionHash"],"additionalProperties":false},"TokenSaleApplicationTransitionInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"to":{"type":"string","enum":["reclaimed"]},"currency":{"$ref":"#/components/schemas/EvmAddress"}},"required":["to"],"additionalProperties":false,"description":"Returns the applicant's escrow, in one currency or, without `currency`, in every currency that still holds it. A currency without escrow is skipped. It works only when the issuer did not start the allocation within 30 days after the sale ended."},"TokenSaleApplicationList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleApplication"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]},"book":{"$ref":"#/components/schemas/TokenSaleApplicationBook"}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"TokenSaleApplicationBook":{"type":"object","properties":{"phase":{"$ref":"#/components/schemas/TokenSaleApplicationPhase"},"basis":{"$ref":"#/components/schemas/TokenSaleApplicationBasis"},"applicants":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"offeringExact":{"$ref":"#/components/schemas/AssetAmount"},"greenshoeExact":{"$ref":"#/components/schemas/AssetAmount"},"totalDemandExact":{"$ref":"#/components/schemas/AssetAmount"},"allocatedExact":{"$ref":"#/components/schemas/AssetAmount"},"unissuedExact":{"$ref":"#/components/schemas/AssetAmount"},"bookHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"payments":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleApplicationCurrencyTotal"}},"runDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["phase","basis","applicants","offeringExact","greenshoeExact","totalDemandExact","allocatedExact","unissuedExact","bookHash","payments"],"additionalProperties":false,"description":"Totals for the whole book, computed from the chain at the page's block."},"TokenSaleApplicationCurrencyTotal":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"paidExact":{"$ref":"#/components/schemas/AssetAmount"},"refundExact":{"$ref":"#/components/schemas/AssetAmount"},"keptExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","paidExact","refundExact","keptExact"],"additionalProperties":false},"TokenSaleApplicationPhase":{"type":"string","enum":["open","closed","allocating","allocated","refund-only","lapsed","settling","settled"]},"TokenSaleApplication":{"type":"object","properties":{"applicant":{"$ref":"#/components/schemas/EvmAddress"},"demandExact":{"$ref":"#/components/schemas/AssetAmount"},"allocatedExact":{"$ref":"#/components/schemas/AssetAmount"},"status":{"$ref":"#/components/schemas/TokenSaleApplicationStatus"},"payments":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleApplicationPayment"}},"lockup":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleApplicationLockup"},{"type":"null"}],"description":"The lock-up written when the allocation was delivered. Null while the sale has not delivered the allocation or locked nothing."}},"required":["applicant","demandExact","allocatedExact","status","payments","lockup"],"additionalProperties":false,"description":"One applicant's demand, allocation and refund."},"TokenSaleApplicationLockup":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/AssetAmount"},"unlockAt":{"$ref":"#/components/schemas/TimestampEncoded"},"claimTopic":{"anyOf":[{"$ref":"#/components/schemas/ClaimTopic"},{"type":"null"}],"description":"The category the schedule came from. Null for the default schedule."},"tranches":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleApplicationLockupTranche"},"description":"The unlock steps, in the order they unlock. One step is a single lock-up duration."}},"required":["amount","unlockAt","claimTopic","tranches"],"additionalProperties":false,"description":"The lock written to the token's lock-up rule when the allocation was delivered."},"TokenSaleApplicationLockupTranche":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/AssetAmount"},"unlockAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["amount","unlockAt"],"additionalProperties":false},"ClaimTopic":{"type":"string","enum":["knowYourCustomer","antiMoneyLaundering","knowYourTransaction","knowYourBusiness","qualifiedInstitutionalInvestor","professionalInvestor","accreditedInvestor","accreditedInvestorVerified","regulationS","issuerProspectusFiled","issuerProspectusExempt","issuerLicensed","issuerReportingCompliant","issuerJurisdiction","collateral","uniqueIdentifier","assetClassification","basePrice","assetIssuer","assetLocation","assetCoordinates","assetPhysicalDetails","documentHash","sanctionsScreening","issuerEventDetermination","instrumentStructure","residence","contractIdentity","custom"],"description":"Type of identity claim"},"TokenSaleApplicationPayment":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"paidExact":{"$ref":"#/components/schemas/AssetAmount"},"refundExact":{"$ref":"#/components/schemas/AssetAmount"},"keptExact":{"$ref":"#/components/schemas/AssetAmount"},"deferredExact":{"$ref":"#/components/schemas/AssetAmount"},"escrowHeld":{"type":"boolean","description":"True while the sale still holds this payment in escrow, so a reclaim would return it. False once the escrow has been returned or paid out."}},"required":["currency","paidExact","refundExact","keptExact","deferredExact","escrowHeld"],"additionalProperties":false},"TokenSaleApplicationStatus":{"type":"string","enum":["applied","allocated","refund-only","lapsed","settled","voided","reclaimed"],"description":"`applied`: escrowed and waiting for the allocation, the allocation shown is the projection. `allocated`: the allocation is fixed and waits for settlement. `refund-only`: the sale makes no allocation, because it failed or its allocated book is below the soft cap, so the settlement refunds the whole payment. `lapsed`: the issuer did not start the allocation within 30 days after the sale ended, so no allocation is made and the applicant takes the whole escrow back with a reclaim. `settled`: shares delivered and refund paid. `voided`: the shares could not be delivered, so the whole payment was refunded. `reclaimed`: the applicant took the escrow back because the allocation never started."},"KeysetPageQuery":{"type":"object","properties":{"limit":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"Keyset page window. Send `page[limit]` and continue with the opaque `page[cursor]` from `meta.nextCursor`."},"TokenSaleApplicationFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"recipient":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"type":"string","enum":["own"],"description":"`own` narrows the list to the wallets the caller owns, also for a caller who manages the sale. Without it a manager reads every applicant."}},"additionalProperties":false},"TokenSaleApplicationInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"currency":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"},"minTokenAmount":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","amount","minTokenAmount"],"additionalProperties":false,"description":"Escrows `amount` of the payment currency as an application. The payment may exceed what the offering can deliver; the excess is refunded when the allocation settles. `minTokenAmount` protects against a price change."},"TokenSaleLockupsOutput":{"type":"object","properties":{"tiers":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTier"}},"defaultTranches":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTranche"}},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["tiers","defaultTranches"],"additionalProperties":false},"TokenSaleLockupTranche":{"type":"object","properties":{"offsetSeconds":{"type":"integer","minimum":0,"maximum":157766400,"description":"Seconds from the first delivery of the settlement until this step unlocks, at most 157766400 (1826 days). Zero unlocks at the start, so that share is not locked."},"bps":{"type":"integer","minimum":1,"maximum":10000,"description":"The share of the allocation this step unlocks, in basis points. The steps of one schedule add up to 10000."}},"required":["offsetSeconds","bps"],"additionalProperties":false},"TokenSaleLockupTier":{"type":"object","properties":{"claimTopic":{"$ref":"#/components/schemas/ClaimTopic"},"tranches":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTranche"}}},"required":["claimTopic","tranches"],"additionalProperties":false},"TokenSaleLockupsInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"tiers":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTierInput"},"maxItems":8},"defaultTranches":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTrancheInput"},"maxItems":4}},"required":["tiers","defaultTranches"],"additionalProperties":false,"description":"Sets the vesting schedule per investor category for a sale in setup that is in application mode, replacing earlier ones. At settlement each delivered allocation is locked in the token's lock-up rule, one tranche per step that is still locked. A schedule of one step that releases the whole allocation is the single-duration lock-up. Repeating the schedule the sale already has changes nothing."},"TokenSaleLockupTrancheInput":{"type":"object","properties":{"offsetSeconds":{"type":"integer","minimum":0,"maximum":157766400,"description":"Seconds from the first delivery of the settlement until this step unlocks, at most 157766400 (1826 days). Zero unlocks at the start, so that share is not locked."},"bps":{"type":"integer","minimum":1,"maximum":10000,"description":"The share of the allocation this step unlocks, in basis points. The steps of one schedule add up to 10000."}},"required":["offsetSeconds","bps"],"additionalProperties":false},"TokenSaleLockupTierInput":{"type":"object","properties":{"claimTopic":{"type":"string","enum":["knowYourCustomer","antiMoneyLaundering","knowYourTransaction","knowYourBusiness","qualifiedInstitutionalInvestor","professionalInvestor","accreditedInvestor","accreditedInvestorVerified","regulationS"],"description":"The claim topic that puts an investor in this category."},"tranches":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTrancheInput"},"maxItems":4}},"required":["claimTopic","tranches"],"additionalProperties":false},"TokenSaleGreenshoeExerciseOutput":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/AssetAmount"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["amount","transactionHash"],"additionalProperties":false},"TokenSaleGreenshoeExerciseInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"amount":{"$ref":"#/components/schemas/AssetAmount"}},"required":["amount"],"additionalProperties":false,"description":"Exercises a discretionary greenshoe once, after the application window closes and before the allocation starts. `amount` is a whole number of tokens in base units, at most the greenshoe capacity and the demand above the hard cap. The amount joins the application book hash, so an allocation run requested earlier must be requested again."},"TokenSaleGreenshoeOutput":{"type":"object","properties":{"maxBps":{"type":"integer","minimum":0,"maximum":65535,"description":"The greenshoe as basis points of the hard cap. The sale stores this maximum and adds at most the hard cap times it, in whole tokens. From 0 to 65535, the most a sale can store. Zero means the sale has none."},"exercise":{"$ref":"#/components/schemas/TokenSaleGreenshoeExercise"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["maxBps","exercise"],"additionalProperties":false},"TokenSaleGreenshoeExercise":{"type":"string","enum":["automatic","discretionary"],"description":"Who decides how much of the greenshoe is used. `automatic`: when the allocation starts, the greenshoe covers the demand above the hard cap, up to its capacity. `discretionary`: the sale admin exercises an amount after the application window closes and before the allocation starts; without an exercise the offering stays at the hard cap."},"TokenSaleGreenshoeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"maxBps":{"type":"integer","minimum":0,"maximum":65535,"description":"The greenshoe as basis points of the hard cap. The sale stores this maximum and adds at most the hard cap times it, in whole tokens. From 0 to 65535, the most a sale can store. Zero means the sale has none."},"exercise":{"$ref":"#/components/schemas/TokenSaleGreenshoeExercise"}},"required":["maxBps","exercise"],"additionalProperties":false,"description":"Sets the greenshoe of a sale in setup that is in application mode, or clears it with `maxBps` 0. Repeating the terms the sale already has changes nothing."},"TokenSaleApplicationModeOutput":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the sale takes applications with escrowed payment instead of direct purchases."},"basis":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleApplicationBasis"},{"type":"null"}]},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["enabled","basis"],"additionalProperties":false},"TokenSaleApplicationModeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"basis":{"$ref":"#/components/schemas/TokenSaleApplicationBasis"}},"required":["basis"],"additionalProperties":false,"description":"Switches a sale in setup to application mode with the given basis. Repeating the same basis changes nothing; a different basis once the mode is on is refused."},"TokenSaleApplicationMode":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the sale takes applications with escrowed payment instead of direct purchases."},"basis":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleApplicationBasis"},{"type":"null"}]},"modeSwitch":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleApplicationModeSwitch"},{"type":"null"}],"description":"Whether application mode can be switched on, and why not. Null for a sale already in application mode."},"greenshoe":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleGreenshoe"},{"type":"null"}],"description":"The greenshoe terms. Null for a sale that is not in application mode or predates greenshoes."},"lockups":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleLockups"},{"type":"null"}],"description":"The lock-ups per investor category. Null for a sale that is not in application mode or predates lock-ups."}},"required":["enabled","basis","modeSwitch","greenshoe","lockups"],"additionalProperties":false},"TokenSaleLockups":{"type":"object","properties":{"tiers":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTier"}},"defaultTranches":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleLockupTranche"}},"startedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the schedules started, at the first delivery of the settlement. Null before it."}},"required":["tiers","defaultTranches","startedAt"],"additionalProperties":false,"description":"The vesting schedules an application-mode offering writes to the token's lock-up rule at settlement. One step of the whole allocation is a single lock-up duration."},"TokenSaleGreenshoe":{"type":"object","properties":{"maxBps":{"type":"integer","minimum":0,"maximum":65535,"description":"The greenshoe as basis points of the hard cap. The sale stores this maximum and adds at most the hard cap times it, in whole tokens. From 0 to 65535, the most a sale can store. Zero means the sale has none."},"exercise":{"$ref":"#/components/schemas/TokenSaleGreenshoeExercise"},"capacity":{"$ref":"#/components/schemas/AssetAmount"},"exercised":{"$ref":"#/components/schemas/AssetAmount"},"decided":{"type":"boolean","description":"True once the greenshoe amount is final: after the sale admin exercised it, or after an automatic greenshoe was decided when the allocation started."}},"required":["maxBps","exercise","capacity","exercised","decided"],"additionalProperties":false,"description":"The over-allotment of an application-mode offering. The allocation divides the hard cap plus the exercised greenshoe."},"TokenSaleApplicationModeSwitch":{"type":"object","properties":{"settable":{"type":"boolean","description":"Whether the sale's state lets application mode be switched on. The caller still needs the role the switch requires."},"reason":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleApplicationModeSwitchRefusal"},{"type":"null"}],"description":"Why the switch is refused. Null when `settable` is true."}},"required":["settable","reason"],"additionalProperties":false},"TokenSaleApplicationModeSwitchRefusal":{"type":"string","enum":["not-in-setup","funded-issue-at-settlement"],"description":"Why application mode cannot be switched on. `not-in-setup` for a sale that has left setup. `funded-issue-at-settlement` for a sale that issues its shares at settlement and already holds offering tokens, so switching on application mode would issue each share twice."},"SettlementDeleted":{"type":"object","properties":{"data":{"type":"null"}},"required":["data"],"additionalProperties":false},"SaleDocumentPresignedDownload":{"type":"object","properties":{"downloadUrl":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1},"mimeType":{"type":"string","minLength":1},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["downloadUrl","fileName","mimeType","expiresAt"],"additionalProperties":false},"SaleDocumentListItem":{"type":"object","properties":{"id":{"type":"string","minLength":1},"saleAddress":{"$ref":"#/components/schemas/EvmAddress"},"documentType":{"$ref":"#/components/schemas/SaleDocumentType"},"visibility":{"$ref":"#/components/schemas/SaleDocumentVisibility"},"groupId":{"type":"string","minLength":1},"versionNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isLatest":{"type":"boolean"},"fileName":{"type":"string","minLength":1},"fileSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mimeType":{"type":"string","minLength":1},"fileHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"SHA-256 of the stored file, as 0x-prefixed hex. A `terms` document's hash feeds the sale's terms hash."},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"thumbnailUrl":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["id","saleAddress","documentType","visibility","groupId","versionNumber","isLatest","fileName","fileSize","mimeType","fileHash","title","description","uploadedAt","thumbnailUrl"],"additionalProperties":false},"SaleDocumentVisibility":{"type":"string","enum":["public","holders","restricted"],"description":"Who may read one sale document"},"SaleDocumentType":{"type":"string","enum":["cover_photo","sale_logo","brochure","faq","terms","other"],"description":"Type of token-sale document. A `terms` document is part of the offering terms an investor accepts: the latest version of every `terms` document is hashed into the sale's terms hash."},"SaleDocument":{"type":"object","properties":{"id":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"saleAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"documentType":{"$ref":"#/components/schemas/SaleDocumentType"},"visibility":{"$ref":"#/components/schemas/SaleDocumentVisibility"},"groupId":{"type":"string","minLength":1},"versionNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isLatest":{"type":"boolean"},"fileName":{"type":"string","minLength":1},"filePath":{"type":"string","minLength":1,"examples":["token-sales/0x5FC8d32690cc91D4c39d9d3abcBD16989F875707/brochure.pdf"]},"fileSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mimeType":{"type":"string","minLength":1},"fileHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","chainId","saleAddress","tokenAddress","documentType","visibility","groupId","versionNumber","isLatest","fileName","filePath","fileSize","mimeType","fileHash","title","description","uploadedAt"],"additionalProperties":false},"TokenSaleDocumentConfirmUploadBody":{"type":"object","properties":{"objectKey":{"type":"string","minLength":1},"documentType":{"$ref":"#/components/schemas/SaleDocumentType"},"fileName":{"type":"string","minLength":1},"mimeType":{"$ref":"#/components/schemas/TokenSaleDocumentMimeType"},"fileSize":{"type":"integer","minimum":1,"maximum":52428800},"visibility":{"$ref":"#/components/schemas/SaleDocumentVisibility"},"title":{"type":"string"},"description":{"type":"string"},"replaceGroupId":{"type":"string","minLength":1}},"required":["objectKey","documentType","fileName","mimeType","fileSize","visibility"],"additionalProperties":false},"TokenSaleDocumentMimeType":{"type":"string","enum":["application/pdf","text/plain","text/csv","image/png","image/jpeg"]},"SaleDocumentPresignedUpload":{"type":"object","properties":{"uploadUrl":{"type":"string","minLength":1},"objectKey":{"type":"string","minLength":1},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["uploadUrl","objectKey","expiresAt","method","headers"],"additionalProperties":false},"TokenSaleDocumentGetUploadUrlBody":{"type":"object","properties":{"documentType":{"$ref":"#/components/schemas/SaleDocumentType"},"fileName":{"type":"string","minLength":1},"mimeType":{"$ref":"#/components/schemas/TokenSaleDocumentMimeType"},"fileSize":{"type":"integer","minimum":1,"maximum":52428800},"visibility":{"$ref":"#/components/schemas/SaleDocumentVisibility"},"title":{"type":"string"},"description":{"type":"string"}},"required":["documentType","fileName","mimeType","fileSize","visibility"],"additionalProperties":false},"TokenSaleRoleSetOutput":{"type":"object","properties":{"accounts":{"$ref":"#/components/schemas/TokenSaleRoleSetAccounts"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleAccessControlRole"}},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleAccessControlRole"}}},"required":["accounts","grant","revoke"],"additionalProperties":false},"TokenSaleAccessControlRole":{"type":"string","enum":["saleAdmin","fundsManager"]},"TokenSaleRoleSetAccounts":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"TokenSaleRoleSetBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"participantId":{"type":"string","minLength":1},"address":{"$ref":"#/components/schemas/EvmAddress"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleAccessControlRole"}},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleAccessControlRole"}},"reason":{"$ref":"#/components/schemas/RoleGrantReason"}},"required":["grant","revoke"],"additionalProperties":false},"TokenSaleRemoveFromPresaleWhitelistInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"investors":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["investors"],"additionalProperties":false},"TokenSaleAddToPresaleWhitelistInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"investors":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["investors"],"additionalProperties":false},"TokenSaleSettlementRun":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleSettlementResultItem"}}},"required":["items"],"additionalProperties":false,"description":"One result per claim or refund, in the order the sales were named. A failed or skipped item carries a reason and a message; the other items were still written."},"TokenSaleSettlementResultItem":{"type":"object","properties":{"saleAddress":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"$ref":"#/components/schemas/TokenSaleSettlementKind"},"currency":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"amountExact":{"$ref":"#/components/schemas/AssetAmount"},"status":{"$ref":"#/components/schemas/TokenSaleSettlementStatus"},"transactionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"reason":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleSettlementReason"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["saleAddress","kind","currency","amountExact","status","transactionId","transactionHash","reason","message"],"additionalProperties":false,"description":"The outcome of one claim or refund. currency is the refunded payment currency and null for a claim. amountExact is what the sale owed the wallet when the write was sent, in the sale token's smallest unit for a claim and the currency's smallest unit for a refund."},"TokenSaleSettlementReason":{"type":"string","enum":["nothing-to-settle","refused","unavailable"],"description":"nothing-to-settle: the sale owes the wallet nothing to claim or refund now. refused: the sale or the transaction queue refused the write. unavailable: the sale or the chain could not be read, so nothing was written; try again."},"TokenSaleSettlementStatus":{"type":"string","enum":["settled","queued","failed","skipped"],"description":"settled carries the mined transaction, queued a transaction the queue accepted but has not mined, failed and skipped a reason and a message."},"TokenSaleSettlementKind":{"type":"string","enum":["claim","refund"],"description":"claim withdraws the tokens a successful sale owes the wallet now; refund returns one payment currency a failed sale owes it."},"TokenSaleSettlementInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"saleAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":20}},"required":["saleAddresses"],"additionalProperties":false,"description":"The ended sales to settle for the acting wallet, one to 20. A sale named twice is settled once."},"TokenSaleClaimRefundInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"currency":{"$ref":"#/components/schemas/EvmAddress"}},"required":["currency"],"additionalProperties":false},"TokenSaleSetTermsInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"expectedTermsHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"additionalProperties":false},"TokenSaleMutationInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"additionalProperties":false},"TokenSaleInvestorAllocation":{"type":"object","properties":{"investor":{"$ref":"#/components/schemas/EvmAddress"},"cap":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Most tokens this investor may buy in the sale across all its wallets, scaled by the token's decimals. `null` when the investor has no per-investor cap, so only the sale-wide limits apply."},"capExact":{"anyOf":[{"$ref":"#/components/schemas/AssetAmount"},{"type":"null"}],"description":"`cap` as a raw quantity in the sale token's smallest unit. `null` when the investor has no per-investor cap, so only the sale-wide limits apply."},"purchased":{"$ref":"#/components/schemas/BigDecimal"},"purchasedExact":{"$ref":"#/components/schemas/AssetAmount"},"remaining":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Tokens this investor may still buy across all its wallets, scaled by the token's decimals: max(0, cap - purchased) when a per-investor cap is set, `null` otherwise. This is headroom under the per-investor cap only: the sale-wide per-buyer limits on the sale detail (`maxPurchase`, and `presaleMaxPerAddress` during the presale) can bind first and revert the purchase with the same `MaximumAllocationExceeded` error."},"remainingExact":{"anyOf":[{"$ref":"#/components/schemas/AssetAmount"},{"type":"null"}],"description":"`remaining` as a raw quantity in the sale token's smallest unit: max(0, cap - purchased) when a per-investor cap is set, `null` otherwise. This is headroom under the per-investor cap only: the sale-wide per-buyer limits on the sale detail (`maxPurchase`, and `presaleMaxPerAddress` during the presale) can bind first and revert the purchase with the same `MaximumAllocationExceeded` error."},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the investor's current per-investor cap was set, `null` when the investor has no cap."}},"required":["investor","cap","capExact","purchased","purchasedExact","remaining","remainingExact","updatedAt"],"additionalProperties":false,"description":"One investor identity's per-investor cap on a token sale, what its wallets have bought together, and the headroom left under the cap."},"TokenSaleInvestorAllocationsFilter":{"type":"object","properties":{"investor":{"$ref":"#/components/schemas/EvmAddress"}},"additionalProperties":false},"TokenSaleSetInvestorAllocationsInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"allocations":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/TokenSaleInvestorAllocationEntry"}],"minItems":1,"items":{"$ref":"#/components/schemas/TokenSaleInvestorAllocationEntry"}}},"required":["allocations"],"additionalProperties":false},"TokenSaleInvestorAllocationEntry":{"type":"object","properties":{"investor":{"$ref":"#/components/schemas/EvmAddress"},"maxTokens":{"$ref":"#/components/schemas/AssetAmount"}},"required":["investor","maxTokens"],"additionalProperties":false},"TokenSaleExtendInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"additionalDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["additionalDuration"],"additionalProperties":false},"TokenSalePurchaseIncrementInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"increment":{"$ref":"#/components/schemas/AssetAmount"}},"required":["increment"],"additionalProperties":false},"TokenSaleClaimRefundForRecoveredWalletInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"buyer":{"$ref":"#/components/schemas/EvmAddress"},"currency":{"$ref":"#/components/schemas/EvmAddress"}},"required":["buyer","currency"],"additionalProperties":false},"TokenSalePayUndeliverableRefundInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"buyer":{"$ref":"#/components/schemas/EvmAddress"},"currency":{"$ref":"#/components/schemas/EvmAddress"}},"required":["buyer","currency"],"additionalProperties":false},"TokenSaleRefundUndeliverablePurchaseInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"buyer":{"$ref":"#/components/schemas/EvmAddress"}},"required":["buyer"],"additionalProperties":false},"TokenSaleWithdrawUnsoldTokensInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"recipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["recipient"],"additionalProperties":false},"TokenSaleWithdrawTokensForInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"buyer":{"$ref":"#/components/schemas/EvmAddress"}},"required":["buyer"],"additionalProperties":false},"TokenSaleWithdrawFundsInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"currency":{"$ref":"#/components/schemas/EvmAddress"},"recipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["currency","recipient"],"additionalProperties":false},"TokenSaleBuyPreflightOutput":{"type":"object","properties":{"action":{"type":"string","enum":["buy"]}},"required":["action"],"additionalProperties":false,"description":"The purchase would be accepted now. Nothing was signed, queued or held. The refusals it can return are the ones `buy` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"TokenSaleBuyPreflightInput":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"},"minTokenAmount":{"$ref":"#/components/schemas/AssetAmount"},"instrumentAdmin":{"not":{}},"saleContractId":{"not":{}}},"required":["currency","amount","minTokenAmount"],"additionalProperties":false},"TokenSaleBuySettledData":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleActivateOutput"},{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"}]},"TokenSaleBuyInput":{"anyOf":[{"$ref":"#/components/schemas/CantonTokenSalePurchaseInput"},{"$ref":"#/components/schemas/TokenSaleEvmBuyInput"}]},"TokenSaleEvmBuyInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"currency":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"},"minTokenAmount":{"$ref":"#/components/schemas/AssetAmount"},"instrumentAdmin":{"not":{}},"saleContractId":{"not":{}}},"required":["currency","amount","minTokenAmount"],"additionalProperties":false},"CantonTokenSalePurchaseInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_20"},"saleContractId":{"$ref":"#/components/schemas/CantonContractId_1"},"account":{"$ref":"#/components/schemas/DamlAccount"},"tokenAmount":{"$ref":"#/components/schemas/DamlAmount"},"settlementId":{"$ref":"#/components/schemas/CantonContractId_1"},"investorAllocationContractId":{"$ref":"#/components/schemas/CantonContractId_1"},"treasuryAllocationContractId":{"$ref":"#/components/schemas/CantonContractId_1"},"investorStateContractId":{"$ref":"#/components/schemas/CantonContractId_1"},"rulesContractId":{"$ref":"#/components/schemas/CantonContractId_1"}},"required":["cantonPartyId","instrumentAdmin","saleContractId","account","tokenAmount","settlementId","investorAllocationContractId","treasuryAllocationContractId","investorStateContractId","rulesContractId"],"additionalProperties":false},"TokenSaleTransitionSettledData":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleActivateOutput"},{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"}]},"TokenSaleTransitionInput":{"anyOf":[{"$ref":"#/components/schemas/CantonTokenSaleTransitionInput"},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"to":{"$ref":"#/components/schemas/TokenSaleTransitionTarget"},"instrumentAdmin":{"not":{}}},"required":["to"],"additionalProperties":false}]},"TokenSaleTransitionTarget":{"type":"string","enum":["active","public-sale","paused","ended","finalized"]},"CantonTokenSaleTransitionInput":{"type":"object","properties":{"to":{"type":"string","enum":["ended"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_20"}},"required":["to","cantonPartyId","instrumentAdmin"],"additionalProperties":false,"description":"Canton arm of the sale transition. The path segment is the sale contract id, and the ledger knows one transition: closing the sale early."},"TokenSaleCreatePreflightOutput":{"type":"object","properties":{"action":{"type":"string","enum":["create"]}},"required":["action"],"additionalProperties":false,"description":"The offering create would be accepted now. Nothing was signed, queued or held for approval. The refusals it can return are the ones `create` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"TokenSaleCreatePreflightInput":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"saleStart":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"saleDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hardCap":{"$ref":"#/components/schemas/AssetAmount"},"paymentCurrencies":{"type":"array","items":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"priceRatio":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","priceRatio"],"additionalProperties":false}},"purchaseLimits":{"type":"object","properties":{"minPurchase":{"$ref":"#/components/schemas/AssetAmount"},"maxPurchase":{"$ref":"#/components/schemas/AssetAmount"}},"required":["minPurchase","maxPurchase"],"additionalProperties":false},"softCap":{"$ref":"#/components/schemas/AssetAmount"},"vesting":{"type":"object","properties":{"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"duration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cliff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["duration","cliff"],"additionalProperties":false},"presale":{"type":"object","properties":{"endTime":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"discountMultiplier":{"$ref":"#/components/schemas/AssetAmount"},"maxPerAddress":{"$ref":"#/components/schemas/AssetAmount"},"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["discountMultiplier","maxPerAddress"],"additionalProperties":false},"instrumentAdmin":{"not":{}}},"required":["tokenAddress","saleDuration","hardCap"],"additionalProperties":false},"TokenSaleCreateSettledData":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleCreateOutput"},{"$ref":"#/components/schemas/CantonAddonOperationOutput_1"}]},"TokenSaleCreateOutput":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"tokenSaleId":{"$ref":"#/components/schemas/EvmAddress"}},"required":["transactionHash","tokenSaleId"],"additionalProperties":false},"TokenSaleCreateInput":{"anyOf":[{"$ref":"#/components/schemas/CantonTokenSaleCreateInput"},{"$ref":"#/components/schemas/TokenSaleEvmCreateInput"}]},"TokenSaleEvmCreateInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"saleStart":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"saleDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hardCap":{"$ref":"#/components/schemas/AssetAmount"},"paymentCurrencies":{"type":"array","items":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"priceRatio":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","priceRatio"],"additionalProperties":false}},"purchaseLimits":{"type":"object","properties":{"minPurchase":{"$ref":"#/components/schemas/AssetAmount"},"maxPurchase":{"$ref":"#/components/schemas/AssetAmount"}},"required":["minPurchase","maxPurchase"],"additionalProperties":false},"softCap":{"$ref":"#/components/schemas/AssetAmount"},"vesting":{"type":"object","properties":{"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"duration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cliff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["duration","cliff"],"additionalProperties":false},"presale":{"type":"object","properties":{"endTime":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"discountMultiplier":{"$ref":"#/components/schemas/AssetAmount"},"maxPerAddress":{"$ref":"#/components/schemas/AssetAmount"},"whitelist":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["discountMultiplier","maxPerAddress"],"additionalProperties":false},"instrumentAdmin":{"not":{}}},"required":["walletVerification","tokenAddress","saleDuration","hardCap"],"additionalProperties":false},"CantonTokenSaleCreateInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_19"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_20"},"saleId":{"$ref":"#/components/schemas/DamlName"},"instrumentId":{"$ref":"#/components/schemas/DamlName"},"paymentInstrumentId":{"$ref":"#/components/schemas/DamlName"},"pricePerToken":{"$ref":"#/components/schemas/DamlAmount"},"minPurchase":{"$ref":"#/components/schemas/DamlAmount"},"subscriptionMultiple":{"$ref":"#/components/schemas/DamlAmount"},"maxPerInvestor":{"$ref":"#/components/schemas/DamlAmount"},"totalCap":{"$ref":"#/components/schemas/DamlAmount"},"startAt":{"$ref":"#/components/schemas/DamlTimestamp_1"},"endAt":{"$ref":"#/components/schemas/DamlTimestamp_1"},"treasuryAccount":{"$ref":"#/components/schemas/DamlAccount"},"observers":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId_21"}}},"required":["walletVerification","cantonPartyId","instrumentAdmin","saleId","instrumentId","paymentInstrumentId","pricePerToken","minPurchase","subscriptionMultiple","maxPerInvestor","totalCap","startAt","endAt","treasuryAccount"],"additionalProperties":false},"TokenSaleFundOutput":{"type":"object","properties":{"mintedExact":{"$ref":"#/components/schemas/AssetAmount"},"remainingExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["mintedExact","remainingExact"],"additionalProperties":false},"TokenSaleFundInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"amount":{"$ref":"#/components/schemas/AssetAmount"}},"additionalProperties":false},"TokenSaleWithdrawableFundsOutput":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"amountExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","amountExact"],"additionalProperties":false},"TokenSaleFundingOutput":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"hardCapExact":{"$ref":"#/components/schemas/AssetAmount"},"totalSoldExact":{"$ref":"#/components/schemas/AssetAmount"},"balanceExact":{"$ref":"#/components/schemas/AssetAmount"},"queuedExact":{"$ref":"#/components/schemas/AssetAmount"},"remainingExact":{"$ref":"#/components/schemas/AssetAmount"},"asOfBlockNumber":{"$ref":"#/components/schemas/BlockHeightEncoded"}},"required":["tokenAddress","hardCapExact","totalSoldExact","balanceExact","queuedExact","remainingExact","asOfBlockNumber"],"additionalProperties":false},"TokenSaleCapTableResponse":{"type":"object","properties":{"saleAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"investorCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalTokenAllocated":{"$ref":"#/components/schemas/BigDecimal"},"totalTokenAllocatedExact":{"$ref":"#/components/schemas/AssetAmount"},"rows":{"type":"array","items":{"$ref":"#/components/schemas/CapTableRow"}}},"required":["saleAddress","tokenAddress","investorCount","totalTokenAllocated","totalTokenAllocatedExact","rows"],"additionalProperties":false},"CapTableRow":{"type":"object","properties":{"buyer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"identityAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"kycStatus":{"$ref":"#/components/schemas/CapTableKycStatus"},"country":{"anyOf":[{"$ref":"#/components/schemas/ISOCountryCode"},{"type":"null"}]},"paymentCurrency":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","symbol"],"additionalProperties":false},{"type":"null"}]},"purchaseCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalPaymentAmount":{"$ref":"#/components/schemas/BigDecimal"},"totalPaymentAmountExact":{"$ref":"#/components/schemas/AssetAmount"},"totalTokenAmount":{"$ref":"#/components/schemas/BigDecimal"},"totalTokenAmountExact":{"$ref":"#/components/schemas/AssetAmount"},"cancelledTokenAmount":{"$ref":"#/components/schemas/BigDecimal"},"cancelledTokenAmountExact":{"$ref":"#/components/schemas/AssetAmount"},"undeliveredTokenAmount":{"$ref":"#/components/schemas/BigDecimal"},"undeliveredTokenAmountExact":{"$ref":"#/components/schemas/AssetAmount"},"undeliverable":{"type":"boolean","description":"Whether the token refuses to deliver this buyer's undelivered tokens to the buyer's wallet: true when the buyer still has undelivered tokens and a simulated transfer of them from the sale to the buyer fails, for example because the buyer is frozen or lost identity verification. The tokens stay held in the sale. A wallet replaced through identity recovery is never flagged: its tokens go to the replacement wallet as they vest (see recoveredWalletDeliverable). Repeated on each of the buyer's rows."},"recoveredWalletDeliverable":{"type":"boolean","description":"Whether the buyer's withdrawable tokens can be delivered right now to the wallet that replaced the buyer's lost wallet through identity recovery: true only when a simulated withdrawTokensFor succeeds, which needs a lost wallet with a known replacement, tokens vested and not yet delivered, and a replacement wallet the token accepts. Deliver them through the recovered-wallet-deliveries route. Repeated on each of the buyer's rows."},"releasable":{"type":"boolean","description":"Whether the calling wallet can release this buyer's undelivered purchase right now: true only when the sale finalized as a success with a soft cap, the buyer still has undelivered tokens, and a simulated refundUndeliverablePurchase from the caller's wallet succeeds, so the sale can no longer deliver to the buyer and the caller holds the funds-manager role. Always false for a wallet replaced through identity recovery, whose tokens go to the replacement wallet instead. Repeated on each of the buyer's rows."},"refundPaid":{"$ref":"#/components/schemas/BigDecimal"},"refundPaidExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["buyer","identityAddress","name","kycStatus","country","paymentCurrency","purchaseCount","totalPaymentAmount","totalPaymentAmountExact","totalTokenAmount","totalTokenAmountExact","cancelledTokenAmount","cancelledTokenAmountExact","undeliveredTokenAmount","undeliveredTokenAmountExact","undeliverable","recoveredWalletDeliverable","releasable","refundPaid","refundPaidExact"],"additionalProperties":false},"CapTableKycStatus":{"type":"string","enum":["registered","pending","unknown"]},"TokenSaleReadResponse":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"token":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"isExternal":{"type":"boolean"}},"required":["id","symbol","decimals","isExternal"],"additionalProperties":false},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TokenSaleStatus"},"saleStartTime":{"$ref":"#/components/schemas/TimestampEncoded"},"saleEndTime":{"$ref":"#/components/schemas/TimestampEncoded"},"presaleEndTime":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"$ref":"#/components/schemas/EvmAddress"},"pausedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the sale was last paused, from the block time of the status change. Null unless the sale is paused now."},"pausedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Sender of the transaction that paused the sale. The pause event carries no actor, so this is the transaction sender, which can be a relayer when the pause was submitted through one. Null unless the sale is paused now."},"finalizedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the sale was finalized as successful or failed, from the block time of the finalize event. Null until then."},"totalSold":{"$ref":"#/components/schemas/BigDecimal"},"totalSoldExact":{"$ref":"#/components/schemas/AssetAmount"},"hardCap":{"$ref":"#/components/schemas/BigDecimal"},"hardCapExact":{"$ref":"#/components/schemas/AssetAmount"},"minPurchase":{"$ref":"#/components/schemas/BigDecimal"},"minPurchaseExact":{"$ref":"#/components/schemas/AssetAmount"},"maxPurchase":{"$ref":"#/components/schemas/BigDecimal"},"maxPurchaseExact":{"$ref":"#/components/schemas/AssetAmount"},"purchaseIncrement":{"$ref":"#/components/schemas/BigDecimal"},"purchaseIncrementExact":{"$ref":"#/components/schemas/AssetAmount"},"softCap":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"softCapExact":{"anyOf":[{"$ref":"#/components/schemas/AssetAmount"},{"type":"null"}]},"softCapShare":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The soft cap as a share of the hard cap, from 0 to 1. Null when the sale has no soft cap, so a progress meter draws no soft-cap tick."},"progress":{"allOf":[{"$ref":"#/components/schemas/MarkedMeterProgress"},{"description":"The sale progress meter, computed from exact indexed quantities. `value` and `max` are normalized to the same scale; `marker` is the soft-cap position or null when no soft cap is configured."}]},"vestingProgress":{"anyOf":[{"$ref":"#/components/schemas/MarkedMeterProgress"},{"type":"null"}],"allOf":[{"description":"Normalized elapsed vesting time; marker is the cliff offset, or null when vesting is disabled."}]},"softCapReached":{"type":"boolean"},"presalePriceRatio":{"anyOf":[{"type":"string"},{"type":"null"}]},"presaleMaxPerAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"vestingEnabled":{"type":"boolean"},"vestingStartTime":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"vestingDuration":{"anyOf":[{"type":"string"},{"type":"null"}]},"vestingCliff":{"anyOf":[{"type":"string"},{"type":"null"}]},"termsHash":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The terms hash recorded on the sale contract, which every buyer must acknowledge before buying."},"termsDocuments":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleTermsDocument"}},"termsDocumentsHash":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"keccak256 of the SHA-256 file hashes of the current `terms` documents, concatenated in ascending hash order. Equals `termsHash` once the terms are set from the current documents."},"failedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"paymentCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/TokenSalePaymentCurrency"}},"purchases":{"type":"array","items":{"$ref":"#/components/schemas/TokenSalePurchase"},"description":"Purchases in the sale. System admins, system token managers, and sale admins or funds managers on a token the caller's organization issued see every row; every other caller sees only the rows for its own wallets."},"whitelistEntries":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleWhitelistEntry"},"description":"Whitelist entries on the sale. System admins, system token managers, and sale admins or funds managers on a token the caller's organization issued see every row; every other caller sees only the rows for its own wallets."},"whitelistActive":{"type":"boolean","description":"Whether the sale has any whitelist entry, including entries the caller may not see."},"systemAddon":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"hasAcknowledgedTerms":{"type":"boolean"},"position":{"anyOf":[{"$ref":"#/components/schemas/TokenSalePosition"},{"type":"null"}]},"eligibility":{"anyOf":[{"$ref":"#/components/schemas/EligibilityVerdictItem_1"},{"type":"null"}]},"accessControl":{"anyOf":[{"$ref":"#/components/schemas/AccessControl"},{"type":"null"}]},"coverPhotoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","token","status","saleStartTime","saleEndTime","presaleEndTime","createdAt","createdBy","pausedAt","pausedBy","finalizedAt","totalSold","totalSoldExact","hardCap","hardCapExact","minPurchase","minPurchaseExact","maxPurchase","maxPurchaseExact","purchaseIncrement","purchaseIncrementExact","softCap","softCapExact","softCapShare","progress","vestingProgress","softCapReached","presalePriceRatio","presaleMaxPerAddress","vestingEnabled","vestingStartTime","vestingDuration","vestingCliff","termsHash","termsDocuments","termsDocumentsHash","failedAt","paymentCurrencies","purchases","whitelistEntries","whitelistActive","systemAddon","hasAcknowledgedTerms","position","eligibility","accessControl","coverPhotoUrl","logoUrl"],"additionalProperties":false},"EligibilityVerdictItem_1":{"type":"object","properties":{"verdict":{"$ref":"#/components/schemas/EligibilityVerdict"},"source":{"$ref":"#/components/schemas/EligibilitySource"},"checkedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"reasons":{"type":"array","items":{"$ref":"#/components/schemas/EligibilityReason_1"}},"wallets":{"type":"array","items":{"$ref":"#/components/schemas/WalletEligibilityVerdictItem_1"}}},"required":["verdict","source","checkedAt","wallet","reasons"],"additionalProperties":false},"WalletEligibilityVerdictItem_1":{"type":"object","properties":{"verdict":{"$ref":"#/components/schemas/EligibilityVerdict"},"source":{"$ref":"#/components/schemas/EligibilitySource"},"checkedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"reasons":{"type":"array","items":{"$ref":"#/components/schemas/EligibilityReason_1"}}},"required":["verdict","source","checkedAt","wallet","reasons"],"additionalProperties":false},"EligibilityReason_1":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/EligibilityReasonCode"},"moduleTypeId":{"type":"string","minLength":1},"instanceAddress":{"type":"string","minLength":1},"details":{"$ref":"#/components/schemas/EligibilityReasonDetails_1"}},"required":["code"],"additionalProperties":false},"EligibilityReasonDetails_1":{"type":"object","properties":{"topic":{"type":"string"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"countryCode":{"type":"integer","minimum":0,"maximum":9007199254740991}},"additionalProperties":false},"EligibilityReasonCode":{"type":"string","enum":["address-blocked","country-blocked","country-not-allowed","identity-blocked","identity-not-verified","claim-missing","claim-revoked","claim-expired","live-timeout"]},"EligibilitySource":{"type":"string","enum":["indexer","live"]},"EligibilityVerdict":{"type":"string","enum":["allowed","needs-action","blocked"]},"TokenSalePosition":{"type":"object","properties":{"buyerAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"purchased":{"$ref":"#/components/schemas/BigDecimal"},"purchasedExact":{"$ref":"#/components/schemas/AssetAmount"},"withdrawn":{"$ref":"#/components/schemas/BigDecimal"},"withdrawnExact":{"$ref":"#/components/schemas/AssetAmount"},"claimableNow":{"$ref":"#/components/schemas/BigDecimal"},"claimableNowExact":{"$ref":"#/components/schemas/AssetAmount"},"nextUnlockAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"pendingReason":{"anyOf":[{"$ref":"#/components/schemas/TokenSalePositionPendingReason"},{"type":"null"}]},"contributedByCurrency":{"type":"array","items":{"$ref":"#/components/schemas/TokenSalePositionCurrencyAmount"}},"refundableByCurrency":{"type":"array","items":{"$ref":"#/components/schemas/TokenSalePositionCurrencyAmount"}},"progress":{"$ref":"#/components/schemas/MarkedMeterProgress"},"vestedProgress":{"$ref":"#/components/schemas/MarkedMeterProgress"}},"required":["buyerAddresses","purchased","purchasedExact","withdrawn","withdrawnExact","claimableNow","claimableNowExact","nextUnlockAt","pendingReason","contributedByCurrency","refundableByCurrency","progress","vestedProgress"],"additionalProperties":false},"TokenSalePositionCurrencyAmount":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/BigDecimal"},"amountExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","amount","amountExact"],"additionalProperties":false},"TokenSalePositionPendingReason":{"type":"string","enum":["before_cliff","pending_finalization","fully_withdrawn","not_started"]},"TokenSaleWhitelistEntry":{"type":"object","properties":{"id":{"type":"string"},"investor":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"isWhitelisted":{"type":"boolean"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","investor","isWhitelisted","updatedAt"],"additionalProperties":false},"TokenSalePurchase":{"type":"object","properties":{"id":{"type":"string"},"buyer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"paymentCurrency":{"$ref":"#/components/schemas/TokenSalePaymentCurrency"},"paymentAmount":{"$ref":"#/components/schemas/BigDecimal"},"paymentAmountExact":{"$ref":"#/components/schemas/AssetAmount"},"tokenAmount":{"$ref":"#/components/schemas/BigDecimal"},"tokenAmountExact":{"$ref":"#/components/schemas/AssetAmount"},"purchasedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"phase":{"type":"string","enum":["PRESALE","PUBLIC_SALE"],"description":"Sale phase the purchase was made in: PRESALE when the block time is before the sale's presale end time, PUBLIC_SALE otherwise (including every purchase in a sale with no presale). Derived from the indexed purchase time and the sale's presale end time."}},"required":["id","buyer","paymentCurrency","paymentAmount","paymentAmountExact","tokenAmount","tokenAmountExact","purchasedAt","txHash","phase"],"additionalProperties":false},"TokenSalePaymentCurrency":{"type":"object","properties":{"id":{"type":"string"},"currency":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"contractName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","contractName"],"additionalProperties":false},"priceRatio":{"type":"string"},"accepted":{"type":"boolean"}},"required":["id","currency","priceRatio","accepted"],"additionalProperties":false},"TokenSaleTermsDocument":{"type":"object","properties":{"id":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"fileHash":{"type":"string","minLength":1}},"required":["id","fileName","title","fileHash"],"additionalProperties":false},"TokenSaleStatus":{"type":"string","enum":["SETUP","ACTIVE","PAUSED","ENDED","SUCCESS","FAILED","PRESALE","PUBLIC_SALE"]},"TokenSaleCurrentTimeOutput":{"type":"object","properties":{"currentTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["currentTimestamp"],"additionalProperties":false},"TokenSaleOperationsItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"token":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleListToken"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TokenSaleStatus"},"saleStartTime":{"$ref":"#/components/schemas/TimestampEncoded"},"saleEndTime":{"$ref":"#/components/schemas/TimestampEncoded"},"presaleEndTime":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"totalSold":{"$ref":"#/components/schemas/BigDecimal"},"totalSoldExact":{"$ref":"#/components/schemas/AssetAmount"},"hardCap":{"$ref":"#/components/schemas/BigDecimal"},"hardCapExact":{"$ref":"#/components/schemas/AssetAmount"},"progress":{"$ref":"#/components/schemas/MarkedMeterProgress"},"alert":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleLifecycleAlert"},{"type":"null"}]},"investorCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"paymentCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleOperationPaymentCurrency"},"description":"Every payment currency the sale has registered, accepted or not, ordered by currency address."},"price":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleOperationPrice"},"description":"The public-sale price ratio per payment currency, as the sale detail's `paymentCurrencies[].priceRatio` reports it, ordered by currency address."},"presalePriceRatio":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The presale price ratio, as the sale detail reports it. `null` when the sale has no presale."},"raised":{"type":"array","items":{"$ref":"#/components/schemas/TokenSaleOperationRaised"},"description":"Payment received per payment currency: indexed contributions minus refunds already paid out, the same definition as the offerings Insights summary's `raised`. A currency with no purchases reports zero. Ordered by currency address."}},"required":["id","token","status","saleStartTime","saleEndTime","presaleEndTime","createdAt","totalSold","totalSoldExact","hardCap","hardCapExact","progress","alert","investorCount","paymentCurrencies","price","presalePriceRatio","raised"],"additionalProperties":false},"TokenSaleOperationRaised":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/TokenSaleOperationCurrency"},"amount":{"$ref":"#/components/schemas/BigDecimal"},"amountExact":{"$ref":"#/components/schemas/AssetAmount"}},"required":["currency","amount","amountExact"],"additionalProperties":false},"TokenSaleOperationCurrency":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"$ref":"#/components/schemas/AssetSymbol"},{"type":"null"}]},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"}},"required":["id","symbol","decimals"],"additionalProperties":false},"TokenSaleOperationPrice":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"priceRatio":{"type":"string"}},"required":["currency","priceRatio"],"additionalProperties":false},"TokenSaleOperationPaymentCurrency":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/TokenSaleOperationCurrency"},"accepted":{"type":"boolean"}},"required":["currency","accepted"],"additionalProperties":false},"TokenSaleLifecycleAlert":{"type":"string","enum":["near-cap","presale-ended","awaiting-finalization","grace-closing"]},"TokenSaleListToken":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"}},"required":["id","symbol","decimals"],"additionalProperties":false},"TokenSaleListFilter":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"saleEndTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"saleStartTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"systemAddon":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"token":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"totalSold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}],"allOf":[{"description":"Amount sold in base units, the value of `totalSoldExact`, not the decimal `totalSold` amount. For 5 tokens with 18 decimals, send `5000000000000000000`."}]}},"additionalProperties":false},"TokenSaleInvestmentItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"token":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleListToken"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TokenSaleStatus"},"saleStartTime":{"$ref":"#/components/schemas/TimestampEncoded"},"saleEndTime":{"$ref":"#/components/schemas/TimestampEncoded"},"presaleEndTime":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"totalSold":{"$ref":"#/components/schemas/BigDecimal"},"totalSoldExact":{"$ref":"#/components/schemas/AssetAmount"},"hardCap":{"$ref":"#/components/schemas/BigDecimal"},"hardCapExact":{"$ref":"#/components/schemas/AssetAmount"},"progress":{"$ref":"#/components/schemas/MarkedMeterProgress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"position":{"$ref":"#/components/schemas/TokenSalePosition"},"participated":{"type":"boolean"},"discoverable":{"type":"boolean"},"coverPhotoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"logoUrl":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","token","status","saleStartTime","saleEndTime","presaleEndTime","createdAt","totalSold","totalSoldExact","hardCap","hardCapExact","progress","tokenAddress","position","participated","discoverable","coverPhotoUrl","logoUrl"],"additionalProperties":false},"SaleInvestmentsWireFilter":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"purchasedFrom":{"$ref":"#/components/schemas/TimestampEncoded_2"},"purchasedTo":{"$ref":"#/components/schemas/TimestampEncoded_2"},"investableNow":{"type":"string","enum":["true","false"],"description":"A sale is investable now when chain time is at or after its start and before its end, and one of these holds: its status at chain time is PUBLIC_SALE; it is PRESALE and its presale window has already closed at chain time; or it is PRESALE and a caller wallet is on its presale whitelist."}},"additionalProperties":false},"TokenSaleListItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"token":{"anyOf":[{"$ref":"#/components/schemas/TokenSaleListToken"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TokenSaleStatus"},"saleStartTime":{"$ref":"#/components/schemas/TimestampEncoded"},"saleEndTime":{"$ref":"#/components/schemas/TimestampEncoded"},"presaleEndTime":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"totalSold":{"$ref":"#/components/schemas/BigDecimal"},"totalSoldExact":{"$ref":"#/components/schemas/AssetAmount"},"hardCap":{"$ref":"#/components/schemas/BigDecimal"},"hardCapExact":{"$ref":"#/components/schemas/AssetAmount"},"progress":{"$ref":"#/components/schemas/MarkedMeterProgress"}},"required":["id","token","status","saleStartTime","saleEndTime","presaleEndTime","createdAt","totalSold","totalSoldExact","hardCap","hardCapExact","progress"],"additionalProperties":false},"XvpRevealSecretOutput":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emailResults":{"type":"array","items":{"$ref":"#/components/schemas/EmailSendResult"}}},"required":["transactionHash"],"additionalProperties":false},"EmailSendResult":{"type":"object","properties":{"recipient":{"type":"string"},"success":{"type":"boolean"}},"required":["recipient","success"],"additionalProperties":false},"XvpRevealSecretBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"secret":{"type":"string","minLength":32,"maxLength":1024},"emailRecipients":{"type":"array","items":{"type":"string"}},"settlementName":{"type":"string"}},"required":["secret"],"additionalProperties":false},"XvpStoreSecretOutput":{"type":"object","properties":{"settlementId":{"$ref":"#/components/schemas/EvmAddress"},"stored":{"type":"boolean"}},"required":["settlementId","stored"],"additionalProperties":false},"XvpStoreSecretBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"secret":{"type":"string","minLength":32,"maxLength":1024}},"required":["secret"],"additionalProperties":false},"XvpApproveOutput":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["transactionHash"],"additionalProperties":false},"XvpParkedClaimBody":{"type":"object","properties":{"receiver":{"$ref":"#/components/schemas/EvmAddress"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"additionalProperties":false},"XvpSettlementWriteBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"additionalProperties":false},"XvpExecuteSettledData":{"anyOf":[{"$ref":"#/components/schemas/XvpApproveOutput"},{"$ref":"#/components/schemas/CantonXvpSettlementOperationOutput"}]},"CantonXvpSettlementOperationOutput":{"type":"object","properties":{"operationId":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false},"XvpExecutePayload":{"anyOf":[{"$ref":"#/components/schemas/CantonXvpSettlementBatchInput"},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}},"settlementId":{"not":{}}},"additionalProperties":false}]},"CantonXvpSettlementBatchInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_17"},"settlementId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_18"},"registryContractId":{"$ref":"#/components/schemas/CantonContractId"},"legs":{"type":"array","items":{"$ref":"#/components/schemas/CantonXvpSettlementLegInput"},"minItems":1},"allocations":{"type":"array","items":{"$ref":"#/components/schemas/CantonXvpSettlementBatchAllocation"},"minItems":1}},"required":["cantonPartyId","settlementId","instrumentAdmin","registryContractId","legs","allocations"],"additionalProperties":false},"CantonXvpSettlementBatchAllocation":{"type":"object","properties":{"contractId":{"$ref":"#/components/schemas/CantonContractId"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_17"},"authorizerParty":{"$ref":"#/components/schemas/CantonPartyId_17"}},"required":["contractId","instrumentAdmin","authorizerParty"],"additionalProperties":false},"CantonPartyId_17":{"type":"string","minLength":1,"description":"Canton party identifier.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"CantonContractId":{"type":"string","minLength":1,"description":"Contract id of a Canton contract, as returned by the Canton read that listed it."},"CantonXvpSettlementLegInput":{"type":"object","properties":{"transferLegId":{"type":"string","minLength":1},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_17"},"instrumentId":{"type":"string","minLength":1},"senderParty":{"$ref":"#/components/schemas/CantonPartyId_17"},"receiverParty":{"$ref":"#/components/schemas/CantonPartyId_17"},"amount":{"$ref":"#/components/schemas/CantonAmount"}},"required":["instrumentAdmin","instrumentId","senderParty","receiverParty","amount"],"additionalProperties":false,"description":"One leg of the settlement in business terms. `transferLegId` defaults to the leg's zero-based position when the caller names none."},"CantonAmount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"Canton token amount as the ledger records it, with no token decimals applied.","examples":["100.0"]},"CantonPartyId_18":{"type":"string","minLength":1,"description":"Admin party of a Canton instrument, and the selector of this route's two members: present, this body is the Canton one. On the request and batch members it must name an instrument admin the body itself names, or the write is refused.","examples":["Canton::1220abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123"]},"XvpApproveSettledData":{"anyOf":[{"$ref":"#/components/schemas/XvpApproveOutput"},{"$ref":"#/components/schemas/CantonXvpSettlementOperationOutput"}]},"XvpApprovePayload":{"anyOf":[{"$ref":"#/components/schemas/CantonXvpSettlementAllocationInput"},{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}},"settlementId":{"not":{}}},"additionalProperties":false}]},"CantonXvpSettlementAllocationInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_17"},"settlementId":{"type":"string","minLength":1},"executorParty":{"$ref":"#/components/schemas/CantonPartyId_17"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_18"},"registryContractId":{"$ref":"#/components/schemas/CantonContractId"},"legs":{"type":"array","items":{"$ref":"#/components/schemas/CantonXvpSettlementLegInput"},"minItems":1},"inputHoldingContractIds":{"type":"array","items":{"$ref":"#/components/schemas/CantonContractId"}},"authorizerAccountId":{"type":"string"},"settlementDeadline":{"anyOf":[{"$ref":"#/components/schemas/DamlTimestamp"},{"type":"null"}]},"committed":{"type":"boolean"}},"required":["cantonPartyId","settlementId","executorParty","instrumentAdmin","registryContractId","legs","inputHoldingContractIds"],"additionalProperties":false},"DamlTimestamp":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"A ledger timestamp in UTC, microsecond precision."},"XvpCreateSettledData":{"anyOf":[{"$ref":"#/components/schemas/XvpCreateOutput"},{"$ref":"#/components/schemas/CantonXvpSettlementOperationOutput"}]},"XvpCreateOutput":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"settlementId":{"$ref":"#/components/schemas/EvmAddress"}},"required":["transactionHash","settlementId"],"additionalProperties":false},"XvpCreatePayload":{"anyOf":[{"$ref":"#/components/schemas/CantonXvpSettlementRequestInput"},{"type":"object","properties":{"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","minLength":1},"autoExecute":{"type":"boolean"},"cutoffDate":{"$ref":"#/components/schemas/TimestampEncoded"},"secret":{"type":"string","minLength":32,"maxLength":1024},"hashlock":{"$ref":"#/components/schemas/EthereumHashEncoded"},"flows":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementFlow"},"maxItems":100},"country":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}}},"required":["factoryAddress","name","flows","walletVerification"],"additionalProperties":false}]},"XvpSettlementFlow":{"anyOf":[{"$ref":"#/components/schemas/XvpLocalFlow"},{"$ref":"#/components/schemas/XvpExternalFlow"}],"discriminator":{"propertyName":"type","mapping":{"local":"#/components/schemas/XvpLocalFlow","external":"#/components/schemas/XvpExternalFlow"}}},"XvpExternalFlow":{"type":"object","properties":{"type":{"type":"string","enum":["external"]},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"},"externalChainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"externalAssetDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["type","assetId","from","to","amount","externalChainId","externalAssetDecimals"],"additionalProperties":false},"XvpLocalFlow":{"type":"object","properties":{"type":{"type":"string","enum":["local"]},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"}},"required":["type","assetId","from","to","amount"],"additionalProperties":false},"CantonXvpSettlementRequestInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_17"},"settlementId":{"type":"string","minLength":1},"authorizerParty":{"$ref":"#/components/schemas/CantonPartyId_17"},"legs":{"type":"array","items":{"$ref":"#/components/schemas/CantonXvpSettlementLegInput"},"minItems":1},"settleAt":{"anyOf":[{"$ref":"#/components/schemas/DamlTimestamp"},{"type":"null"}]},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_18"}},"required":["cantonPartyId","settlementId","authorizerParty","legs","instrumentAdmin"],"additionalProperties":false},"XvpDecryptOutput":{"type":"object","properties":{"secret":{"type":"string","minLength":32,"maxLength":1024},"hashlock":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["secret","hashlock"],"additionalProperties":false},"XvpDecryptBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"externalMessageAuthorization":{"type":"object","properties":{"_tag":{"type":"string","enum":["ExternalMessageAuthorization"]},"message":{"type":"string","minLength":1},"signature":{"type":"string","minLength":1}},"required":["_tag","message","signature"],"additionalProperties":false}},"additionalProperties":false},"XvpSettlementRead":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"hasExternalFlows":{"type":"boolean"},"cutoffDate":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"$ref":"#/components/schemas/XvpSettlementCreator"},"executed":{"type":"boolean"},"cancelled":{"type":"boolean"},"withdrawn":{"type":"boolean"},"allApprovedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"approvalsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cancelVotesCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"localSendersCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progress":{"$ref":"#/components/schemas/MeterProgress"},"localParticipantsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"secretRevealedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"secretRevealTx":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"secretRevealedBy":{"anyOf":[{"$ref":"#/components/schemas/XvpSettlementAccount"},{"type":"null"}]},"systemAddon":{"$ref":"#/components/schemas/XvpSettlementAccount"},"hashlock":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"secretRevealed":{"type":"boolean"},"secret":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}]},"autoExecute":{"type":"boolean"},"approvals":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementApproval"}},"cancelVotes":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementCancelVote"}},"flows":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementLeg"}},"parkedAmounts":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementParkedAmount"}},"escrowPositions":{"type":"array","items":{"$ref":"#/components/schemas/XvpSettlementEscrowPosition"}},"hasStoredSecret":{"type":"boolean"},"userApproved":{"type":"boolean"},"userIsSender":{"type":"boolean"}},"required":["id","name","hasExternalFlows","cutoffDate","createdAt","createdBy","executed","cancelled","withdrawn","allApprovedAt","approvalsCount","cancelVotesCount","localSendersCount","progress","localParticipantsCount","secretRevealedAt","secretRevealTx","secretRevealedBy","systemAddon","secretRevealed","secret","autoExecute","approvals","cancelVotes","flows","parkedAmounts","escrowPositions","hasStoredSecret","userApproved","userIsSender"],"additionalProperties":false},"XvpSettlementEscrowPosition":{"type":"object","properties":{"id":{"type":"string","minLength":1},"account":{"$ref":"#/components/schemas/XvpSettlementAccount"},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"locked":{"$ref":"#/components/schemas/AssetAmount"},"refunded":{"$ref":"#/components/schemas/AssetAmount"}},"required":["id","account","assetId","locked","refunded"],"additionalProperties":false,"description":"What one participant locked into a version 4 settlement for one asset, and what the settlement refunded. Before execution, locked minus refunded is still held in the settlement."},"XvpSettlementAccount":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"XvpSettlementParkedAmount":{"type":"object","properties":{"id":{"type":"string","minLength":1},"account":{"$ref":"#/components/schemas/XvpSettlementAccount"},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"}},"required":["id","account","assetId","amount"],"additionalProperties":false,"description":"An amount a version 4 settlement holds for one participant because the token refused to deliver it to them. The participant claims it to an address the token accepts."},"XvpSettlementLeg":{"type":"object","properties":{"id":{"type":"string"},"legIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"$ref":"#/components/schemas/AssetAmount"},"externalChainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"isExternal":{"type":"boolean"},"externalAssetDecimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Decimals of an external leg's asset, as the settlement recorded them at creation; scale `amount` by them. Null on a local leg, whose decimals are the token's own."}},"required":["id","legIndex","assetId","from","to","amount","externalChainId","isExternal","externalAssetDecimals"],"additionalProperties":false},"XvpSettlementCancelVote":{"type":"object","properties":{"id":{"type":"string","minLength":1},"votedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"active":{"type":"boolean"},"account":{"$ref":"#/components/schemas/XvpSettlementAccount"}},"required":["id","votedAt","active","account"],"additionalProperties":false},"XvpSettlementApproval":{"type":"object","properties":{"id":{"type":"string","minLength":1},"approved":{"type":"boolean"},"timestamp":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"account":{"$ref":"#/components/schemas/XvpSettlementAccount"}},"required":["id","approved","timestamp","account"],"additionalProperties":false},"XvpSettlementCreator":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"isContract":{"type":"boolean"}},"required":["id","isContract"],"additionalProperties":false},"XvpSettlementListRow":{"anyOf":[{"$ref":"#/components/schemas/EvmXvpSettlementListItem"},{"$ref":"#/components/schemas/CantonSettlementItem"}],"discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmXvpSettlementListItem","canton":"#/components/schemas/CantonSettlementItem"}}},"CantonSettlementItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"networkIdentity":{"type":"string","minLength":1},"contractId":{"$ref":"#/components/schemas/CantonContractId"},"kind":{"type":"string","enum":["allocation","request"]},"instrumentAdmin":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId_17"},{"type":"null"}]},"authorizerParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId_17"},{"type":"null"}]},"authorizerProvider":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId_17"},{"type":"null"}]},"executorParties":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId_17"}},"legs":{"type":"array","items":{"$ref":"#/components/schemas/CantonSettlementLeg"}},"settlement":{"anyOf":[{},{"type":"null"}]},"requestedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"settleAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lockExpiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdOffset":{"$ref":"#/components/schemas/CantonLedgerOffset"},"updateId":{"type":"string","minLength":1},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","contractId","kind","instrumentAdmin","authorizerParty","authorizerProvider","executorParties","legs","settlement","requestedAt","settleAt","expiresAt","lockExpiresAt","createdOffset","updateId","recordTime"],"additionalProperties":false},"CantonLedgerOffset":{"type":"string","pattern":"^\\d+$","description":"Ledger offset of the update that produced the row, as a decimal string.","examples":["42"]},"CantonSettlementLeg":{"type":"object","properties":{"transferLegId":{"anyOf":[{"type":"string"},{"type":"null"}]},"side":{"anyOf":[{"type":"string"},{"type":"null"}]},"instrumentAdmin":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId_17"},{"type":"null"}]},"instrumentId":{"anyOf":[{"type":"string"},{"type":"null"}]},"senderParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId_17"},{"type":"null"}]},"receiverParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId_17"},{"type":"null"}]},"amount":{"anyOf":[{"$ref":"#/components/schemas/CantonAmount"},{"type":"null"}]}},"required":["transferLegId","side","instrumentAdmin","instrumentId","senderParty","receiverParty","amount"],"additionalProperties":false},"EvmXvpSettlementListItem":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"hasExternalFlows":{"type":"boolean"},"cutoffDate":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"$ref":"#/components/schemas/XvpSettlementCreator"},"secretRevealTx":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"executed":{"type":"boolean"},"cancelled":{"type":"boolean"},"withdrawn":{"type":"boolean"},"allApprovedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"approvalsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"cancelVotesCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"localSendersCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"progress":{"$ref":"#/components/schemas/MeterProgress"},"localParticipantsCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"userApproved":{"type":"boolean"},"userLocalParticipant":{"type":"boolean","description":"Whether one of the caller's wallets sends or receives a flow settling on this chain, which the contract requires to cancel or vote to cancel."},"userHasParkedAmount":{"type":"boolean","description":"Whether the settlement holds a parked amount for one of the caller's wallets, which that wallet can claim."},"userIsSender":{"type":"boolean"}},"required":["family","id","name","hasExternalFlows","cutoffDate","createdAt","createdBy","secretRevealTx","executed","cancelled","withdrawn","allApprovedAt","approvalsCount","cancelVotesCount","localSendersCount","progress","localParticipantsCount","userApproved","userLocalParticipant","userHasParkedAmount","userIsSender"],"additionalProperties":false},"XvpSettlementListFilter":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"participant":{"$ref":"#/components/schemas/EvmAddress"},"systemAddon":{"$ref":"#/components/schemas/EvmAddress"},"family":{"$ref":"#/components/schemas/ChainFamily"},"kind":{"type":"string","enum":["allocation","request"]},"escrow":{"anyOf":[{"type":"string","enum":["held"]}],"description":"held keeps EVM settlements whose contract still holds money no settlement step will move: escrow left after a cancellation or after the cutoff (measured against indexed chain time) without a revealed secret, or an amount parked for a participant to claim."}},"additionalProperties":false},"ChainFamily":{"type":"string","enum":["evm","canton"],"description":"Chain family discriminator for wallet identity, payloads, and signing requests"},"ReportingRegulatorCertification":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"environment":{"type":"string","enum":["regulator-test","local-acceptor"]},"endpoint":{"type":"string","minLength":1,"description":"The host:port the run connected to."},"outcome":{"type":"string","enum":["passed","failed"]},"cases":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorCertificationCase"}},"ranAt":{"$ref":"#/components/schemas/TimestampEncoded"},"recordedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"recordedBy":{"$ref":"#/components/schemas/UserId"}},"required":["id","organizationId","obligationVersionId","environment","endpoint","outcome","cases","ranAt","recordedAt","recordedBy"],"additionalProperties":false,"description":"The record of one certification run against the regulator's test environment (or the local acceptor), kept with the obligation version whose message layout it exercised."},"ReportingRegulatorCertificationCase":{"type":"object","properties":{"name":{"type":"string","enum":["new-report","bust-report","reject-and-resubmit","disconnect-and-resend"]},"outcome":{"type":"string","enum":["passed","failed"]},"detail":{"type":"string"}},"required":["name","outcome","detail"],"additionalProperties":false},"ReportingRegulatorCertificationRecord":{"type":"object","properties":{"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"environment":{"type":"string","enum":["regulator-test","local-acceptor"]},"endpoint":{"type":"string","minLength":1},"cases":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorCertificationCase"},"minItems":1},"ranAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["obligationVersionId","environment","endpoint","cases","ranAt"],"additionalProperties":false,"description":"The outcome is passed only when every case passed."},"ReportingRegulatorMonitoringEvidence":{"type":"object","properties":{"from":{"$ref":"#/components/schemas/TimestampEncoded"},"to":{"$ref":"#/components/schemas/TimestampEncoded"},"generatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"delayThresholdSeconds":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sessions":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorSessionEvidence"}},"events":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorSessionEvent"}},"messages":{"type":"object","properties":{"inbound":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"outbound":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sessionRejects":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Reject (3) and BusinessMessageReject (j) the regulator sent."},"resendRequests":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sequenceResets":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["inbound","outbound","sessionRejects","resendRequests","sequenceResets"],"additionalProperties":false},"reports":{"type":"object","properties":{"queued":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"submitted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"acknowledged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rejected":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["queued","submitted","acknowledged","rejected"],"additionalProperties":false,"description":"Where the reports queued in the period stand now."},"queue":{"type":"object","properties":{"oldestQueuedAgeSeconds":{"type":"number","description":"How long the oldest queued report has waited now."},"longestWaitSeconds":{"type":"number","description":"The longest a report queued in the period waited to be sent, or has waited so far."},"delayBreaches":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Reports that waited longer than the delay threshold."}},"required":["oldestQueuedAgeSeconds","longestWaitSeconds","delayBreaches"],"additionalProperties":false},"delays":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorReportingDelay"},"description":"All waits past the delay threshold, longest first."},"alerts":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorAlertRecord"}},"monitors":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorMonitor"},"description":"The monitors the platform runs on the regulator session, as proof that they are in place."}},"required":["from","to","generatedAt","delayThresholdSeconds","sessions","events","messages","reports","queue","delays","alerts","monitors"],"additionalProperties":false,"description":"Proof for the regulator that session state, rejects and reporting delays are monitored: session uptime and its logon and logout history, rejects, the oldest queued age, delay breaches and the alerts raised, over a period."},"ReportingRegulatorMonitor":{"type":"object","properties":{"name":{"type":"string"},"watches":{"type":"string"},"threshold":{"type":"string"}},"required":["name","watches","threshold"],"additionalProperties":false},"ReportingRegulatorAlertRecord":{"type":"object","properties":{"raisedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"kind":{"anyOf":[{"type":"string","enum":["reconciliation-break"]}]},"tradingDay":{"$ref":"#/components/schemas/ReportingCalendarDate"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"breaks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["raisedAt","kind","tradingDay","version","breaks"],"additionalProperties":false,"description":"A reconciliation version that found breaks and so raised its operations case and moved the breaks gauge the alert rule reads."},"ReportingCalendarDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"ReportingRegulatorReportingDelay":{"type":"object","properties":{"reportId":{"type":"string"},"queuedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"sentAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"waitSeconds":{"type":"number","description":"Seconds from queueing to sending, or to the end of the period for a report still queued."}},"required":["reportId","queuedAt","sentAt","waitSeconds"],"additionalProperties":false},"ReportingRegulatorSessionEvent":{"type":"object","properties":{"sessionKey":{"type":"string"},"event":{"type":"string","enum":["logon","logout"]},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why a logout happened: logout (the session ended cleanly), session-ended-without-logout (its process stopped or lost its lease)."}},"required":["sessionKey","event","at","reason"],"additionalProperties":false},"ReportingRegulatorSessionEvidence":{"type":"object","properties":{"sessionKey":{"type":"string"},"state":{"type":"string","enum":["up","down"]},"uptimeSeconds":{"type":"number","description":"Seconds the regulator had accepted a Logon within the period."},"uptimePercent":{"type":"number","description":"Uptime as a share of the period, 0 to 100."},"logons":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"logouts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["sessionKey","state","uptimeSeconds","uptimePercent","logons","logouts"],"additionalProperties":false},"ReportingRegulatorMessageHold":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"reason":{"type":"string","minLength":1},"from":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"Messages recorded at or after this time. Null for all."},"to":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"Messages recorded before this time. Null for all."},"placedBy":{"$ref":"#/components/schemas/UserId"},"placedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"releasedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"releasedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","organizationId","reason","from","to","placedBy","placedAt","releasedBy","releasedAt"],"additionalProperties":false,"description":"A legal hold on the regulator session messages of the organisation. A held message is never erased."},"ReportingRegulatorMessageHoldRelease":{"type":"object","properties":{"released":{"type":"boolean","enum":[true],"description":"Send true to release the hold; a released hold stays on record."}},"required":["released"],"additionalProperties":false},"ReportingRegulatorMessageHoldInput":{"type":"object","properties":{"reason":{"type":"string","minLength":1},"from":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"to":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false},"ReportingRegulatorWireMessage":{"type":"object","properties":{"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The message's place in the organisation's log; it only grows."},"sessionKey":{"type":"string"},"direction":{"type":"string","enum":["inbound","outbound"]},"resetEpoch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"msgSeqNum":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"msgType":{"type":"string","description":"FIX tag 35, such as A (Logon), 0 (Heartbeat) or AE."},"possDup":{"type":"boolean"},"sendingTime":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"FIX tag 52 as the sender stamped it."},"recordedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"raw":{"type":"string","description":"The message as it crossed the wire, with | in place of SOH."},"retentionClass":{"type":"string","enum":["five-years","seven-years","ten-years","indefinite"]},"retainUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the message may be erased. Null for the indefinite class."}},"required":["position","sessionKey","direction","resetEpoch","msgSeqNum","msgType","possDup","sendingTime","recordedAt","raw","retentionClass","retainUntil"],"additionalProperties":false,"description":"One message of the regulator FIX session, application or administrative, in the direction it travelled, with its sequence number and timestamps."},"ReportingReconciliationLine":{"type":"object","properties":{"reportId":{"type":"string","minLength":1},"tradeId":{"type":"string","minLength":1},"eventType":{"type":"string","enum":["trade","bust"]},"executedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"classification":{"type":"string","enum":["acknowledged","rejected","submitted-not-acked","queued","missing"],"description":"acknowledged: the regulator accepted the report. rejected: the regulator refused it. submitted-not-acked: it was sent and no answer arrived. queued: it was never sent. missing: no report exists for the fill or bust."},"rejectionReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["reportId","tradeId","eventType","executedAt","classification","rejectionReason"],"additionalProperties":false,"description":"One venue fill or approved bust of the trading day and where its transaction report stands."},"ReportingTransactionReportReconciliation":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"tradingDay":{"$ref":"#/components/schemas/ReportingCalendarDate"},"timeZone":{"type":"string","minLength":1,"description":"The zone whose calendar day the trading day is."},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 for the first reconciliation of the day, counting up per change."},"counts":{"$ref":"#/components/schemas/ReportingReconciliationCounts"},"breaks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Every fill or bust whose report the regulator has not acknowledged: rejected, submitted-not-acked, queued and missing."},"contentDigest":{"type":"string","minLength":1,"description":"The SHA-256 of the day's lines, as hex."},"ranAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","tradingDay","timeZone","version","counts","breaks","contentDigest","ranAt"],"additionalProperties":false,"description":"One numbered version of a trading day's reconciliation of the venue's fills and busts against the transaction reports sent to the regulator."},"ReportingReconciliationCounts":{"type":"object","properties":{"executed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"acknowledged":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rejected":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"submittedNotAcked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"queued":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"missing":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["executed","acknowledged","rejected","submittedNotAcked","queued","missing"],"additionalProperties":false},"ReportingVenueLegalHold":{"type":"object","properties":{"id":{"type":"string"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participantAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"fromAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"toAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reason":{"type":"string","minLength":1},"placedBy":{"$ref":"#/components/schemas/UserId"},"placedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"releaseRequestedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"releaseRequestedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"releaseReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"releasedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"releasedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","organizationId","chainId","venueAddress","marketId","participantAddress","fromAt","toAt","reason","placedBy","placedAt","releaseRequestedBy","releaseRequestedAt","releaseReason","releasedBy","releasedAt"],"additionalProperties":false},"ReportingVenueArchiveRecord":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["order","order-event","trade"]},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"marketId":{"type":"string"},"participantAddresses":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/EvmAddress"}],"minItems":1,"items":{"$ref":"#/components/schemas/EvmAddress"}},"occurredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"payload":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"schemaVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"archivedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","kind","organizationId","chainId","venueAddress","marketId","participantAddresses","occurredAt","payload","schemaVersion","archivedAt"],"additionalProperties":false},"ReportingVenueArchiveCursor":{"type":"string"},"ReportingFundRegister":{"type":"object","properties":{"ownershipBasis":{"type":"string","enum":["on-chain-register"]},"navCheck":{"type":"string","enum":["consistent","mismatch","unpriced"],"description":"consistent: every class publishes the same NAV in the same currency. mismatch: the classes publish different NAVs or currencies; each class is still valued at its own NAV, and a currency difference leaves the fund value null. unpriced: a class has no NAV, so the fund value is null."},"currency":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The currency the fund value is in. Null when the fund value is null."},"classes":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFundClass"}},"holders":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFundHolder"},"description":"Wallets holding any class, largest holding first."},"holderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of distinct wallets holding any class."},"units":{"type":"string","minLength":1,"description":"The units of every class together."},"value":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The fund value: the sum of every class's value. Equals the NAV times the fund's units when the NAV check is consistent."}},"required":["ownershipBasis","navCheck","currency","classes","holders","holderCount","units","value"],"additionalProperties":false,"description":"One fund's holder register across its class tokens, which may sit on different chains: every holder's units per class, totals per class and for the fund, and the value at each class's NAV."},"ReportingFundHolder":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"positions":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFundHolderPosition"},"description":"One entry per class the wallet holds."},"units":{"type":"string","minLength":1,"description":"The wallet's units across every class."},"value":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The sum of each position's units times its class NAV. Null when the fund value is null."}},"required":["account","positions","units","value"],"additionalProperties":false},"ReportingFundHolderPosition":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"units":{"type":"string","minLength":1}},"required":["chainId","tokenAddress","units"],"additionalProperties":false},"ReportingFundClass":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recordBlock":{"type":"string","minLength":1,"description":"The block of this class's chain the balances are read at: the newest final block indexed for it."},"holderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of wallets holding units of this class."},"units":{"type":"string","minLength":1,"description":"The units every holder of this class holds together."},"totalSupply":{"type":"string","minLength":1,"description":"The class token's total supply at the record block."},"reconciled":{"type":"boolean","description":"True when the holders' units add up to the total supply."},"nav":{"anyOf":[{"$ref":"#/components/schemas/ReportingFundClassNav"},{"type":"null"}],"description":"Null when the class has no price feed."},"value":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The class NAV times its units, in the NAV currency. Null when the class has no NAV."}},"required":["chainId","tokenAddress","name","symbol","decimals","recordBlock","holderCount","units","totalSupply","reconciled","nav","value"],"additionalProperties":false},"ReportingFundClassNav":{"type":"object","properties":{"price":{"type":"string","minLength":1,"description":"The class's net asset value per unit, from its price feed."},"currency":{"type":"string","minLength":1,"description":"The ISO 4217 code the NAV is quoted in."},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the feed last moved the price."}},"required":["price","currency","updatedAt"],"additionalProperties":false},"ReportingFundClassesEncoded":{"type":"string","pattern":"^\\d{1,10}:0x[\\dA-Fa-f]{40}(?:,\\d{1,10}:0x[\\dA-Fa-f]{40})*$","examples":["1:0x71C7656EC7ab88b098defB751B7401B5f6d8976F,8453:0x5555555555555555555555555555555555555555"]},"ReportingTransactionConfirmation":{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[0-9a-f]{64}-(?:0|[1-9][0-9]{0,8})-0x[0-9a-f]{40}$","description":"Identifies one confirmation: the movement's transaction hash, its log index and the confirmed wallet, joined by hyphens in lowercase hex.","examples":["0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"account":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"type":"string","enum":["transfer","mint","burn"],"description":"`mint` issues to the wallet, `burn` redeems from it, and `transfer` moves between two wallets."},"direction":{"type":"string","enum":["in","out","self"],"description":"`in` when the wallet received, `out` when it sent, and `self` when it sent to itself."},"counterparty":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet on the other side of a transfer. Null for a mint, a burn or a transfer to itself."},"token":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","minLength":1,"description":"The quantity moved, in the token's base units."},"fees":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTransactionConfirmationFee"},"description":"The fee lines charged for this movement, with VAT kept on each fee type."},"blockNumber":{"type":"string","minLength":1,"description":"The block that holds the movement. It is at or below the chain's final indexed block."},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"occurredAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","chainId","account","kind","direction","counterparty","token","symbol","decimals","amount","fees","blockNumber","logIndex","transactionHash","occurredAt"],"additionalProperties":false,"description":"Confirms one final token movement on one of the caller's wallets. A movement the chain can still undo has no confirmation."},"ReportingTransactionConfirmationFee":{"type":"object","properties":{"side":{"type":"string","enum":["buy","sell"]},"feeType":{"type":"string","minLength":1},"amount":{"type":"string","minLength":1},"vatAmount":{"type":"string","minLength":1}},"required":["side","feeType","amount","vatAmount"],"additionalProperties":false},"CursorPageQuery_1":{"type":"object","properties":{"offset":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"limit":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"cursor":{"type":"string","description":"Opaque cursor from `meta.nextCursor` of the previous page. Send it with the same `sort` and filters to read the next page without an offset scan. When present, `page[offset]` is ignored."}},"additionalProperties":false,"description":"JSON:API page window. Send `page[offset]` (first item index, from 0; use `page[cursor]` to read deep pages efficiently) and `page[limit]` (page size, 1-200, default 50). Send `page[cursor]` with the `meta.nextCursor` of the previous page to read the next one. The response `links` object repeats the offset parameters.","examples":[{"offset":0,"limit":50}]},"ReportingScheduledUpgrade":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"state":{"type":"string","enum":["scheduled","cancelled","applied"]},"emergency":{"type":"boolean","description":"True when the upgrade bypasses the notice period. The custodians are still notified at once."},"reason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Why an emergency upgrade cannot wait."},"scheduledAt":{"$ref":"#/components/schemas/TimestampEncoded"},"earliestApplyAt":{"$ref":"#/components/schemas/TimestampEncoded"},"notifiedCustodians":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many custodian organisations were notified when the upgrade was scheduled."},"appliedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","chainId","systemAddress","factoryAddress","state","emergency","reason","scheduledAt","earliestApplyAt","notifiedCustodians","appliedAt"],"additionalProperties":false,"description":"A token factory upgrade the system's organisation scheduled. The system migration refuses to upgrade a factory that holds custodied tokens before this record's notice ends."},"ReportingScheduledUpgradeCreate":{"type":"object","properties":{"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"emergency":{"type":"boolean"},"reason":{"type":"string","minLength":1,"description":"Required for an emergency upgrade: why it cannot wait."}},"required":["factoryAddress"],"additionalProperties":false},"ReportingCustodianWatchSubscription":{"type":"object","properties":{"upgradeNoticeBusinessDays":{"type":"integer","minimum":0,"maximum":60,"description":"Business days (Monday to Friday, UTC) of notice a factory upgrade affecting tokens this organisation custodies must give before it may run."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["upgradeNoticeBusinessDays","createdAt","updatedAt"],"additionalProperties":false,"description":"The organisation's custodian watch: it is notified of privileged actions by wallets outside it on tokens it custodies, and of upgrades scheduled for them."},"ReportingCustodianWatchSubscriptionReplace":{"type":"object","properties":{"upgradeNoticeBusinessDays":{"type":"integer","minimum":0,"maximum":60}},"additionalProperties":false},"ReportingMirrorSettlementFeedReplay":{"type":"object","properties":{"feed":{"$ref":"#/components/schemas/ReportingMirrorSettlementFeedVersion"},"identical":{"type":"boolean","description":"True when the replayed file equals the stored latest version byte for byte."}},"required":["feed","identical"],"additionalProperties":false},"ReportingMirrorSettlementFeedVersion":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"valueDate":{"$ref":"#/components/schemas/ReportingCalendarDate"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 for the first file of the date, counting up when its movements change."},"contentDigest":{"type":"string","minLength":1,"description":"The SHA-256 of the file, as hex."},"movementCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["tokenAddress","valueDate","version","contentDigest","movementCount","createdAt"],"additionalProperties":false},"ReportingMirrorReconciliationRun":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"runDate":{"$ref":"#/components/schemas/ReportingCalendarDate"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 for the first run of the date, counting up when its inputs change."},"outcome":{"$ref":"#/components/schemas/ReportingMirrorReconciliationOutcome"},"cutoffAt":{"$ref":"#/components/schemas/TimestampEncoded"},"recordBlock":{"type":"string","description":"The last final block at the cut-off, as a decimal string."},"statementId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"statementVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"matchedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totals":{"$ref":"#/components/schemas/ReportingMirrorReconciliationTotals"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/ReportingMirrorReconciliationLine"},"description":"Every investor line that does not match."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","tokenAddress","runDate","version","outcome","cutoffAt","recordBlock","statementId","statementVersion","matchedCount","totals","lines","createdAt"],"additionalProperties":false},"ReportingMirrorReconciliationLine":{"type":"object","properties":{"holderWallet":{"$ref":"#/components/schemas/EvmAddress"},"isin":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The ISIN the line is for, when the token records one."},"statementQuantity":{"anyOf":[{"type":"string","description":"A quantity in the security's units, as a decimal string."},{"type":"null"}]},"onChainQuantity":{"anyOf":[{"type":"string","description":"A quantity in the security's units, as a decimal string."},{"type":"null"}]},"difference":{"type":"string","description":"The on-chain quantity minus the statement quantity."},"outcome":{"$ref":"#/components/schemas/ReportingMirrorReconciliationLineOutcome"}},"required":["holderWallet","isin","statementQuantity","onChainQuantity","difference","outcome"],"additionalProperties":false},"ReportingMirrorReconciliationLineOutcome":{"type":"string","enum":["quantity-mismatch","missing-on-chain","missing-in-statement"]},"ReportingMirrorReconciliationTotals":{"type":"object","properties":{"statementTotal":{"anyOf":[{"type":"string","description":"A quantity in the security's units, as a decimal string."},{"type":"null"}]},"onChainTotal":{"type":"string","description":"A quantity in the security's units, as a decimal string."},"totalSupply":{"type":"string","description":"A quantity in the security's units, as a decimal string."},"collateralClaim":{"anyOf":[{"type":"string","description":"A quantity in the security's units, as a decimal string."},{"type":"null"}],"description":"The trusted collateral claim held at the cut-off, or null when the token has none."},"supplyMatches":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the statement total equals the supply. Null without a statement."},"collateralMatches":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the statement total equals the collateral claim. Null without a statement or a claim."}},"required":["statementTotal","onChainTotal","totalSupply","collateralClaim","supplyMatches","collateralMatches"],"additionalProperties":false},"ReportingMirrorReconciliationOutcome":{"type":"string","enum":["clear","break","no-statement"],"description":"clear: every investor position, the supply and the collateral claim match the statement. break: at least one does not. no-statement: no statement of the date was stored by the cut-off; never clear."},"ReportingMirrorReconciliationRunSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"runDate":{"$ref":"#/components/schemas/ReportingCalendarDate"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 for the first run of the date, counting up when its inputs change."},"outcome":{"$ref":"#/components/schemas/ReportingMirrorReconciliationOutcome"},"cutoffAt":{"$ref":"#/components/schemas/TimestampEncoded"},"recordBlock":{"type":"string","description":"The last final block at the cut-off, as a decimal string."},"statementId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"statementVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"matchedCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totals":{"$ref":"#/components/schemas/ReportingMirrorReconciliationTotals"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"breakCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of investor lines that do not match."}},"required":["id","tokenAddress","runDate","version","outcome","cutoffAt","recordBlock","statementId","statementVersion","matchedCount","totals","createdAt","breakCount"],"additionalProperties":false},"ReportingMirrorStatementVersion":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"statementDate":{"$ref":"#/components/schemas/ReportingCalendarDate"},"version":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 for the first statement of the date, counting up per upload."},"profile":{"$ref":"#/components/schemas/ReportingStatementProfile_1"},"contentDigest":{"type":"string","minLength":1,"description":"The SHA-256 of the statement text, as hex."},"rowCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of investor rows in the statement."},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","tokenAddress","statementDate","version","profile","contentDigest","rowCount","uploadedAt"],"additionalProperties":false},"ReportingStatementProfile_1":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The name operators know this statement layout by."},"delimiter":{"type":"string","enum":[",",";","\t"],"description":"The character between the columns of the CSV file."},"walletColumn":{"type":"string","minLength":1,"description":"The header of the column naming the investor's wallet."},"quantityColumn":{"type":"string","minLength":1,"description":"The header of the column holding the quantity, in the security's own units."},"isinColumn":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The header of the column holding the ISIN. Null when the statement has no such column."}},"required":["name","delimiter","walletColumn","quantityColumn","isinColumn"],"additionalProperties":false,"description":"The profile the statement was read with."},"ReportingMirrorStatementUploadResult":{"anyOf":[{"$ref":"#/components/schemas/ReportingMirrorStatementStored"},{"$ref":"#/components/schemas/ReportingMirrorStatementRejected"}],"discriminator":{"propertyName":"_tag","mapping":{"Stored":"#/components/schemas/ReportingMirrorStatementStored","Rejected":"#/components/schemas/ReportingMirrorStatementRejected"}}},"ReportingMirrorStatementRejected":{"type":"object","properties":{"_tag":{"type":"string","enum":["Rejected"]},"refusal":{"type":"string","enum":["empty-file","unterminated-quote","malformed-quote","missing-column","invalid-wallet","invalid-quantity","duplicate-wallet","isin-mismatch"]},"line":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The line of the file the problem is on, counting the header as line 1."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The value that was refused."},"column":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The missing column, for missing-column."}},"required":["_tag","refusal","line","value","column"],"additionalProperties":false,"description":"The file could not be read with the token's profile; no version was stored."},"ReportingMirrorStatementStored":{"type":"object","properties":{"_tag":{"type":"string","enum":["Stored"]},"statement":{"$ref":"#/components/schemas/ReportingMirrorStatementVersion"},"created":{"type":"boolean","description":"False when the text equals the date's latest version, which then stands and no version is added."}},"required":["_tag","statement","created"],"additionalProperties":false},"ReportingMirrorStatementUpload":{"type":"object","properties":{"statementDate":{"$ref":"#/components/schemas/ReportingCalendarDate_1"},"fileData":{"type":"string","minLength":1,"maxLength":8000000,"description":"The statement as CSV text, in the layout the token's profile names."}},"required":["statementDate","fileData"],"additionalProperties":false},"ReportingCalendarDate_1":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"ReportingMirrorReconciliationConfiguration":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"profile":{"$ref":"#/components/schemas/ReportingStatementProfile"},"cutoff":{"anyOf":[{"$ref":"#/components/schemas/ReportingMirrorReconciliationCutoff"},{"type":"null"}],"description":"The local time and IANA timezone the daily run reads balances at. Null until an operator sets it."},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When this configuration last changed."}},"required":["tokenAddress","profile","cutoff","updatedAt"],"additionalProperties":false,"description":"How a mirror token's position statements are read. A token nobody configured reads the default profile and has no cut-off."},"ReportingMirrorReconciliationCutoff":{"type":"object","properties":{"time":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$","description":"The local time of day, as HH:mm."},"timeZone":{"type":"string"}},"required":["time","timeZone"],"additionalProperties":false},"ReportingStatementProfile":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The name operators know this statement layout by."},"delimiter":{"type":"string","enum":[",",";","\t"],"description":"The character between the columns of the CSV file."},"walletColumn":{"type":"string","minLength":1,"description":"The header of the column naming the investor's wallet."},"quantityColumn":{"type":"string","minLength":1,"description":"The header of the column holding the quantity, in the security's own units."},"isinColumn":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The header of the column holding the ISIN. Null when the statement has no such column."}},"required":["name","delimiter","walletColumn","quantityColumn","isinColumn"],"additionalProperties":false,"description":"How to read a CSV position statement from a custodian or Registrar."},"ReportingMirrorReconciliationConfigurationReplace":{"type":"object","properties":{"profile":{"$ref":"#/components/schemas/ReportingStatementProfile"},"cutoff":{"$ref":"#/components/schemas/ReportingMirrorReconciliationCutoff"}},"required":["profile","cutoff"],"additionalProperties":false},"ReportingBeneficialOwnerRegister":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recordBlock":{"type":"string","minLength":1},"totalSupply":{"type":"string","minLength":1},"sharesHeld":{"type":"string","minLength":1,"description":"The sum of every row's quantity."},"reconciled":{"type":"boolean","description":"True when the rows add up to the total supply."},"ownerCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of rows: direct and stale wallets plus declared beneficial owners. Owners of different nominees are counted separately."},"lookedThroughWallets":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Wallets split into their declared beneficial owners."},"staleWallets":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Wallets whose newest declaration no longer adds up."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/ReportingBeneficialOwnerRegisterRow"},"description":"Sorted by holder wallet, then owner reference."},"dividend":{"anyOf":[{"$ref":"#/components/schemas/ReportingBeneficialOwnerDividend"},{"type":"null"}],"description":"Set when the read names a dividend, and null otherwise."}},"required":["chainId","tokenAddress","decimals","recordBlock","totalSupply","sharesHeld","reconciled","ownerCount","lookedThroughWallets","staleWallets","rows","dividend"],"additionalProperties":false,"description":"The holder register at a record block, looked through each nominee wallet to the beneficial owners it declared."},"ReportingBeneficialOwnerDividend":{"type":"object","properties":{"dividendId":{"$ref":"#/components/schemas/ReportingDividendIdEncoded"},"featureAddress":{"$ref":"#/components/schemas/EvmAddress"},"amountPerShare":{"type":"string","minLength":1,"description":"The payout per whole unit of the security, in the payout asset's own units."},"payoutAsset":{"$ref":"#/components/schemas/EvmAddress"},"payoutDecimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recordDate":{"$ref":"#/components/schemas/TimestampEncoded"},"nominees":{"type":"array","items":{"$ref":"#/components/schemas/ReportingBeneficialOwnerDividendNominee"},"description":"Each nominee wallet the register split into its declared owners, in wallet order. A direct or stale wallet is not listed: it is paid and reported whole."}},"required":["dividendId","featureAddress","amountPerShare","payoutAsset","payoutDecimals","recordDate","nominees"],"additionalProperties":false,"description":"The dividend the register's entitlements are for. Each owner's share applies the dividend's own per-unit rule to the owner's units at the record block. The nominee is paid on chain as one leaf, so the payout, the Merkle root and the approval fingerprint are the ones the dividend already carries."},"ReportingBeneficialOwnerDividendNominee":{"type":"object","properties":{"holderWallet":{"$ref":"#/components/schemas/EvmAddress"},"declarationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"entitlement":{"type":"string","minLength":1,"description":"What the dividend pays the nominee wallet on chain, as one Merkle leaf, in the payout asset's own units."},"allocated":{"type":"string","minLength":1,"description":"The sum of the declared owners' shares."},"unallocated":{"type":"string","minLength":1,"description":"The entitlement no owner's share covers: the rounding remainder of applying the dividend's per-unit rule to each owner's units instead of to the wallet's balance. The wallet is still paid the whole entitlement. allocated plus unallocated is always the entitlement."}},"required":["holderWallet","declarationId","entitlement","allocated","unallocated"],"additionalProperties":false},"ReportingDividendIdEncoded":{"type":"string","pattern":"^-?\\d+$"},"ReportingBeneficialOwnerRegisterRow":{"type":"object","properties":{"holderWallet":{"$ref":"#/components/schemas/EvmAddress"},"basis":{"type":"string","enum":["direct","declared","stale"],"description":"direct: the wallet holds for itself, as far as DALP knows. declared: one beneficial owner of the wallet, from its current declaration. stale: the wallet's newest declaration no longer adds up to its balance, so the wallet is listed whole."},"ownerReference":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The nominee's reference for the beneficial owner. Null for direct and stale rows."},"jurisdiction":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The beneficial owner's ISO 3166-1 alpha-2 country. Null for direct and stale rows."},"quantity":{"type":"string","minLength":1,"description":"The units, in the security's own units."},"legalName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The beneficial owner's legal name. Null for direct and stale rows and for declarations filed without identities."},"idType":{"anyOf":[{"type":"string","enum":["passport","national_id","drivers_license","tax_id","company_registration","lei"]},{"type":"null"}],"description":"The kind of ID document or registration number in idNumber. Null when the declaration gave none."},"idNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The beneficial owner's ID number. Null when the declaration gave none."},"investorCategory":{"anyOf":[{"type":"string","enum":["retail","professional","institutional","eligible_counterparty"]},{"type":"null"}],"description":"The investor category the nominee gave for the owner. Null when the declaration gave none."},"declarationId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"declaredAtBlock":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The block of the declaration the row comes from, for declared and stale rows."},"entitlement":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The dividend entitlement of the row, in the payout asset's own units, when the read names a dividend. Null otherwise. A declared row holds the owner's share of the nominee wallet's entitlement. A direct or stale row holds the wallet's own entitlement, which is the amount the dividend pays that wallet on chain."}},"required":["holderWallet","basis","ownerReference","jurisdiction","quantity","legalName","idType","idNumber","investorCategory","declarationId","declaredAtBlock","entitlement"],"additionalProperties":false},"PersistableBlockHeightEncoded":{"type":"string","pattern":"^-?\\d+$"},"ReportingBeneficialOwnerDeclarationResult":{"anyOf":[{"$ref":"#/components/schemas/ReportingBeneficialOwnerDeclared"},{"$ref":"#/components/schemas/ReportingBeneficialOwnerDeclarationRejected"}],"discriminator":{"propertyName":"_tag","mapping":{"Declared":"#/components/schemas/ReportingBeneficialOwnerDeclared","Rejected":"#/components/schemas/ReportingBeneficialOwnerDeclarationRejected"}}},"ReportingBeneficialOwnerDeclarationRejected":{"type":"object","properties":{"_tag":{"type":"string","enum":["Rejected"]},"refusal":{"type":"string","enum":["empty-file","too-many-lines","unterminated-quote","malformed-quote","missing-column","invalid-owner-reference","invalid-jurisdiction","invalid-quantity","invalid-legal-name","invalid-id-type","missing-id-type","missing-id-number","invalid-id-number","invalid-investor-category","duplicate-owner-reference","total-mismatch","already-declared"]},"line":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The line of the file the problem is on, counting the header as line 1."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The value that was refused."},"column":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The missing column, for missing-column. The column of the refused value, for the legal name, ID and investor category refusals."},"declaredTotal":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The units the file lists, for total-mismatch."},"onChainBalance":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The nominee wallet's balance at the block, for total-mismatch."}},"required":["_tag","refusal","line","value","column","declaredTotal","onChainBalance"],"additionalProperties":false,"description":"The declaration was not stored. total-mismatch: the units listed differ from the wallet's balance at the block. already-declared: a different declaration for this wallet at this block is stored; declare at a later block."},"ReportingBeneficialOwnerDeclared":{"type":"object","properties":{"_tag":{"type":"string","enum":["Declared"]},"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"nomineeWallet":{"$ref":"#/components/schemas/EvmAddress"},"asOfBlock":{"type":"string","minLength":1,"description":"The block the declaration describes."},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"ownerCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of beneficial owners the declaration lists."},"withIdentities":{"type":"boolean","description":"True when the file carried each owner's legal name and the identity columns, stored encrypted."},"total":{"type":"string","minLength":1,"description":"The units the declaration lists, equal to the nominee wallet's balance at the block."},"filedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["_tag","id","chainId","tokenAddress","nomineeWallet","asOfBlock","decimals","ownerCount","withIdentities","total","filedAt"],"additionalProperties":false},"ReportingBeneficialOwnerDeclarationCreate":{"type":"object","properties":{"nomineeWallet":{"$ref":"#/components/schemas/EvmAddress"},"atBlock":{"$ref":"#/components/schemas/PersistableBlockHeightEncoded"},"fileData":{"type":"string","minLength":1,"description":"The declaration as CSV text with the header ownerReference,jurisdiction,quantity: one row per beneficial owner, with the nominee's own reference for the owner, the owner's ISO 3166-1 alpha-2 country, and the units held for the owner in the security's own units. At most 5000 rows. Optional columns legalName, idType, idNumber and investorCategory carry each owner's identity: when the header has any of them it must have legalName, and every row needs a legalName (at most 200 characters). idType (passport, national_id, drivers_license, tax_id, company_registration or lei) and idNumber (at most 64 printable ASCII characters) go together; investorCategory is retail, professional, institutional or eligible_counterparty. The identity columns are stored encrypted and only reporting readers can read them back."}},"required":["nomineeWallet","fileData"],"additionalProperties":false},"ReportingShareholderListDeliverySummary_1":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"recordBlock":{"type":"string","minLength":1},"trigger":{"type":"string","enum":["auction-settled","scheduled","month-end","correction"]},"ownershipBasis":{"type":"string","enum":["on-chain-register"]},"supersedesId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"supersededById":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"tradingDay":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"correctionReason":{"anyOf":[{"type":"string","enum":["bust"]},{"type":"null"}]},"status":{"type":"string","enum":["pending","delivered","refused"]},"requestedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"holderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"refusal":{"anyOf":[{"type":"string","enum":["feature-not-attached","feature-detached","enablement-after-record-block","history-incomplete","security-not-found","not-issuer","file-unwritable","chain-read-invalid","storage-refused"]},{"type":"null"}]},"notice":{"type":"string","enum":["pending","sent","not-configured","failed"]},"noticeAttempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"parts":{"anyOf":[{"type":"object","properties":{"csv":{"type":"object","properties":{"objectKey":{"type":"string"},"digest":{"type":"string"},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["objectKey","digest","contentLength"],"additionalProperties":false},"xlsx":{"type":"object","properties":{"objectKey":{"type":"string"},"digest":{"type":"string"},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["objectKey","digest","contentLength"],"additionalProperties":false},"pdf":{"type":"object","properties":{"objectKey":{"type":"string"},"digest":{"type":"string"},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["objectKey","digest","contentLength"],"additionalProperties":false}},"required":["csv","xlsx","pdf"],"additionalProperties":false},{"type":"null"}]}},"required":["id","chainId","tokenAddress","recordBlock","trigger","ownershipBasis","supersedesId","supersededById","tradingDay","correctionReason","status","requestedBy","attempts","lastError","createdAt","settledAt","holderCount","refusal","notice","noticeAttempts","parts"],"additionalProperties":false},"ReportingShareholderListDeliverySummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"recordBlock":{"type":"string","minLength":1},"trigger":{"type":"string","enum":["auction-settled","scheduled","month-end","correction"]},"ownershipBasis":{"type":"string","enum":["on-chain-register"]},"supersedesId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"supersededById":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"tradingDay":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"correctionReason":{"anyOf":[{"type":"string","enum":["bust"]},{"type":"null"}]},"status":{"type":"string","enum":["pending","delivered","refused"]},"requestedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"holderCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"refusal":{"anyOf":[{"type":"string","enum":["feature-not-attached","feature-detached","enablement-after-record-block","history-incomplete","security-not-found","not-issuer","file-unwritable","chain-read-invalid","storage-refused"]},{"type":"null"}]},"notice":{"type":"string","enum":["pending","sent","not-configured","failed"]},"noticeAttempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"parts":{"anyOf":[{"type":"object","properties":{"csv":{"type":"object","properties":{"objectKey":{"type":"string"},"digest":{"type":"string"},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["objectKey","digest","contentLength"],"additionalProperties":false},"xlsx":{"type":"object","properties":{"objectKey":{"type":"string"},"digest":{"type":"string"},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["objectKey","digest","contentLength"],"additionalProperties":false},"pdf":{"type":"object","properties":{"objectKey":{"type":"string"},"digest":{"type":"string"},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["objectKey","digest","contentLength"],"additionalProperties":false}},"required":["csv","xlsx","pdf"],"additionalProperties":false},{"type":"null"}]}},"required":["id","chainId","tokenAddress","recordBlock","trigger","ownershipBasis","supersedesId","supersededById","tradingDay","correctionReason","status","requestedBy","attempts","lastError","createdAt","settledAt","holderCount","refusal","notice","noticeAttempts","parts"],"additionalProperties":false},"ReportingShareholderListDeliveryCreate":{"type":"object","properties":{"recordBlock":{"$ref":"#/components/schemas/PersistableBlockHeightEncoded"}},"required":["recordBlock"],"additionalProperties":false},"ReportingRegistrarReconciliationResult":{"anyOf":[{"$ref":"#/components/schemas/ReportingRegistrarReconciled"},{"$ref":"#/components/schemas/ReportingRegistrarFileRejected"}],"discriminator":{"propertyName":"_tag","mapping":{"Reconciled":"#/components/schemas/ReportingRegistrarReconciled","Rejected":"#/components/schemas/ReportingRegistrarFileRejected"}}},"ReportingRegistrarFileRejected":{"type":"object","properties":{"_tag":{"type":"string","enum":["Rejected"]},"refusal":{"type":"string","enum":["empty-file","unterminated-quote","malformed-quote","missing-column","invalid-wallet","invalid-quantity","duplicate-wallet"]},"line":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The line of the file the problem is on, counting the header as line 1."},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The value that was refused."},"column":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The missing column, for missing-column."}},"required":["_tag","refusal","line","value","column"],"additionalProperties":false,"description":"The file could not be read as a Registrar file; nothing was compared."},"ReportingRegistrarReconciled":{"type":"object","properties":{"_tag":{"type":"string","enum":["Reconciled"]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"recordBlock":{"type":"string","minLength":1},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"counts":{"$ref":"#/components/schemas/ReportingRegistrarRowCounts"},"registrarTotal":{"type":"string","minLength":1,"description":"The sum of the quantities in the Registrar file."},"onChainTotal":{"type":"string","minLength":1,"description":"The sum of every holder's balance at the record block."},"totalSupply":{"type":"string","minLength":1,"description":"The security's total supply at the record block."},"reconciled":{"type":"boolean","description":"True when every row matched and both totals equal the total supply."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegistrarRowResult"},"description":"One entry per wallet in the file or on chain, the file's rows first in file order, then the wallets missing in the register."}},"required":["_tag","chainId","tokenAddress","recordBlock","decimals","counts","registrarTotal","onChainTotal","totalSupply","reconciled","rows"],"additionalProperties":false},"ReportingRegistrarRowResult":{"type":"object","properties":{"holderWallet":{"$ref":"#/components/schemas/EvmAddress"},"outcome":{"type":"string","enum":["matched","quantity-mismatch","missing-on-chain","missing-in-register"]},"registrarQuantity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The quantity the Registrar file lists for the wallet, in the security's own units. Null when the file does not list it."},"onChainQuantity":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The balance the wallet holds on chain at the record block. Null when the wallet holds nothing."}},"required":["holderWallet","outcome","registrarQuantity","onChainQuantity"],"additionalProperties":false},"ReportingRegistrarRowCounts":{"type":"object","properties":{"matched":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"quantityMismatch":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"missingOnChain":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"missingInRegister":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["matched","quantityMismatch","missingOnChain","missingInRegister"],"additionalProperties":false},"ReportingShareholderListRegistrarReconciliationCreate":{"type":"object","properties":{"atBlock":{"$ref":"#/components/schemas/PersistableBlockHeightEncoded"},"profile":{"anyOf":[{"type":"string","enum":["dalp-registrar-v1"]}]},"fileData":{"type":"string","minLength":1,"description":"The Registrar file as CSV text, with a header row naming at least holderWallet and quantity. Quantities are in the security's own units."}},"required":["fileData"],"additionalProperties":false},"ReportingShareholderListRecordBlock":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"recordBlock":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The newest final block whose time is at or before the time asked for. A time after the newest final block gives the newest final block. Null when the network has no block that early."},"recordedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The time of the record block, as the chain recorded it. Null when there is no record block."},"finalBlock":{"type":"string","minLength":1,"description":"The newest final block the platform has indexed."}},"required":["chainId","at","recordBlock","recordedAt","finalBlock"],"additionalProperties":false,"description":"The block a shareholder list reads for a given time on one network."},"ReportingShareholderListSummary":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"recordBlock":{"type":"string","minLength":1,"description":"The block the balances are read at. Every holder's balance is the one standing after this block."},"finalBlock":{"type":"string","minLength":1,"description":"The newest final block the platform has indexed. The record block is never later than this one."},"recordedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"balancesSince":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The time of the newest change to this security's balances at or before the record block. The balances have stood unchanged since then. Null when no balance of the security has changed up to the record block."},"holderCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The number of wallets holding a balance above zero."},"sharesHeld":{"type":"string","minLength":1,"description":"The sum of every holder's balance, in the security's own units."},"totalSupply":{"type":"string","minLength":1,"description":"The security's total supply at the record block, in the security's own units."},"reconciled":{"type":"boolean","description":"True when the holders' balances add up to the total supply. False means a holder is missing from the list; do not send it."},"ownershipBasis":{"type":"string","enum":["on-chain-register"],"description":"Whose holdings the list counts. on-chain-register: every wallet holding the security at the record block, as registered on chain, with no look-through of custodian wallets."},"formats":{"type":"array","items":{"type":"string","enum":["csv","xlsx","pdf"]}}},"required":["chainId","tokenAddress","name","symbol","decimals","recordBlock","finalBlock","recordedAt","balancesSince","holderCount","sharesHeld","totalSupply","reconciled","ownershipBasis","formats"],"additionalProperties":false,"description":"One security's shareholder list at a record block: who holds it, how much, and whether it adds up."},"ReportingInvestorStatement":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"account":{"$ref":"#/components/schemas/EvmAddress"},"periodStart":{"$ref":"#/components/schemas/TimestampEncoded"},"periodEnd":{"$ref":"#/components/schemas/TimestampEncoded"},"openingBlock":{"type":"string","minLength":1,"description":"The last indexed block before the period. Opening balances are read at this block."},"closingBlock":{"type":"string","minLength":1,"description":"The last indexed block inside the period. Closing balances are read at this block."},"reconciled":{"type":"boolean","description":"True when, for every security whose balances the platform can read, the opening balance plus the movements listed equals the closing balance. A registered external token that the indexer has stopped following is left out of this check. False means the statement is incomplete and should not be relied on."},"formats":{"type":"array","items":{"type":"string","enum":["csv","xlsx","pdf"]}},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","chainId","account","periodStart","periodEnd","openingBlock","closingBlock","reconciled","formats","createdAt"],"additionalProperties":false,"description":"One statement for one holder wallet on one chain."},"ReportingStatementPolicyWrite":{"type":"object","properties":{"cadence":{"type":"string","enum":["daily","weekly","monthly","quarterly"]},"sections":{"type":"array","prefixItems":[{"type":"string","enum":["positions","portfolio","movements","pnl","fees","deposits-withdrawals","corporate-actions"]}],"minItems":1,"items":{"type":"string","enum":["positions","portfolio","movements","pnl","fees","deposits-withdrawals","corporate-actions"]}},"formats":{"type":"array","prefixItems":[{"type":"string","enum":["csv","xlsx","pdf"]}],"minItems":1,"items":{"type":"string","enum":["csv","xlsx","pdf"]}},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["cadence","sections","formats"],"additionalProperties":false},"ChangeReasonEncoded":{"type":"string","description":"Why the caller makes this change. Stored with the audit trail entry and shown as its reason. At most 1,000 characters, with no control or bidirectional control characters."},"ReportingInvestorStatementDownload":{"type":"object","properties":{"statementId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"format":{"type":"string","enum":["csv","xlsx","pdf"]},"downloadUrl":{"type":"string","minLength":1,"description":"A short-lived URL for the file itself."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"digest":{"type":"string","minLength":1,"description":"The SHA-256 of the bytes behind `downloadUrl`."},"contentLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"mimeType":{"type":"string","minLength":1}},"required":["statementId","format","downloadUrl","expiresAt","digest","contentLength","mimeType"],"additionalProperties":false,"description":"A short-lived download for one edition of an investor statement."},"ReportingCapabilities":{"type":"object","properties":{"reportKinds":{"type":"array","items":{"type":"string","enum":["holder-register","custody-positions","client-asset-summary","safeguarding","dormant-accounts","transfer-journal","trade-journal","settlement-and-fails","corporate-actions","corporate-action-entitlements","ca-payments","redemptions","distribution-waterfall","reserve-and-asset-backing","fees-and-charges","fee-period-closes","compliance-decision-log","investor-eligibility-register","operator-action-trail","privileged-actions","security-incidents","wallet-changes","venue-daily-statistics","break-ageing","mirror-reconciliation","venue-orders","venue-matched-trades","venue-audit-log","venue-market-watch","venue-holdings","venue-trading-parameters","venue-new-participants","service-availability","frozen-assets","pending-failed-transactions","approvals","gas-wallets","wallet-register","incoming-transfers","outgoing-transfers","whitelist","daily-transactions","regulator-reconciliation","regulator-messages","regulator-monitoring","bank-rail-reconciliation"]}},"reportFields":{"type":"array","items":{"type":"object","properties":{"reportKind":{"type":"string","enum":["holder-register","custody-positions","client-asset-summary","safeguarding","dormant-accounts","transfer-journal","trade-journal","settlement-and-fails","corporate-actions","corporate-action-entitlements","ca-payments","redemptions","distribution-waterfall","reserve-and-asset-backing","fees-and-charges","fee-period-closes","compliance-decision-log","investor-eligibility-register","operator-action-trail","privileged-actions","security-incidents","wallet-changes","venue-daily-statistics","break-ageing","mirror-reconciliation","venue-orders","venue-matched-trades","venue-audit-log","venue-market-watch","venue-holdings","venue-trading-parameters","venue-new-participants","service-availability","frozen-assets","pending-failed-transactions","approvals","gas-wallets","wallet-register","incoming-transfers","outgoing-transfers","whitelist","daily-transactions","regulator-reconciliation","regulator-messages","regulator-monitoring","bank-rail-reconciliation"]},"fields":{"type":"array","items":{"type":"string","minLength":1}}},"required":["reportKind","fields"],"additionalProperties":false}},"enabled":{"type":"boolean"},"surfaces":{"$ref":"#/components/schemas/ReportingSurfaces"}},"required":["reportKinds","reportFields","enabled","surfaces"],"additionalProperties":false},"ReportingSurfaces":{"type":"object","properties":{"anchors":{"type":"boolean"},"filings":{"type":"boolean"},"obligations":{"type":"boolean"},"calendar":{"type":"boolean"},"trail":{"type":"boolean"},"dailyTransactions":{"type":"boolean"}},"required":["anchors","filings","obligations","calendar","trail","dailyTransactions"],"additionalProperties":false,"description":"Which reporting surfaces this deployment serves."},"ReportingFrozenTimestampEncoded":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string","description":"Epoch as a digit string, or a readable datetime.","format":"timestamp"}]},"ReportingTrailEntry":{"type":"object","properties":{"id":{"type":"string","minLength":1},"requestId":{"anyOf":[{"type":"string"},{"type":"null"}]},"kind":{"type":"string","enum":["mutation","sensitive-read"]},"actorUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"roleAtTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"authSource":{"anyOf":[{"type":"string"},{"type":"null"}]},"apiKeyId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The API key the request authenticated with, or null for a browser session."},"impersonatedByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The platform administrator who impersonated the actor, or null when the actor acted as themselves."},"route":{"type":"string","minLength":1},"method":{"type":"string","minLength":1},"pathTemplate":{"type":"string"},"target":{"anyOf":[{"type":"string"},{"type":"null"}]},"targetName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The display name of the targeted resource as the caller may read it: the token, venue, add-on or user name, or the symbol of the token a targeted sale sells; null when the target has no name or the caller may not read it."},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"actorChannel":{"type":"string","enum":["admin","agent","participant","system"]},"before":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]},"after":{"anyOf":[{"$ref":"#/components/schemas/JsonValue"},{"type":"null"}]},"makerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The user who made the change: the proposer of the linked approval when a checker decided it, otherwise the actor."},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The user who approved or rejected the linked maker-checker approval, or null when no checker acted."},"approvalId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The maker-checker approval this entry proposed or decided: a trading-venue approval or a filing submission, or null."},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"finishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"outcome":{"type":"string","enum":["pending","success","failure"]},"status":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"transactions":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTrailTransaction"},"description":"The on-chain transactions the audited request queued, in the order they were queued."},"transactionOutcome":{"anyOf":[{"type":"string","enum":["queued","confirmed","reverted"]},{"type":"null"}],"description":"Whether the chain applied the audited change: reverted when any transaction did not take effect, queued while any is still open, confirmed when all completed, null when the request queued none or the queue no longer holds one of them."}},"required":["id","requestId","kind","actorUserId","roleAtTime","organizationId","participantId","authSource","apiKeyId","impersonatedByUserId","route","method","pathTemplate","target","targetName","reason","actorChannel","before","after","makerUserId","checkerUserId","approvalId","startedAt","finishedAt","outcome","status","transactions","transactionOutcome"],"additionalProperties":false},"ReportingTrailTransaction":{"type":"object","properties":{"transactionId":{"type":"string","minLength":1,"description":"The transaction request the audited write queued."},"status":{"anyOf":[{"$ref":"#/components/schemas/TransactionRequestState"},{"type":"null"}],"description":"The queue state of the transaction request, or null when the request is no longer readable."},"transactionHash":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The on-chain transaction hash once the transaction was broadcast, otherwise null."},"revertReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the transaction did not take effect, when the chain or the queue reported a reason."},"outcome":{"type":"string","enum":["queued","confirmed","reverted"]}},"required":["transactionId","status","transactionHash","revertReason","outcome"],"additionalProperties":false},"TransactionRequestState":{"type":"string","enum":["RECEIVED","QUEUED","AWAITING_WORKFLOW","PREPARING","PENDING_APPROVAL","SIGNING","BROADCASTING","CONFIRMING","COMPLETED","FAILED","DEAD_LETTER","CANCELLED"],"description":"Current state in the transaction request lifecycle"},"ReportingTrailAction":{"type":"object","properties":{"route":{"type":"string","minLength":1,"description":"The operation an audit trail entry in the window records, as the entry's `route` names it."}},"required":["route"],"additionalProperties":false},"ReportingAnchorWriteInput":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"subject":{"$ref":"#/components/schemas/EvmAddress"},"parts":{"type":"array","items":{"$ref":"#/components/schemas/ReportingAnchorVerificationPart"}},"documentType":{"type":"string","enum":["regulatory-filing","investor-report"],"description":"The coarse kind of document the entry declares. A closed set, never free text: it lands on a public chain forever."},"label":{"type":"string","minLength":1,"description":"A short human word for this kind of document. Free text, and the one field on this request that is: it is published permanently and publicly, so it is refused when it contains an organization identifier, or any character that could carry a path or a URL. Never a filing reference, a deal name or a counterparty.","examples":["Board resolution"]},"disclosureConfirmed":{"type":"boolean","description":"Confirmation that the caller understands the entry is permanent and public and can never be corrected, only superseded. Anything but `true` refuses."}},"required":["chainId","subject","parts","documentType","label","disclosureConfirmed"],"additionalProperties":false,"examples":[{"chainId":8453,"subject":"0x5c610E27CB09EcFDB3eFEE607E7dD133226D316c","parts":[{"digest":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","contentLength":1024}],"documentType":"regulatory-filing","label":"Board resolution","disclosureConfirmed":true}]},"ReportingAnchorVerificationPart":{"type":"object","properties":{"digest":{"type":"string","minLength":1,"description":"SHA-256 of this part's bytes exactly as received, as 64 hex characters with or without a `0x` prefix.","examples":["0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"]},"contentLength":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Length of this part in bytes. At most 4294967295, the ceiling one artifact part is written and read at.","examples":[1024]}},"required":["digest","contentLength"],"additionalProperties":false},"PersistableChainIdEncoded_1":{"type":"integer","maximum":2147483647,"exclusiveMinimum":0,"description":"EVM chain identifier.","examples":[11155111]},"ReportingDocumentAnchor":{"type":"object","properties":{"entryId":{"type":"string","minLength":1},"issuerAddress":{"type":"string"},"subjectAddress":{"type":"string"},"digest":{"type":"string"},"documentType":{"type":"string"},"label":{"type":"string"},"registryAddress":{"type":"string"},"transactionHash":{"type":"string"},"blockNumber":{"type":"string"},"anchoredAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["entryId","issuerAddress","subjectAddress","digest","documentType","label","registryAddress","transactionHash","blockNumber","anchoredAt"],"additionalProperties":false,"description":"One entry in a system's document anchor registry. `entryId` is the disambiguator: two filings of one organization can legitimately share a digest, and only the entry id separates them. `label` is a hint the issuer chose and is never the evidence; the digest is."},"ReportingAnchorVerificationInput":{"type":"object","properties":{"parts":{"type":"array","items":{"$ref":"#/components/schemas/ReportingAnchorVerificationPart"}},"issuer":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"}},"required":["parts","issuer"],"additionalProperties":false,"examples":[{"parts":[{"digest":"0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","contentLength":1024}],"issuer":"0x5c610E27CB09EcFDB3eFEE607E7dD133226D316c","chainId":8453}]},"ReportingAnchorPageLimitEncoded":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"PersistableChainIdEncoded":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"ReportingSubmission":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"filingPeriodId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"attemptSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"state":{"type":"string","enum":["queued","generating","generation_failed","discarded","generated","validating","blocked","ready_for_review","pending_approval","approved","submitted","acknowledged","unacknowledged","published","rejected","superseded"]},"actionType":{"type":"string","enum":["new","modify","correct","terminate","error","revive"]},"correctsSubmissionId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"artifactDigest":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}]},"rowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"makerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"approvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"ackReceiptReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"ackAuthorityTimestamp":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"publishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"publicationReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorState":{"type":"string","enum":["not_requested","pending","confirmed","unconfirmed"]},"anchorDigest":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}]},"anchorReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorEntryId":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorRegistryAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorChainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"anchoredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"anchorFindingAccepted":{"type":"boolean"},"anchorFindingAcceptedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"anchorFindingAcceptedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","filingPeriodId","organizationId","attemptSequence","state","actionType","correctsSubmissionId","artifactDigest","rowVersion","makerUserId","checkerUserId","approvedAt","submittedAt","ackReceiptReference","ackAuthorityTimestamp","publishedAt","publicationReference","anchorState","anchorDigest","anchorReference","anchorEntryId","anchorRegistryAddress","anchorChainId","anchoredAt","anchorFindingAccepted","anchorFindingAcceptedBy","anchorFindingAcceptedAt"],"additionalProperties":false},"ReportingTransactionReport":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"reportId":{"type":"string","minLength":1},"eventType":{"type":"string","enum":["trade","bust"]},"tradeId":{"type":"string","minLength":1},"messageType":{"type":"string","minLength":1},"body":{"type":"string","minLength":1},"sourceUpdatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"state":{"type":"string","enum":["queued","submitted","acknowledged","rejected"]},"attempt":{"type":"integer","minimum":0,"maximum":9007199254740991},"rejectionReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"sentAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"acknowledgedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"acknowledgementReference":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","organizationId","obligationVersionId","reportId","eventType","tradeId","messageType","body","sourceUpdatedAt","state","attempt","rejectionReason","sentAt","acknowledgedAt","acknowledgementReference"],"additionalProperties":false,"examples":[{"id":"0192f4a0-0000-7000-8000-000000000032","organizationId":"transaction-reporting-org","obligationVersionId":"0192f4a0-0000-7000-8000-000000000031","reportId":"trade-1:trade","eventType":"trade","tradeId":"trade-1","messageType":"AE","body":"35=AE|17=trade-1:trade|11=trade-1","sourceUpdatedAt":"2026-10-25T00:00:00.000Z","state":"queued","attempt":0,"rejectionReason":null,"sentAt":null,"acknowledgedAt":null,"acknowledgementReference":null}]},"ReportingTransactionReportTransition":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["resubmit"]},"source":{"type":"object","additionalProperties":{"type":"string"}}},"required":["transition","source"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["submit"]}},"required":["transition"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["acknowledge"]},"reference":{"type":"string","maxLength":256,"description":"The regulator's reference or the rejection reason. A blank value is decided by the transition, which refuses it with the refusal that names which of the two it needs, so the boundary does not answer a different error for it."}},"required":["transition","reference"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["reject"]},"reason":{"type":"string","maxLength":256,"description":"The regulator's reference or the rejection reason. A blank value is decided by the transition, which refuses it with the refusal that names which of the two it needs, so the boundary does not answer a different error for it."}},"required":["transition","reason"],"additionalProperties":false}],"description":"Correct and resubmit a rejected report, or record by hand what the regulator session would record: the report was filed, acknowledged with the regulator's reference, or rejected with its reason."},"ReportingTransactionReportingStatus":{"type":"object","properties":{"configured":{"type":"boolean"},"sessions":{"type":"array","items":{"$ref":"#/components/schemas/ReportingRegulatorSessionStatus"}},"queued":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"oldestQueuedAgeSeconds":{"type":"number"},"exceptions":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTransactionReportException"}}},"required":["configured","sessions","queued","oldestQueuedAgeSeconds","exceptions"],"additionalProperties":false,"description":"Whether a published trade-journal obligation of the organisation configures a regulator FIX session, its regulator FIX sessions, its queued transaction reports and the newest 50 unmatched regulator answers."},"ReportingTransactionReportException":{"type":"object","properties":{"id":{"type":"string"},"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"sessionKey":{"type":"string"},"reportId":{"anyOf":[{"type":"string"},{"type":"null"}]},"code":{"$ref":"#/components/schemas/ReportingTransactionReportExceptionCode"},"reason":{"type":"string"},"message":{"type":"string"},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","obligationVersionId","sessionKey","reportId","code","reason","message","receivedAt"],"additionalProperties":false,"description":"A regulator answer that matched no sent transaction report, kept for an operator to resolve."},"ReportingTransactionReportExceptionCode":{"type":"string","enum":["not-an-answer","unreadable","unknown-report","does-not-apply","rejected-without-report"],"description":"Why the answer matched no report: not-an-answer (the message is not a transaction report answer), unreadable (it lacks a field the answer needs), unknown-report (it names a report no version of this obligation queued), does-not-apply (it does not apply to the report's current state), rejected-without-report (the session rejected a message that carried no report)."},"ReportingRegulatorSessionStatus":{"type":"object","properties":{"sessionKey":{"type":"string"},"state":{"type":"string","enum":["up","down"]},"loggedOnAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["sessionKey","state","loggedOnAt"],"additionalProperties":false,"description":"One regulator FIX session of the organisation: up while a scheduler holds it and the regulator accepted its Logon, down otherwise."},"ReportingTransactionReportList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTransactionReport"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false,"description":"The organisation's transaction reports, newest queued first. Each row's `id` addresses the report on its transitions route."},"ReportingTransactionReportListFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"state":{"type":"string","enum":["queued","submitted","acknowledged","rejected"]},"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"additionalProperties":false},"ReportingLegalHold":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"submissionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"reason":{"type":"string","minLength":1},"placedBy":{"$ref":"#/components/schemas/UserId"},"placedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"releasedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"releasedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","submissionId","organizationId","reason","placedBy","placedAt","releasedBy","releasedAt"],"additionalProperties":false},"ReportingLegalHoldTransition":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["place"]},"reason":{"type":"string","minLength":1}},"required":["transition","reason"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["release"]},"holdId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"reason":{"type":"string","minLength":1}},"required":["transition","holdId","reason"],"additionalProperties":false}]},"ReportingSubmissionArtifact":{"type":"object","properties":{"status":{"type":"string","enum":["available","erased"],"description":"`available` carries one download per stored part. `erased` carries no download and, where one was recorded, the tombstone: the filing existed, its bytes are gone, and its digest is still on chain. A submission that never had an artifact stored is neither, and answers `409 ARTIFACT_UNAVAILABLE`."},"parts":{"type":"array","items":{"$ref":"#/components/schemas/ReportingSubmissionArtifactPart"},"description":"Every stored part, in manifest order, or empty when `status` is `erased`. A split artifact is returned as its parts and never assembled into one object: the anchored digest is the manifest digest computed across them, so a concatenated file would hash to nothing that was ever committed."},"tombstone":{"anyOf":[{"$ref":"#/components/schemas/ReportingSubmissionArtifactTombstone"},{"type":"null"}],"description":"Null while `status` is `available`. It can also be null when `status` is `erased`: the erasure marker is committed before the first delete and the tombstone only after the last one is confirmed, so a run interrupted between them leaves the objects gone with no record yet."},"legalHold":{"type":"boolean","description":"Whether an unreleased legal hold stands on this filing. A hold never withholds the download: it is an instruction that the filing must not be destroyed while a matter is live, so it is the reason the bytes are still here."},"artifactDigest":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorDigest":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","parts","tombstone","legalHold","artifactDigest","anchorDigest"],"additionalProperties":false,"description":"What a caller may do with a filing's stored bytes right now. `artifactDigest` is the manifest digest the filing is approved and anchored against; each part's `partDigest` is the SHA-256 of the bytes that part downloads. Feed every part's `partDigest` and `contentLength` straight to `POST /v2/reporting/anchors/verify`, in `partIndex` order, to recompute the manifest digest; no conversion is needed."},"ReportingSubmissionArtifactTombstone":{"type":"object","properties":{"retainedDigest":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The digest kept after the objects went. It is a hash of personal data, which is why `retentionBasis` is recorded beside it rather than implied."},"retentionBasis":{"type":"string","minLength":1,"description":"The authority under which the digest was retained once the artifact itself was destroyed."},"objectsDeleted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many of the filing's stored objects are confirmed absent. Coverage, not a count of delete calls: a tombstone is only written once every key is confirmed gone, however many passes reaching that took."},"tombstonedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["retainedDigest","retentionBasis","objectsDeleted","tombstonedAt"],"additionalProperties":false,"description":"What survived an erasure, and under which authority. Returned instead of the parts once a filing's stored objects are gone."},"ReportingSubmissionArtifactPart":{"type":"object","properties":{"partIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Position of this part in the artifact, from zero. The order the manifest digest is computed in, so send the parts to `POST /v2/reporting/anchors/verify` in it."},"downloadUrl":{"type":"string","minLength":1},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"partDigest":{"type":"string","minLength":1},"contentLength":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Size of this part in bytes, the number `POST /v2/reporting/anchors/verify` takes in `parts[].contentLength`. Null when the stored part records no size."},"mimeType":{"anyOf":[{"type":"string"},{"type":"null"}]},"fileName":{"type":"string","minLength":1,"description":"The name to save this part under, such as `filing.csv` or `holder-register.csv`. It is not unique across a split artifact's parts of one kind, so order by `partIndex`."}},"required":["partIndex","downloadUrl","expiresAt","partDigest","contentLength","mimeType","fileName"],"additionalProperties":false,"description":"One short-lived download for one stored part of a filing artifact. `partDigest` is the SHA-256 of the bytes you download."},"ReportingExceptionFinding":{"type":"object","properties":{"fingerprint":{"type":"string","pattern":"^[0-9a-f]{64}$"},"submissionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"ruleId":{"type":"string","minLength":1},"ruleVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"layer":{"type":"string","enum":["structural","packaging","business_rule","authority_feedback","evidence_anchoring"]},"severity":{"type":"string","enum":["error","warning"]},"subjectRef":{"type":"string","minLength":1},"message":{"type":"string","minLength":1},"raisedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"resolvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"overriddenBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"overrideRationale":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["fingerprint","submissionId","ruleId","ruleVersion","layer","severity","subjectRef","message","raisedAt","resolvedAt","overriddenBy","overrideRationale"],"additionalProperties":false},"ReportingSubmissionRead":{"anyOf":[{"$ref":"#/components/schemas/ReportingSubmission"},{"$ref":"#/components/schemas/ReportingSubmissionSummary"}]},"ReportingSubmissionSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"filingPeriodId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"attemptSequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"state":{"type":"string","enum":["queued","generating","generation_failed","discarded","generated","validating","blocked","ready_for_review","pending_approval","approved","submitted","acknowledged","unacknowledged","published","rejected","superseded"]},"actionType":{"type":"string","enum":["new","modify","correct","terminate","error","revive"]},"correctsSubmissionId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"artifactDigest":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}]},"rowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"makerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"approvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"ackReceiptReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"ackAuthorityTimestamp":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"publishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"publicationReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorState":{"type":"string","enum":["not_requested","pending","confirmed","unconfirmed"]},"anchorDigest":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}]},"anchorReference":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorEntryId":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorRegistryAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"anchorChainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"anchoredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"anchorFindingAccepted":{"type":"boolean"},"anchorFindingAcceptedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"anchorFindingAcceptedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"additionalProperties":false},"submissionFieldsQuery":{"type":"object","properties":{"submission":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the submission resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"submission":"id,filingPeriodId,state,actionType,anchorState"}]},"ReportingSubmissionCollectionFilters":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"filingPeriodId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"state":{"anyOf":[{"type":"string","enum":["queued","generating","generation_failed","discarded","generated","validating","blocked","ready_for_review","pending_approval","approved","submitted","acknowledged","unacknowledged","published","rejected","superseded"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"actionType":{"anyOf":[{"type":"string","enum":["new","modify","correct","terminate","error","revive"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"anchorState":{"anyOf":[{"type":"string","enum":["not_requested","pending","confirmed","unconfirmed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"ReportingAnchorSetting":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"obligationId":{"type":"string","minLength":1},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"enabled":{"type":"boolean"},"issuer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"claimTopic":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"chainId":{"anyOf":[{"$ref":"#/components/schemas/ChainIdEncoded_1"},{"type":"null"}]},"documentType":{"anyOf":[{"type":"string","enum":["regulatory-filing","investor-report"]},{"type":"null"}]},"label":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"severity":{"anyOf":[{"type":"string","enum":["error","warning"]},{"type":"null"}]},"disclosureConfirmedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"labelAcknowledged":{"type":"boolean","description":"True when the label drew a warning (the organization's name, a period, an id-like value, or a shape no filing would publish) and the operator acknowledged it. A filing then publishes the label as written."},"rationale":{"type":"string","minLength":1,"examples":["Signing key withdrawn after rotation."]},"changedBy":{"$ref":"#/components/schemas/UserId"},"changedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","obligationId","organizationId","enabled","issuer","claimTopic","chainId","documentType","label","severity","disclosureConfirmedAt","labelAcknowledged","rationale","changedBy","changedAt"],"additionalProperties":false},"ReportingAnchorSettingAct":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Enable"]},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"issuer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"documentType":{"type":"string","enum":["regulatory-filing","investor-report"]},"severity":{"type":"string","enum":["error","warning"]},"label":{"type":"string","minLength":1},"rationale":{"type":"string","minLength":1,"maxLength":500,"description":"Why the decision is taken, stored with it. At most 500 characters."},"disclosureConfirmed":{"type":"boolean"},"acknowledged":{"type":"boolean","description":"Set to true to publish a document label that the platform warned about: it contains the organization's name, a period, an id-like value, or a shape no filing would publish."}},"required":["_tag","chainId","documentType","severity","label","rationale","disclosureConfirmed"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Disable"]},"rationale":{"type":"string","minLength":1,"maxLength":500,"description":"Why the decision is taken, stored with it. At most 500 characters."}},"required":["_tag","rationale"],"additionalProperties":false}]},"ReportingGenerationHandle":{"type":"object","properties":{"submissionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"The attempt this run generates: the requested submission when it was queued, or the fresh attempt that replaces a submission generated before."},"executionId":{"type":"string","minLength":1,"examples":["reporting-generation-1"]}},"required":["submissionId","executionId"],"additionalProperties":false},"ReportingSubmissionAct":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["Generate"]}},"required":["_tag"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["SubmitForReview"]}},"required":["_tag"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["SignOff"]},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"expectedRowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["_tag","digest","expectedRowVersion"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Submit"]}},"required":["_tag"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Reject"]},"reason":{"type":"string","minLength":1}},"required":["_tag","reason"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["RejectByChecker"]},"reason":{"type":"string","minLength":1,"pattern":"\\S"},"expectedRowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["_tag","reason","expectedRowVersion"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Replace"]},"actionType":{"type":"string","enum":["new","modify","correct","terminate","error","revive"]}},"required":["_tag","actionType"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Acknowledge"]},"receiptReference":{"type":"string","minLength":1},"authorityTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"rawPayloadRef":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["_tag","receiptReference","authorityTimestamp"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Publish"]},"publicationReference":{"type":"string","minLength":1},"digest":{"type":"string","pattern":"^[0-9a-f]{64}$"},"expectedRowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["_tag","publicationReference","digest","expectedRowVersion"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Terminate"]}},"required":["_tag"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Revive"]}},"required":["_tag"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OverrideException"]},"rationale":{"type":"string","minLength":1,"maxLength":500,"description":"Why the decision is taken, stored with it. At most 500 characters."}},"required":["_tag","rationale"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["AcceptRuleWarnings"]},"rationale":{"type":"string","minLength":1},"expectedRowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["_tag","rationale","expectedRowVersion"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["Waive"]},"rationale":{"type":"string","minLength":1}},"required":["_tag","rationale"],"additionalProperties":false}]},"ReportingFilingPeriod":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"obligationId":{"type":"string","minLength":1},"obligationVersionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"obligationName":{"type":"string","minLength":1},"regime":{"type":"string","minLength":1},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"origin":{"type":"string","enum":["schedule","ad_hoc"]},"state":{"type":"string","enum":["scheduled","waiting_for_finality","open","overdue","fulfilled","waived"]},"referenceStart":{"$ref":"#/components/schemas/TimestampEncoded"},"referenceEnd":{"$ref":"#/components/schemas/TimestampEncoded"},"referenceZone":{"type":"string","minLength":1},"fiscalLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"remittanceAt":{"$ref":"#/components/schemas/TimestampEncoded"},"fulfilledLate":{"type":"boolean"},"coveredFamilies":{"type":"array","items":{"$ref":"#/components/schemas/ChainFamily"},"minItems":1},"familyCoverage":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFamilyCoverage"},"minItems":1},"latestSubmissionId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"latestSubmissionState":{"anyOf":[{"type":"string","enum":["queued","generating","generation_failed","discarded","generated","validating","blocked","ready_for_review","pending_approval","approved","submitted","acknowledged","unacknowledged","published","rejected","superseded"]},{"type":"null"}]},"slaAlerts":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFilingSlaAlert"}}},"required":["id","obligationId","obligationVersionId","obligationName","regime","organizationId","origin","state","referenceStart","referenceEnd","referenceZone","fiscalLabel","remittanceAt","fulfilledLate","coveredFamilies","familyCoverage","latestSubmissionId","latestSubmissionState"],"additionalProperties":false},"ReportingFilingSlaAlert":{"type":"object","properties":{"filingPeriodId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"submissionId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"kind":{"type":"string","enum":["acknowledgement-window-elapsed","deadline-warning","deadline-elapsed"]},"occurredAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["filingPeriodId","submissionId","kind","occurredAt"],"additionalProperties":false},"ReportingFamilyCoverage":{"anyOf":[{"type":"object","properties":{"family":{"$ref":"#/components/schemas/ChainFamily"},"state":{"type":"string","enum":["pending"]}},"required":["family","state"],"additionalProperties":false},{"type":"object","properties":{"family":{"$ref":"#/components/schemas/ChainFamily"},"state":{"type":"string","enum":["covered"]}},"required":["family","state"],"additionalProperties":false},{"type":"object","properties":{"family":{"$ref":"#/components/schemas/ChainFamily"},"state":{"type":"string","enum":["refused"]},"reasons":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["family","state","reasons"],"additionalProperties":false},{"type":"object","properties":{"family":{"$ref":"#/components/schemas/ChainFamily"},"state":{"type":"string","enum":["unconfirmed"]},"reason":{"type":"string","minLength":1}},"required":["family","state","reason"],"additionalProperties":false}]},"ReportingFilingRangeRequest":{"type":"object","properties":{"obligationId":{"type":"string","minLength":1},"start":{"$ref":"#/components/schemas/ReportingCalendarDate"},"end":{"$ref":"#/components/schemas/ReportingCalendarDate"}},"required":["obligationId","start","end"],"additionalProperties":false},"ReportingFilingPeriodCollectionFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","minLength":1,"maxLength":1000},"gte":{"type":"string","minLength":1,"maxLength":1000},"lt":{"type":"string","minLength":1,"maxLength":1000},"lte":{"type":"string","minLength":1,"maxLength":1000},"between":{"type":"string","maxLength":64},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"obligationId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"obligationName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"regime":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"state":{"anyOf":[{"type":"string","enum":["scheduled","waiting_for_finality","open","overdue","fulfilled","waived"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"referenceStart":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"referenceEnd":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"remittanceAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"fulfilledLate":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"ReportingObligation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"isSystem":{"type":"boolean"},"name":{"type":"string","minLength":1},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"regime":{"type":"string","minLength":1},"reportingEntityLei":{"anyOf":[{"type":"string"},{"type":"null"}]},"publishedVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"cadence":{"anyOf":[{"type":"string"},{"type":"null"}]},"reportKind":{"anyOf":[{"type":"string"},{"type":"null"}]},"disabledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"editable":{"type":"boolean"},"anchoringEnabled":{"type":"boolean"},"anchorSeverities":{"type":"array","items":{"type":"string","enum":["error","warning"]}}},"required":["id","organizationId","isSystem","name","description","regime","reportingEntityLei","publishedVersion","cadence","reportKind","disabledAt","editable","anchoringEnabled","anchorSeverities"],"additionalProperties":false},"ReportingObligationVersion":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"obligationId":{"type":"string","minLength":1},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"publishedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"publishedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"config":{"$ref":"#/components/schemas/ReportingObligationConfig"}},"required":["id","obligationId","version","publishedAt","publishedBy","config"],"additionalProperties":false},"ReportingObligationConfig":{"type":"object","properties":{"scopeExpression":{"$ref":"#/components/schemas/ReportingObligationScope"},"dataPointSet":{"type":"array","items":{"$ref":"#/components/schemas/ReportingDataPoint"}},"derivationRules":{"type":"array","items":{"$ref":"#/components/schemas/ReportingDerivationRule"}},"validationRules":{"type":"array","items":{"$ref":"#/components/schemas/ReportingValidationRule"}},"reportSet":{"type":"array","items":{"type":"string","enum":["holder-register","custody-positions","client-asset-summary","safeguarding","dormant-accounts","transfer-journal","trade-journal","settlement-and-fails","corporate-actions","corporate-action-entitlements","ca-payments","redemptions","distribution-waterfall","reserve-and-asset-backing","fees-and-charges","fee-period-closes","compliance-decision-log","investor-eligibility-register","operator-action-trail","privileged-actions","security-incidents","wallet-changes","venue-daily-statistics","break-ageing","mirror-reconciliation","venue-orders","venue-matched-trades","venue-audit-log","venue-market-watch","venue-holdings","venue-trading-parameters","venue-new-participants","service-availability","frozen-assets","pending-failed-transactions","approvals","gas-wallets","wallet-register","incoming-transfers","outgoing-transfers","whitelist","daily-transactions","regulator-reconciliation","regulator-messages","regulator-monitoring","bank-rail-reconciliation"]},"minItems":1},"tokenAddresses":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"minItems":1,"maxItems":200},{"type":"null"}]},"custodiedOnly":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"dormancyThresholdMonths":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"cadence":{"type":"string","enum":["daily","weekly","monthly","quarterly","semiannual","annual","eventDriven"]},"deadlineRule":{"$ref":"#/components/schemas/ReportingDeadlineRule"},"filerCalendar":{"type":"string","minLength":1},"authorityCalendar":{"type":"string","minLength":1},"outputFormat":{"type":"string","enum":["csv","xlsx","zip","json","xml","pdf"]},"reportFormat":{"anyOf":[{"$ref":"#/components/schemas/ReportingReportFormat"},{"type":"null"}]},"fixMessageSpec":{"anyOf":[{"$ref":"#/components/schemas/ReportingFixMessageSpec"},{"type":"null"}]},"regulatorSession":{"anyOf":[{"$ref":"#/components/schemas/ReportingRegulatorSessionConfig"},{"type":"null"}]},"fulfilmentMode":{"type":"string","enum":["authority_acknowledgement","publication"]},"ackSlaHours":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"operatorApprovalAllowed":{"type":"boolean"},"acceptsNilReturn":{"type":"boolean"},"retentionClass":{"type":"string","enum":["five-years","seven-years","ten-years","indefinite"]},"reachBackMonths":{"type":"integer","minimum":0,"maximum":9007199254740991},"deadlineAuthoredBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"deadlineCitation":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["scopeExpression","dataPointSet","derivationRules","validationRules","reportSet","cadence","deadlineRule","filerCalendar","authorityCalendar","outputFormat","fulfilmentMode","operatorApprovalAllowed","acceptsNilReturn","retentionClass","reachBackMonths"],"additionalProperties":false},"ReportingRegulatorSessionConfig":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?$"},"port":{"type":"integer","minimum":1,"maximum":65535},"tls":{"type":"boolean"},"tlsServerName":{"anyOf":[{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?$"},{"type":"null"}]},"senderCompId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[!-~]+$"},"targetCompId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[!-~]+$"},"heartbeatSeconds":{"type":"integer","minimum":5,"maximum":300},"credentialSlot":{"anyOf":[{"type":"string","minLength":1,"pattern":"^[a-z0-9][a-z0-9-]{0,62}$"},{"type":"null"}]},"resetSeqNumOnLogon":{"type":"boolean"},"schedule":{"anyOf":[{"$ref":"#/components/schemas/ReportingRegulatorSessionSchedule"},{"type":"null"}]},"messageRetentionClass":{"type":"string","enum":["five-years","seven-years","ten-years","indefinite"]},"tradingDayTimeZone":{"type":"string"},"testProfile":{"anyOf":[{"$ref":"#/components/schemas/ReportingRegulatorTestProfile"},{"type":"null"}]}},"required":["host","port","tls","senderCompId","targetCompId"],"additionalProperties":false},"ReportingRegulatorTestProfile":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?$"},"port":{"type":"integer","minimum":1,"maximum":65535},"tls":{"type":"boolean"},"tlsServerName":{"anyOf":[{"type":"string","minLength":1,"maxLength":253,"pattern":"^[A-Za-z0-9](?:[A-Za-z0-9.-]*[A-Za-z0-9])?$"},{"type":"null"}]},"senderCompId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[!-~]+$"},"targetCompId":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[!-~]+$"},"heartbeatSeconds":{"type":"integer","minimum":5,"maximum":300},"credentialSlot":{"anyOf":[{"type":"string","minLength":1,"pattern":"^[a-z0-9][a-z0-9-]{0,62}$"},{"type":"null"}]},"resetSeqNumOnLogon":{"type":"boolean"}},"required":["host","port","tls","senderCompId","targetCompId"],"additionalProperties":false,"description":"The regulator's test environment for certification: its own host, port, CompIDs and credential slot. The scheduler never dials it; the certification script does, and the certification record names the version that carries it."},"ReportingRegulatorSessionSchedule":{"type":"object","properties":{"days":{"type":"array","items":{"type":"string","enum":["mon","tue","wed","thu","fri","sat","sun"]},"minItems":1,"maxItems":7},"startUtc":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"endUtc":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["days","startUtc","endUtc"],"additionalProperties":false},"ReportingFixMessageSpec":{"type":"object","properties":{"beginString":{"type":"string","minLength":1,"pattern":"^[\\u0020-\\u007E]+$"},"messageType":{"type":"string","minLength":1,"pattern":"^[\\u0020-\\u007E]+$","maxLength":8},"bustMessageType":{"anyOf":[{"type":"string","minLength":1,"pattern":"^[\\u0020-\\u007E]+$","maxLength":8},{"type":"null"}]},"fields":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFixFieldMapping"},"minItems":1},"validations":{"type":"array","items":{"$ref":"#/components/schemas/ReportingFixValidationRule"}},"acknowledgement":{"anyOf":[{"$ref":"#/components/schemas/ReportingFixAcknowledgementSpec"},{"type":"null"}]}},"required":["messageType","fields"],"additionalProperties":false,"description":"Versioned regulator message layout. The regulator's tag set stays data, not source code.","examples":[{"beginString":"FIXT.1.1","messageType":"AE","fields":[{"tag":17,"source":"reportId","required":true}],"validations":[]}]},"ReportingFixAcknowledgementSpec":{"type":"object","properties":{"messageType":{"type":"string","minLength":1,"pattern":"^[\\u0020-\\u007E]+$","maxLength":8},"reportIdTag":{"type":"integer","minimum":1,"maximum":99999},"statusTag":{"type":"integer","minimum":1,"maximum":99999},"acceptedStatuses":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[\\u0020-\\u007E]+$"},"minItems":1},"rejectedStatuses":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[\\u0020-\\u007E]+$"},"minItems":1},"referenceTag":{"type":"integer","minimum":1,"maximum":99999},"reasonTags":{"type":"array","items":{"type":"integer","minimum":1,"maximum":99999}}},"required":["messageType","reportIdTag","statusTag","acceptedStatuses","rejectedStatuses","referenceTag","reasonTags"],"additionalProperties":false,"description":"How the regulator answers a report: the message type, the tag that echoes the report id, the status values that accept or reject it, the tag carrying the regulator's reference and the tags that explain a rejection."},"ReportingFixValidationRule":{"type":"object","properties":{"tag":{"type":"integer","minimum":1,"maximum":99999},"kind":{"type":"string","enum":["required","pattern","allowed"]},"value":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"message":{"type":"string","minLength":1}},"required":["tag","kind","message"],"additionalProperties":false},"ReportingFixFieldMapping":{"type":"object","properties":{"tag":{"type":"integer","minimum":1,"maximum":99999},"source":{"type":"string","minLength":1},"expression":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"required":{"type":"boolean"}},"required":["tag","source"],"additionalProperties":false,"description":"One regulator FIX tag mapped to a transaction source field or a safe \\${field} expression."},"ReportingReportFormat":{"anyOf":[{"$ref":"#/components/schemas/ReportingTabularReportFormat"}],"description":"A filing authority's file layout, versioned with the obligation. Each member names the adapter that renders it; its files land in the filing artifact under authority/."},"ReportingTabularReportFormat":{"type":"object","properties":{"adapter":{"type":"string","enum":["tabular"]},"files":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTabularFile"},"minItems":1}},"required":["adapter","files"],"additionalProperties":false},"ReportingTabularFile":{"type":"object","properties":{"name":{"type":"string"},"rows":{"$ref":"#/components/schemas/ReportingTabularRows"},"columns":{"type":"array","items":{"$ref":"#/components/schemas/ReportingTabularColumn"},"minItems":1},"csv":{"anyOf":[{"$ref":"#/components/schemas/ReportingTabularCsvEncoding"},{"type":"null"}]},"groupBy":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["name","rows","columns"],"additionalProperties":false,"description":"One authority file. Its extension decides the encoding: .csv, written as `csv` sets, or .xlsx, with the sheet named after the file. An .xlsx file with `groupBy` holds one sheet per value of the column with that header."},"ReportingTabularCsvEncoding":{"type":"object","properties":{"delimiter":{"anyOf":[{"type":"string","enum":[",",";","\t","|"]},{"type":"null"}]},"byteOrderMark":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"lineEnding":{"anyOf":[{"type":"string","enum":["crlf","lf"]},{"type":"null"}]}},"additionalProperties":false,"description":"How a .csv file is written. The text is always UTF-8; by default the file starts with a byte-order mark, separates values with a comma and ends each line with CRLF."},"ReportingTabularColumn":{"type":"object","properties":{"header":{"type":"string","minLength":1},"value":{"$ref":"#/components/schemas/ReportingTabularColumnValue"}},"required":["header","value"],"additionalProperties":false},"ReportingTabularColumnValue":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["dataPoint"]},"identifier":{"type":"string","minLength":1},"format":{"anyOf":[{"$ref":"#/components/schemas/ReportingTabularValueFormat"},{"type":"null"}]}},"required":["source","identifier"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["field"]},"field":{"type":"string","minLength":1},"format":{"anyOf":[{"$ref":"#/components/schemas/ReportingTabularValueFormat"},{"type":"null"}]}},"required":["source","field"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["constant"]},"text":{"type":"string"}},"required":["source","text"],"additionalProperties":false}]},"ReportingTabularValueFormat":{"anyOf":[{"$ref":"#/components/schemas/ReportingTabularNumberFormat"},{"$ref":"#/components/schemas/ReportingTabularDateFormat"},{"$ref":"#/components/schemas/ReportingTabularTextFormat"},{"$ref":"#/components/schemas/ReportingTabularAddressFormat"}],"description":"How a column writes each value. A column without one writes the value as the report holds it; an empty value stays empty under every format.","discriminator":{"propertyName":"kind","mapping":{"number":"#/components/schemas/ReportingTabularNumberFormat","date":"#/components/schemas/ReportingTabularDateFormat","text":"#/components/schemas/ReportingTabularTextFormat","address":"#/components/schemas/ReportingTabularAddressFormat"}}},"ReportingTabularAddressFormat":{"type":"object","properties":{"kind":{"type":"string","enum":["address"]},"case":{"type":"string","enum":["checksum","lower"]}},"required":["kind","case"],"additionalProperties":false,"description":"Writes an EVM address in its EIP-55 checksum case or in lower case."},"ReportingTabularTextFormat":{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"case":{"type":"string","enum":["upper","lower"]}},"required":["kind","case"],"additionalProperties":false},"ReportingTabularDateFormat":{"type":"object","properties":{"kind":{"type":"string","enum":["date"]},"layout":{"type":"string","maxLength":64},"timeZone":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","layout"],"additionalProperties":false,"description":"Writes a date or instant in a layout such as DD/MM/YYYY or YYYY-MM-DDTHH:mm:ssZ. An instant is shown in `timeZone` (UTC by default); a calendar date is never shifted."},"ReportingTabularNumberFormat":{"type":"object","properties":{"kind":{"type":"string","enum":["number"]},"scale":{"anyOf":[{"$ref":"#/components/schemas/ReportingTabularNumberScale"},{"type":"null"}]},"places":{"anyOf":[{"type":"integer","minimum":0,"maximum":36},{"type":"null"}]},"decimalSeparator":{"anyOf":[{"type":"string","enum":[".",","]},{"type":"null"}]},"groupSeparator":{"anyOf":[{"type":"string","enum":[",","."," ","'"]},{"type":"null"}]}},"required":["kind"],"additionalProperties":false,"description":"Writes an exact number. `places` fixes the decimal places, rounding half away from zero; without it the value is written exactly with no trailing zeros. The decimal separator defaults to '.', and digits are not grouped unless a group separator is set."},"ReportingTabularNumberScale":{"anyOf":[{"type":"object","properties":{"decimals":{"type":"integer","minimum":0,"maximum":255}},"required":["decimals"],"additionalProperties":false},{"type":"object","properties":{"decimalsField":{"type":"string","minLength":1}},"required":["decimalsField"],"additionalProperties":false}],"description":"Divides a base-unit amount by ten to the power of the token's decimals: a fixed count, or the count in the named field of the same report row."},"ReportingTabularRows":{"anyOf":[{"type":"object","properties":{"from":{"type":"string","enum":["dataPoints"]}},"required":["from"],"additionalProperties":false},{"type":"object","properties":{"from":{"type":"string","enum":["report"]},"report":{"type":"string","enum":["holder-register","custody-positions","client-asset-summary","safeguarding","dormant-accounts","transfer-journal","trade-journal","settlement-and-fails","corporate-actions","corporate-action-entitlements","ca-payments","redemptions","distribution-waterfall","reserve-and-asset-backing","fees-and-charges","fee-period-closes","compliance-decision-log","investor-eligibility-register","operator-action-trail","privileged-actions","security-incidents","wallet-changes","venue-daily-statistics","break-ageing","mirror-reconciliation","venue-orders","venue-matched-trades","venue-audit-log","venue-market-watch","venue-holdings","venue-trading-parameters","venue-new-participants","service-availability","frozen-assets","pending-failed-transactions","approvals","gas-wallets","wallet-register","incoming-transfers","outgoing-transfers","whitelist","daily-transactions","regulator-reconciliation","regulator-messages","regulator-monitoring","bank-rail-reconciliation"]},"family":{"$ref":"#/components/schemas/ChainFamily"}},"required":["from","report","family"],"additionalProperties":false}],"description":"Where a file's rows come from: one row of the derived data points, or one row per row of one chain family's rendered report."},"ReportingDeadlineRule":{"type":"object","properties":{"anchor":{"type":"string","enum":["periodStart","periodEnd","referenceDate","remittanceDate","classifiedAt"]},"offset":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"unit":{"type":"string","enum":["businessDays","calendarDays","months","hours"]},"calendars":{"type":"array","prefixItems":[{"type":"string","minLength":1},{"type":"string","minLength":1}],"maxItems":2,"minItems":2},"roll":{"type":"string","enum":["following","modifiedFollowing","preceding"]},"cutoffLocalTime":{"type":"string"},"timeZone":{"type":"string","minLength":1}},"required":["anchor","offset","unit","calendars","roll","cutoffLocalTime","timeZone"],"additionalProperties":false},"ReportingValidationRule":{"type":"object","properties":{"identity":{"type":"string","minLength":1},"version":{"type":"integer","minimum":1,"maximum":9007199254740991},"severity":{"type":"string","enum":["blocking","warning","informational"]},"expression":{"type":"string","minLength":1},"message":{"type":"string","minLength":1},"effectiveFrom":{"type":"string","minLength":1},"effectiveTo":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["identity","version","severity","expression","message","effectiveFrom"],"additionalProperties":false},"ReportingDerivationRule":{"type":"object","properties":{"dataPoint":{"type":"string","minLength":1},"source":{"type":"string","enum":["holder-register","custody-positions","client-asset-summary","safeguarding","dormant-accounts","transfer-journal","trade-journal","settlement-and-fails","corporate-actions","corporate-action-entitlements","ca-payments","redemptions","distribution-waterfall","reserve-and-asset-backing","fees-and-charges","fee-period-closes","compliance-decision-log","investor-eligibility-register","operator-action-trail","privileged-actions","security-incidents","wallet-changes","venue-daily-statistics","break-ageing","mirror-reconciliation","venue-orders","venue-matched-trades","venue-audit-log","venue-market-watch","venue-holdings","venue-trading-parameters","venue-new-participants","service-availability","frozen-assets","pending-failed-transactions","approvals","gas-wallets","wallet-register","incoming-transfers","outgoing-transfers","whitelist","daily-transactions","regulator-reconciliation","regulator-messages","regulator-monitoring","bank-rail-reconciliation"]},"field":{"type":"string","minLength":1},"aggregate":{"anyOf":[{"type":"string","enum":["none","sum","count","min","max","last"]},{"type":"null"}]}},"required":["dataPoint","source","field"],"additionalProperties":false},"ReportingDataPoint":{"type":"object","properties":{"identifier":{"type":"string","minLength":1},"label":{"type":"string","minLength":1},"type":{"type":"string","enum":["string","integer","decimal","boolean","date","instant"],"description":"What a data point holds: `date` is a calendar date such as 2026-09-30, `instant` a point in time with its offset such as 2026-09-30T12:00:00Z, and `decimal` an exact decimal read from the report's text."},"denomination":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"dimensions":{"type":"array","items":{"type":"string","minLength":1}}},"required":["identifier","label","type","dimensions"],"additionalProperties":false},"ReportingObligationScope":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["self"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["organizations"]},"organizationIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["kind","organizationIds"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["jurisdictions"]},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["kind","jurisdictions"],"additionalProperties":false}]},"ReportingObligationDraft":{"type":"object","properties":{"obligationId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"regime":{"type":"string","minLength":1,"maxLength":64},"reportingEntityLei":{"anyOf":[{"$ref":"#/components/schemas/LeiEncoded"},{"type":"null"}]},"config":{"$ref":"#/components/schemas/ReportingObligationConfig"}},"required":["obligationId","name","regime","config"],"additionalProperties":false,"examples":[{"obligationId":"quarterly-holder-register","name":"Quarterly holder register","description":"The holder register, filed every quarter.","regime":"eu-holder-register","config":{"scopeExpression":{"kind":"self"},"dataPointSet":[{"identifier":"holders_of_record","label":"Holders of record","type":"integer","dimensions":[]}],"derivationRules":[{"dataPoint":"holders_of_record","source":"holder-register","field":"count","aggregate":"count"}],"validationRules":[],"reportSet":["holder-register"],"cadence":"quarterly","deadlineRule":{"anchor":"periodEnd","offset":30,"unit":"calendarDays","calendars":["target2","target2"],"roll":"following","cutoffLocalTime":"17:00","timeZone":"UTC"},"filerCalendar":"target2","authorityCalendar":"target2","outputFormat":"csv","fulfilmentMode":"publication","operatorApprovalAllowed":false,"acceptsNilReturn":true,"retentionClass":"seven-years","reachBackMonths":0}}]},"LeiEncoded":{"type":"string"},"ReportingObligationDraftWrite":{"type":"object","properties":{"obligationId":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":200},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"regime":{"type":"string","minLength":1,"maxLength":64},"reportingEntityLei":{"anyOf":[{"$ref":"#/components/schemas/LeiEncoded"},{"type":"null"}]},"config":{"$ref":"#/components/schemas/ReportingObligationConfig"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["obligationId","name","regime","config"],"additionalProperties":false},"ReportingObligationCollectionFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"regime":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"publishedVersion":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"disabledAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"TokenPriceSeries":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/StatsResolvedRange_2"},"data":{"type":"array","items":{"$ref":"#/components/schemas/TokenPricePoint"}}},"required":["range","data"],"additionalProperties":false,"description":"A token's price over a window: one point per bucket start, each carrying the price in force at that moment, and a final one for the end of the window. When the token was first priced inside the window, the points start at the first bucket start or window end on or after that moment, preceded by a point at the moment of the first price itself when it falls between bucket starts. Empty when the token has no market price in the window; time before its first price is left out, never reported as zero."},"TokenPricePoint":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"priceInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]}},"required":["timestamp","priceInBase"],"additionalProperties":false,"description":"The token's price in the base currency in force at one point in time: a bucket start, the end of the window, or the moment the token first had a price. Null when the price was cleared: the token has no market price from then on."},"StatsResolvedRange_2":{"type":"object","properties":{"interval":{"$ref":"#/components/schemas/StatsRangeInterval"},"from":{"$ref":"#/components/schemas/TimestampEncoded"},"to":{"$ref":"#/components/schemas/TimestampEncoded"},"isPreset":{"type":"boolean"}},"required":["interval","from","to","isPreset"],"additionalProperties":false},"ParticipantRolesRow":{"type":"object","properties":{"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]},"displayName":{"type":"string"},"signingAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"operationsAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"accountAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isContract":{"type":"boolean"},"eoaRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}},"smartWalletRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}},"missingRoles":{"type":"array","items":{"$ref":"#/components/schemas/AssetAccessControlRole_1"}},"drift":{"type":"boolean"},"expiries":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantRoleExpiry"}}},"required":["participantId","displayName","signingAddress","operationsAddress","accountAddress","isContract","eoaRoles","smartWalletRoles","missingRoles","drift","expiries"],"additionalProperties":false},"ParticipantRoleExpiry":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/AssetAccessControlRole_1"},"account":{"$ref":"#/components/schemas/EvmAddress"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["role","account","expiresAt"],"additionalProperties":false,"description":"A role this participant holds until a set instant, after which the platform revokes it."},"PortfolioParticipantRolesFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"_search":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signingAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"operationsAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"accountAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isContract":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"eoaRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"smartWalletRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"missingRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"drift":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ActionRow":{"type":"object","properties":{"id":{"type":"string","minLength":1},"actionType":{"type":"string","enum":["MatureBond","RedeemBond","ClaimYield","ClaimDividend","ApproveMaturityAllowance","ApproveYieldAllowance","ApproveXvPSettlement","ExecuteXvPSettlement","ClaimParkedXvPAmount","UpdateKYCData","MultisigApproval","custody-pending","CheckerApproval","ApprovalRequest","CastVote","CastPollBallot","ActivateVotingPower","MultisigInvite","CantonCommandDecision","CantonTransferAccept","RelayPermit","VenueApprovalDecision","AuthorizeInvitationRoles","ReportingFilingApproval","CustodyWhitelistReview","AddonProposalApproval","HeldPriceReview","AgentItem"]},"name":{"type":"string"},"target":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"tokenAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"activeAt":{"$ref":"#/components/schemas/TimestampEncoded"},"status":{"type":"string","enum":["PENDING","UPCOMING","EXECUTED","EXPIRED"]},"executedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"executedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"source":{"anyOf":[{"type":"string","enum":["on-chain","off-chain"]},{"type":"null"}]},"kycMetadata":{"anyOf":[{"$ref":"#/components/schemas/KycActionMetadata"},{"type":"null"}]},"multisigMetadata":{"anyOf":[{"$ref":"#/components/schemas/MultisigActionMetadata"},{"type":"null"}]},"custodyMetadata":{"anyOf":[{"$ref":"#/components/schemas/CustodyPendingActionMetadata"},{"type":"null"}]},"checkerMetadata":{"anyOf":[{"$ref":"#/components/schemas/CheckerApprovalActionMetadata"},{"type":"null"}]},"governanceMetadata":{"anyOf":[{"$ref":"#/components/schemas/GovernanceActionMetadata"},{"type":"null"}]},"dividendMetadata":{"anyOf":[{"$ref":"#/components/schemas/DividendActionMetadata"},{"type":"null"}]},"approvalRequestMetadata":{"anyOf":[{"$ref":"#/components/schemas/ApprovalRequestActionMetadata"},{"type":"null"}]},"multisigInviteMetadata":{"anyOf":[{"$ref":"#/components/schemas/MultisigInviteActionMetadata"},{"type":"null"}]},"cantonCommandMetadata":{"anyOf":[{"$ref":"#/components/schemas/CantonCommandDecisionActionMetadata"},{"type":"null"}]},"cantonTransferMetadata":{"anyOf":[{"$ref":"#/components/schemas/CantonTransferAcceptActionMetadata"},{"type":"null"}]},"permitMetadata":{"anyOf":[{"$ref":"#/components/schemas/PermitActionMetadata"},{"type":"null"}]},"venueApprovalMetadata":{"anyOf":[{"$ref":"#/components/schemas/VenueApprovalActionMetadata"},{"type":"null"}]},"invitationRolesMetadata":{"anyOf":[{"$ref":"#/components/schemas/InvitationRolesActionMetadata"},{"type":"null"}]},"actionable":{"type":"boolean","description":"Whether the caller can act on this row now. False while the row waits on someone else, is blocked, has not opened, or is finished."},"blockedReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"In words, why a pending or upcoming row is not actionable, such as `Awaiting funding: the issuer has not funded this dividend yet.` or `You signed on 20 Oct 2026.` Null when the row is actionable or finished. `blockedReasonCode` names the same reason."},"blockedReasonCode":{"anyOf":[{"$ref":"#/components/schemas/ActionBlockedReasonCode"},{"type":"null"}],"description":"Stable code for `blockedReason`, so a client can word it in the reader's language. Null exactly when `blockedReason` is null."},"waitingOn":{"type":"array","items":{"$ref":"#/components/schemas/ActionWaitingOn"},"description":"The parties that must act next, each with the reason. Empty when nobody else has to act first."},"movement":{"anyOf":[{"$ref":"#/components/schemas/ActionMovement"},{"type":"null"}],"description":"Between whom and how much the action moves, in one shape for every action type. Null when the action moves nothing."},"asset":{"anyOf":[{"$ref":"#/components/schemas/ActionAsset"},{"type":"null"}],"description":"The asset the action concerns. Null when the action concerns no asset or the platform cannot read it."},"requiresWalletVerification":{"type":"boolean","description":"Whether the endpoint that fulfils this action can demand a wallet verification code, so the client asks for it before submitting."},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/ActionParty"},{"type":"null"}],"description":"Who made the decision on a completed approval. Null on every other row."},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the decision on a completed approval was made. Null on every other row."},"waivedFor":{"allOf":[{"$ref":"#/components/schemas/ActionParty"},{"description":"The person whose request the approval policy let through without a second approval, on an approval that approvalRequestMetadata.waivedByPolicy names the family of. Absent on every other row."}]},"addonProposalMetadata":{"anyOf":[{"$ref":"#/components/schemas/AddonProposalActionMetadata"},{"type":"null"}]},"heldPriceMetadata":{"anyOf":[{"$ref":"#/components/schemas/HeldPriceActionMetadata"},{"type":"null"}]},"agentItemMetadata":{"anyOf":[{"$ref":"#/components/schemas/AgentItemActionMetadata"},{"type":"null"}]}},"required":["id","actionType","name","target","tokenAddress","activeAt","status","executedAt","executedBy","expiresAt","actionable","blockedReason","blockedReasonCode","waitingOn","movement","asset","requiresWalletVerification","decidedBy","decidedAt"],"additionalProperties":false},"AgentItemActionMetadata":{"type":"object","properties":{"itemId":{"type":"string","minLength":1,"description":"Agent item a watcher or an MCP client posted. Its brief and proposal are read from the assistant's agent items."},"watcher":{"anyOf":[{"$ref":"#/components/schemas/AssistantWatcherId"},{"type":"null"}],"description":"The watcher that posted the item; null for an item an MCP client prepared."},"clientName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name the MCP client registered with, for an item it prepared; null for a watcher's item."},"kind":{"$ref":"#/components/schemas/AssistantAgentItemKind"},"condition":{"$ref":"#/components/schemas/AssistantAgentItemCondition"}},"required":["itemId","watcher","clientName","kind","condition"],"additionalProperties":false},"AssistantAgentItemCondition":{"type":"string","enum":["payout-underfunded","filing-unsubmitted","claims-expiring","credit-unmatched","run-failed","client-request"],"description":"The condition the watcher found. At most one item per subject and condition is open at a time, and the item resolves itself when the condition clears. `client-request` is a write an MCP client prepared for the member who signed it in; it resolves when the member opens the draft or dismisses it."},"AssistantAgentItemKind":{"type":"string","enum":["inform","approve","decide","context","error"],"description":"What the item asks of the person. `inform` reports a finding; `approve` carries a prepared draft that opens the existing control filled in; `decide` offers two or three options, each with its consequence; `context` asks for one missing fact; `error` says a watcher run failed and how it retries."},"AssistantWatcherId":{"type":"string","enum":["payoutFunding","filingDue","claimExpiry","unmatchedCredit"],"description":"A watcher: code that checks platform and indexed data on a schedule and posts prepared work to the Actions inbox. `payoutFunding` checks that the paying treasury covers a cash dividend, distribution or coupon before its date; `filingDue` finds a filing due within its warning window with no submission; `claimExpiry` finds identity claims an asset's rules need that expire within 30 days for its current holders; `unmatchedCredit` finds a bank credit left unmatched in suspense past 24 hours."},"HeldPriceActionMetadata":{"type":"object","properties":{"heldPriceId":{"type":"string","minLength":1,"description":"Held price that waits for a decision. The decision is made in the review sheet of its source."},"sourceId":{"type":"string","minLength":1,"description":"Price source that delivered the held price."},"sourceName":{"type":"string","minLength":1,"description":"Display name of that price source."},"isin":{"type":"string","minLength":1,"description":"ISIN of the instrument the held price belongs to."},"reason":{"$ref":"#/components/schemas/HeldPriceActionReason"}},"required":["heldPriceId","sourceId","sourceName","isin","reason"],"additionalProperties":false},"HeldPriceActionReason":{"type":"string","enum":["held","correction_held"],"description":"Why the price is held: it moved past the tolerance (`held`), or it corrects a price that was already published (`correction_held`)."},"AddonProposalActionMetadata":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"addonName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the add-on whose access manager holds the proposal, such as the trading venue; null when the platform cannot name it or the caller may not read it."},"proposalId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"target":{"$ref":"#/components/schemas/EvmAddress"},"proposer":{"$ref":"#/components/schemas/EvmAddress"},"calldata":{"$ref":"#/components/schemas/EthereumHexEncoded"},"call":{"$ref":"#/components/schemas/DecodedAddonCall"},"viewerRole":{"$ref":"#/components/schemas/ApprovalRequestViewerRole"},"approvals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Recorded approvals whose approver still holds the approver role."},"requiredApprovals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Approvals the call needs before it can run."},"readyToExecute":{"type":"boolean","description":"True when the valid approvals meet the required count, so a maker-role holder can run the call."}},"required":["accessManager","addonName","proposalId","target","proposer","calldata","call","viewerRole","approvals","requiredApprovals","readyToExecute"],"additionalProperties":false},"ApprovalRequestViewerRole":{"type":"string","enum":["approver","maker"]},"DecodedAddonCall":{"anyOf":[{"type":"object","properties":{"undecoded":{"type":"boolean","enum":[false]},"selector":{"$ref":"#/components/schemas/EthereumHexEncoded"},"functionName":{"type":"string"},"arguments":{"type":"array","items":{"$ref":"#/components/schemas/DecodedAddonCallArgument"}}},"required":["undecoded","selector","functionName","arguments"],"additionalProperties":false},{"type":"object","properties":{"undecoded":{"type":"boolean","enum":[true]},"selector":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["undecoded","selector"],"additionalProperties":false}],"description":"The proposed call decoded from the target's contract type, or its selector with `undecoded` when the type or function is unknown."},"DecodedAddonCallArgument":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"required":["name","type","value"],"additionalProperties":false},"ActionParty":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."}},"required":["name","address"],"additionalProperties":false},"ActionAsset":{"type":"object","properties":{"name":{"type":"string"},"symbol":{"type":"string"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","symbol","address"],"additionalProperties":false},"ActionMovement":{"type":"object","properties":{"from":{"anyOf":[{"$ref":"#/components/schemas/ActionParty"},{"type":"null"}]},"to":{"anyOf":[{"$ref":"#/components/schemas/ActionParty"},{"type":"null"}]},"amount":{"anyOf":[{"$ref":"#/components/schemas/ActionAmount"},{"type":"null"}],"description":"What moves. Null when the action moves no amount or the platform cannot read its unit."}},"required":["from","to","amount"],"additionalProperties":false},"ActionAmount":{"type":"object","properties":{"value":{"type":"string","description":"Amount in base units, as a decimal integer string."},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["value","symbol","decimals"],"additionalProperties":false},"ActionWaitingOn":{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the party. Null when the platform knows none. A Canton party reads as its party id."},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Wallet or contract address of the party. Null for a Canton party or a user without a wallet."},"reason":{"type":"string","description":"Why this party has to act before the action moves on, in English. `reasonCode` names the same reason."},"reasonCode":{"$ref":"#/components/schemas/ActionWaitingOnReasonCode"}},"required":["name","address","reason","reasonCode"],"additionalProperties":false},"ActionWaitingOnReasonCode":{"type":"string","enum":["custody-signing","signature-outstanding","checker-approval"],"description":"Stable code for why a party has to act: `custody-signing` (the custody provider is signing the transaction), `signature-outstanding` (a signer of the wallet has not signed) or `checker-approval` (a checker must approve a held co-signature). Clients show their own wording for a code they know and fall back to `reason` for one they do not."},"ActionBlockedReasonCode":{"type":"string","enum":["opens-later","custody-signing","submitted-to-chain","multisig-signed","multisig-signed-threshold-reached","multisig-held","multisig-held-threshold-reached","multisig-threshold-reached","approved-by-you","awaiting-addon-approvers","awaiting-dividend-funding"],"description":"Stable code for why a row is not actionable. `opens-later`: the row opens at `activeAt`. `custody-signing`: the custody provider is signing. `submitted-to-chain`: the multisig transaction waits for confirmation. `multisig-signed` and `multisig-held`: the caller signed on `multisigMetadata.callerSignedAt`, or the caller's co-signature is held for its checker; the named `waitingOn` parties sign next. The `-threshold-reached` variants say no signer is left and the platform submits the transaction next. `multisig-threshold-reached` is the neutral variant for a caller who never signed: it names no checker hold the projection cannot identify. `approved-by-you`: the caller approved and other approvers remain. `awaiting-addon-approvers`: other add-on approvers must act. `awaiting-dividend-funding`: the issuer has not funded the dividend. Clients show their own wording for a code they know and fall back to `blockedReason` for one they do not."},"InvitationRolesActionMetadata":{"type":"object","properties":{"invitationId":{"type":"string","minLength":1,"description":"Invitation whose system roles wait for a verified wallet to authorize them."},"inviteeEmail":{"type":"string","minLength":1,"description":"Address the invitation was sent to."},"onChainRoles":{"type":"array","items":{"type":"string","minLength":1},"description":"System roles the invitation asks to grant once the invitee joins."}},"required":["invitationId","inviteeEmail","onChainRoles"],"additionalProperties":false},"VenueApprovalActionMetadata":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1,"description":"Maker-checker record of the trading venue that waits for a second venue operator."},"kind":{"$ref":"#/components/schemas/VenueApprovalActionKind"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposerUserId":{"type":"string","minLength":1,"description":"User who proposed the record. That user can never decide it."}},"required":["approvalId","kind","venueAddress","proposerUserId"],"additionalProperties":false},"VenueApprovalActionKind":{"type":"string","enum":["desk-limit","bust","order-cancel","fee-schedule","venue-config","order-mass-cancel"],"description":"Whether the record is a desk limit change (`desk-limit`), a trade bust (`bust`), an order cancellation (`order-cancel`), a fee schedule change (`fee-schedule`), a venue configuration change (`venue-config`), or an operator mass cancel of open orders (`order-mass-cancel`)."},"PermitActionMetadata":{"type":"object","properties":{"signedPermitId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Stored signed permit a Custodian relays, the `signedPermitId` of the permit relay request."},"owner":{"$ref":"#/components/schemas/EvmAddress"},"spender":{"$ref":"#/components/schemas/EvmAddress"}},"required":["signedPermitId","owner","spender"],"additionalProperties":false},"CantonTransferAcceptActionMetadata":{"type":"object","properties":{"networkId":{"type":"string","minLength":1,"description":"Canton network that holds the transfer instruction."},"instrumentAdmin":{"type":"string","minLength":1,"description":"Admin party of the instrument, the `instrumentAdmin` of the transfer acceptance request."},"instrumentId":{"type":"string","minLength":1,"description":"Identifier of the instrument being transferred."},"instructionContractId":{"type":"string","minLength":1,"description":"Contract id of the pending transfer instruction, the `transferInstructionContractId` of the acceptance request."},"receiverParty":{"type":"string","minLength":1,"description":"Party the organization holds that accepts the transfer, the `cantonPartyId` of the acceptance request."},"senderParty":{"type":"string","minLength":1,"description":"Party that offered the transfer."},"amount":{"type":"string","minLength":1,"description":"Decimal amount the transfer carries."},"deadline":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"Instant after which the receiver can no longer accept. Null when the instruction names none."}},"required":["networkId","instrumentAdmin","instrumentId","instructionContractId","receiverParty","senderParty","amount","deadline"],"additionalProperties":false},"CantonCommandDecisionActionMetadata":{"type":"object","properties":{"submissionId":{"type":"string","minLength":1,"description":"Canton submission to decide, the `submissionId` of `POST /api/v2/wallets/submissions/{submissionId}/decision`."},"walletId":{"type":"string","minLength":1,"description":"Custody wallet that signs the command once it is approved."},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party the command acts as."},"networkId":{"type":"string","minLength":1,"description":"Canton network the command is submitted on."},"operation":{"type":"string","minLength":1,"description":"Short description of the command awaiting a decision."},"validUntil":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["submissionId","walletId","cantonPartyId","networkId","operation","validUntil"],"additionalProperties":false},"MultisigInviteActionMetadata":{"type":"object","properties":{"inviteId":{"type":"string"},"draftName":{"type":"string"},"inviteUrl":{"type":"string"},"weight":{"type":"string"},"threshold":{"type":"string"}},"required":["inviteId","draftName","inviteUrl","weight","threshold"],"additionalProperties":false},"ApprovalRequestActionMetadata":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1},"kind":{"type":"string","minLength":1},"subjectType":{"type":"string","minLength":1},"subjectId":{"type":"string","minLength":1},"viewerRole":{"$ref":"#/components/schemas/ApprovalRequestViewerRole"},"makerUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"makerName":{"type":"string","minLength":1,"description":"Display name of the user who asked for the change, recorded when the request was raised. Absent for system makers and requests raised before names were recorded."},"approvalsRecorded":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many distinct approvers have approved this request so far, none of them the maker. Shown next to approverCount as `1 of 2`."},"approverCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many distinct approvers the request needs before it completes. It is the count its approval family required when the request was made."},"approvedByViewer":{"type":"boolean","description":"True when the caller has already approved this request. A person approves a request once, so a pending request the caller approved waits for the other approvers and offers the caller no second decision."},"decision":{"anyOf":[{"$ref":"#/components/schemas/ApprovalRequestOutcome"},{"type":"null"}]},"decidedByUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"waivedByPolicy":{"type":"string","minLength":1,"description":"The approval policy family that waived this request: the organisation's policy asked for no second person, so no checker decided it and decidedByUserId is null."},"rejectionReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReasonCode":{"$ref":"#/components/schemas/ApprovalRequestRejectionReasonCode"},"adminMutation":{"$ref":"#/components/schemas/ApprovalRequestAdminMutation"},"reconciliationBreak":{"$ref":"#/components/schemas/ApprovalRequestReconciliationBreak"},"saleCreate":{"$ref":"#/components/schemas/ApprovalRequestSaleCreate"}},"required":["approvalId","kind","subjectType","subjectId","viewerRole","makerUserId","approvalsRecorded","approverCount","approvedByViewer","decision","decidedByUserId","decidedAt"],"additionalProperties":false},"ApprovalRequestSaleCreate":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"country":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"hardCap":{"type":"string"},"softCap":{"type":"string"},"saleStart":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"saleDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"minPurchase":{"type":"string"},"maxPurchase":{"type":"string"},"paymentCurrencies":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalRequestSaleCurrency"}},"vestingStart":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"vestingDuration":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"vestingCliff":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presaleEndTime":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"presaleDiscountMultiplier":{"type":"string"},"presaleMaxPerAddress":{"type":"string"},"presaleWhitelist":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"termsHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["chainId","tokenAddress","factoryAddress","country","hardCap","softCap","saleStart","saleDuration","minPurchase","maxPurchase","paymentCurrencies","vestingStart","vestingDuration","vestingCliff","presaleEndTime","presaleDiscountMultiplier","presaleMaxPerAddress","presaleWhitelist","termsHash"],"additionalProperties":false,"description":"Every term of a token-sale create request the checker approves. Amounts are raw integer strings in the smallest unit; times are Unix seconds."},"ApprovalRequestSaleCurrency":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/EvmAddress"},"priceRatio":{"type":"string"}},"required":["currency","priceRatio"],"additionalProperties":false},"ApprovalRequestReconciliationBreak":{"type":"object","properties":{"targetStatus":{"type":"string","enum":["resolved","written-off"]},"resolutionNote":{"type":"string","minLength":1},"walletId":{"type":"string","minLength":1},"assetKey":{"type":"string","minLength":1},"amount":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["targetStatus","resolutionNote","walletId","assetKey","amount"],"additionalProperties":false,"description":"The reconciliation break a resolution approval decides: the status it would apply, the maker's note, the wallet and asset, and the amount in base units (null when the chain could not answer)."},"ApprovalRequestAdminMutation":{"type":"object","properties":{"endpoint":{"type":"string","minLength":1},"method":{"type":"string","minLength":1},"path":{"type":"string","minLength":1},"target":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalRequestAdminMutationRow"},"description":"Path and query values that pick what the held request acts on."},"changes":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalRequestAdminMutationRow"},"description":"What the held request body sets, at most 40 rows, secrets redacted."},"before":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalRequestAdminMutationRow"},"description":"What the setting the request changes holds, in the same rows as changes, so a checker reads before and after. While the request waits for a decision it is the current policy, read when the row is served; once decided, it is the setting when the request was held. Present only on approval policy changes."},"truncated":{"type":"boolean","description":"Whether rows beyond the first 40 were left out."},"digest":{"type":"string","minLength":1,"description":"Digest of the full held request. The decision sends it back so it binds to what the checker read."}},"required":["endpoint","method","path","target","changes","truncated","digest"],"additionalProperties":false,"description":"The privileged change a checker decides: the endpoint, HTTP method and path the maker called, with a redacted summary of its target and changes and the digest the decision must carry. Headers are never part of it."},"ApprovalRequestAdminMutationRow":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the held request"},"value":{"type":"string","description":"The value the held request sets, as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":false},"ApprovalRequestRejectionReasonCode":{"type":"string","enum":["approval-expired","action-cancelled"],"description":"Stable code for a `rejectionReason` the platform wrote: `approval-expired` when a held administrative change, or a corporate action's approval, expired before a checker decided; `action-cancelled` when a corporate action was cancelled while its approval was still open. A lapsed or cancelled corporate-action approval reads `decision: rejected` with its code, so clients tell a lapse or a cancellation from a checker's rejection by the code. Absent when a checker wrote the reason. Clients show their own wording for a code they know and fall back to `rejectionReason` for one they do not."},"ApprovalRequestOutcome":{"type":"string","enum":["approved","rejected"]},"DividendActionMetadata":{"type":"object","properties":{"dividendId":{"type":"string","minLength":1},"payout":{"$ref":"#/components/schemas/DividendPayout"},"funding":{"$ref":"#/components/schemas/DividendFunding"}},"required":["dividendId"],"additionalProperties":false},"DividendFunding":{"type":"string","enum":["funded","awaiting-funding"]},"DividendPayout":{"type":"object","properties":{"amount":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["amount","symbol","decimals"],"additionalProperties":false},"GovernanceActionMetadata":{"type":"object","properties":{"governorAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"proposalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"pollId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["governorAddress","proposalId","pollId"],"additionalProperties":false},"CheckerApprovalActionMetadata":{"type":"object","properties":{"amount":{"anyOf":[{"type":"string"},{"type":"null"}]},"counterparty":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"counterpartyCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"additionalCallCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"tokenSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"tokenDecimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"multisigSigner":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"sender":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Account the checked call is made from, the smart wallet when the call goes through one. Null when the stored operation cannot be read."},"makerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the user who asked for the check, recorded when the request was raised. Null for system makers and rows raised before names were recorded."},"signerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the participant holding the checked key, recorded when the request was raised. Null when the key has no named holder or for rows raised before names were recorded."},"walletName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the participant holding the wallet the request acts for, recorded when the request was raised. Null when it has no named holder or for rows raised before names were recorded."}},"required":["amount","counterparty","counterpartyCount","additionalCallCount","tokenSymbol","tokenDecimals","multisigSigner","sender","makerName","signerName","walletName"],"additionalProperties":false},"CustodyPendingActionMetadata":{"type":"object","properties":{"provider":{"type":"string"},"executable":{"type":"boolean"},"approvalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"transactionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"operationKind":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["provider","executable","approvalId","transactionId","operationKind"],"additionalProperties":false},"MultisigActionMetadata":{"type":"object","properties":{"userOpHash":{"type":"string"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"initiatorAddress":{"$ref":"#/components/schemas/EvmAddress"},"initiatorName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the user who started the approval. Null for rows opened before names were recorded."},"threshold":{"type":"string"},"currentWeight":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"operationKind":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvalState":{"$ref":"#/components/schemas/MultisigApprovalState"},"awaitingCallerSignature":{"type":"boolean","description":"True while the approval still collects signatures and one of the caller's seats can still sign. False once the collected weight meets the threshold."},"startedByCaller":{"type":"boolean","description":"True when one of the caller's wallets started the approval."},"awaitingCheckerSigners":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Signers whose co-signature is held until their checker approves it. Empty when no signer waits for a checker."},"awaitingCheckers":{"type":"array","items":{"$ref":"#/components/schemas/MultisigCheckerHold"},"description":"The held co-signatures with the checker who must approve each. Filled while the caller has no signature to give and empty otherwise."},"awaitingSigners":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Signers of the wallet who have not signed and whose co-signature is not held for a checker. Filled while the caller has no signature to give and empty otherwise."},"callerSignedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the caller first signed this approval. Null when none of the caller's signers has signed."},"finalSigner":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Signer whose signature completed an executed approval. Null while the approval is not executed."},"finalSignedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the signature that completed an executed approval was given. Null while it is not executed."},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["userOpHash","walletAddress","initiatorAddress","initiatorName","threshold","currentWeight","description","operationKind","approvalState","awaitingCallerSignature","startedByCaller","awaitingCheckerSigners","awaitingCheckers","awaitingSigners","callerSignedAt","finalSigner","finalSignedAt","failureReason"],"additionalProperties":false},"MultisigCheckerHold":{"type":"object","properties":{"signer":{"$ref":"#/components/schemas/EvmAddress"},"checkerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the user whose approval releases the held co-signature. Null when the user has none."}},"required":["signer","checkerName"],"additionalProperties":false},"MultisigApprovalState":{"type":"string","enum":["pending","submitted","executed","expired","failed","cancelled"]},"KycActionMetadata":{"type":"object","properties":{"reason":{"type":"string"},"requiredFields":{"type":"array","items":{"type":"string"}},"sourceVersionId":{"type":"string"},"requestId":{"type":"string"}},"required":["reason","requiredFields","sourceVersionId","requestId"],"additionalProperties":false},"PortfolioActionInboxFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"audience":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"activeAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"executedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"actionType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"target":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"_search":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ContractInspection":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"hasCode":{"type":"boolean"},"token":{"anyOf":[{"type":"object","properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"anyOf":[{"$ref":"#/components/schemas/DecimalsEncoded"},{"type":"null"}]},"totalSupply":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]}},"required":["name","symbol","decimals","totalSupply"],"additionalProperties":false},{"type":"null"}]},"isSmart":{"type":"boolean"},"knownTo":{"anyOf":[{"type":"string"},{"type":"null"}]},"registration":{"type":"object","properties":{"eligible":{"type":"boolean"},"blockingReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["eligible","blockingReason"],"additionalProperties":false},"parentToken":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"The token this contract belongs to, such as the token a feature, schedule, sale or airdrop serves. Null when the address is a token itself or no token owns it."}},"required":["address","hasCode","token","isSmart","knownTo","registration"],"additionalProperties":false},"HistoricalBalanceRow":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"account":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"type":"string","enum":["account","totalSupply","no-checkpoint"]},"balance":{"$ref":"#/components/schemas/BigDecimal"},"balanceExact":{"$ref":"#/components/schemas/ApiBigIntEncoded"},"asOfBlockNumber":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"asOfBlockTimestamp":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"asOfTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"asOfLogIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["tokenAddress","account","kind","balance","balanceExact","asOfBlockNumber","asOfBlockTimestamp","asOfTxHash","asOfLogIndex"],"additionalProperties":false},"PortfolioAtBlockFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"PollExport":{"type":"object","properties":{"filename":{"type":"string"},"contentType":{"type":"string","enum":["text/csv"]},"csv":{"type":"string"}},"required":["filename","contentType","csv"],"additionalProperties":false},"PollTally":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"options":{"type":"array","items":{"type":"string"}},"recordDateAt":{"$ref":"#/components/schemas/TimestampEncoded"},"opensAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closesAt":{"$ref":"#/components/schemas/TimestampEncoded"},"status":{"type":"string","enum":["open","closed"]},"definitionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"createdBy":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"tally":{"type":"array","items":{"$ref":"#/components/schemas/PollTallyEntry"}},"totalBallots":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["id","chainId","tokenAddress","title","description","options","recordDateAt","opensAt","closesAt","status","definitionHash","createdBy","createdAt","updatedAt","tally","totalBallots"],"additionalProperties":false},"PollTallyEntry":{"type":"object","properties":{"optionIndex":{"type":"integer","minimum":0,"maximum":31},"label":{"type":"string"},"ballotCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"weightExact":{"type":"string"},"shareBps":{"$ref":"#/components/schemas/VoteShareBps_4"}},"required":["optionIndex","label","ballotCount","weightExact","shareBps"],"additionalProperties":false},"VoteShareBps_4":{"type":"integer","minimum":0,"maximum":10000,"description":"The option's share of the weight cast on the poll in basis points. The shares of every option add up to exactly 10000 once any weight is cast, and are all 0 before that."},"BallotRecorded":{"type":"object","properties":{"pollId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"voterAddress":{"$ref":"#/components/schemas/EvmAddress"},"optionIndex":{"type":"integer","minimum":0,"maximum":31},"typedData":{"$ref":"#/components/schemas/BallotTypedData"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"},"weightExact":{"type":"string"},"submittedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["pollId","voterAddress","optionIndex","typedData","signature","weightExact","submittedAt"],"additionalProperties":false},"BallotTypedData":{"type":"object","properties":{"domain":{"$ref":"#/components/schemas/BallotDomain"},"types":{"type":"object","properties":{"PollBallot":{"type":"array","items":{"$ref":"#/components/schemas/Eip712Field"}}},"required":["PollBallot"],"additionalProperties":false},"primaryType":{"type":"string","enum":["PollBallot"]},"message":{"$ref":"#/components/schemas/BallotPayload"}},"required":["domain","types","primaryType","message"],"additionalProperties":false},"BallotPayload":{"type":"object","properties":{"pollId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"voter":{"$ref":"#/components/schemas/EvmAddress"},"optionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"definitionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["pollId","chainId","tokenAddress","voter","optionIndex","definitionHash"],"additionalProperties":false},"Eip712Field":{"type":"object","properties":{"name":{"type":"string","minLength":1},"type":{"type":"string","minLength":1}},"required":["name","type"],"additionalProperties":false},"BallotDomain":{"type":"object","properties":{"name":{"type":"string","minLength":1},"version":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"salt":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["name","version","chainId","salt"],"additionalProperties":false},"BallotSignRequest":{"type":"object","properties":{"optionIndex":{"type":"integer","minimum":0,"maximum":31},"externalMessageAuthorization":{"$ref":"#/components/schemas/PortfolioExternalMessageAuthorization"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["optionIndex"],"additionalProperties":false},"PortfolioExternalMessageAuthorization":{"type":"object","properties":{"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signature"],"additionalProperties":false},"BallotCast":{"type":"object","properties":{"voter":{"$ref":"#/components/schemas/EvmAddress"},"optionIndex":{"type":"integer","minimum":0,"maximum":31},"definitionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["voter","optionIndex","definitionHash","signature"],"additionalProperties":false},"PollReadView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"options":{"type":"array","items":{"type":"string"}},"recordDateAt":{"$ref":"#/components/schemas/TimestampEncoded"},"opensAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closesAt":{"$ref":"#/components/schemas/TimestampEncoded"},"status":{"type":"string","enum":["open","closed"]},"definitionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"createdBy":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"tally":{"type":"array","items":{"$ref":"#/components/schemas/PollTallyEntry"}},"totalBallots":{"type":"integer","minimum":0,"maximum":9007199254740991},"callerBallotCast":{"type":"boolean"},"callerWalletVotes":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CallerWalletVotes"}},{"type":"null"}],"description":"The caller's wallets that held voting power at the poll's record date, largest first. Empty when none did, so the caller cannot vote. Null when the voting power could not be read."}},"required":["id","chainId","tokenAddress","title","description","options","recordDateAt","opensAt","closesAt","status","definitionHash","createdBy","createdAt","updatedAt","tally","totalBallots","callerBallotCast","callerWalletVotes"],"additionalProperties":false},"CallerWalletVotes":{"type":"object","properties":{"wallet":{"$ref":"#/components/schemas/EvmAddress"},"votes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"required":["wallet","votes"],"additionalProperties":false},"PollView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"title":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"options":{"type":"array","items":{"type":"string"}},"recordDateAt":{"$ref":"#/components/schemas/TimestampEncoded"},"opensAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closesAt":{"$ref":"#/components/schemas/TimestampEncoded"},"status":{"type":"string","enum":["open","closed"]},"definitionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"createdBy":{"type":"string"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","chainId","tokenAddress","title","description","options","recordDateAt","opensAt","closesAt","status","definitionHash","createdBy","createdAt","updatedAt"],"additionalProperties":false},"PollFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["open","closed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordDateAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"opensAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"closesAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"PollCreate":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"title":{"type":"string","minLength":1,"maxLength":500},"description":{"type":"string","maxLength":10000},"options":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"minItems":2,"maxItems":32},"recordDateAt":{"$ref":"#/components/schemas/TimestampEncoded"},"opensAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closesAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["tokenAddress","title","options","recordDateAt","opensAt","closesAt"],"additionalProperties":false},"ProposalDocumentDownloadGrant":{"type":"object","properties":{"downloadUrl":{"type":"string"},"fileName":{"type":"string","minLength":1},"mimeType":{"type":"string","minLength":1},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["downloadUrl","fileName","mimeType","expiresAt"],"additionalProperties":false},"ProposalDocumentUploadGrant":{"type":"object","properties":{"uploadUrl":{"type":"string"},"objectKey":{"type":"string","minLength":1},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"required":["uploadUrl","objectKey","expiresAt","method","headers"],"additionalProperties":false},"ProposalDocumentUpload":{"type":"object","properties":{"fileName":{"type":"string","minLength":1,"maxLength":255},"fileSize":{"type":"integer","minimum":1,"maximum":26214400},"mimeType":{"type":"string","enum":["application/pdf","image/jpeg","image/png","image/webp","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"]}},"required":["fileName","fileSize","mimeType"],"additionalProperties":false},"ProposalPreflight":{"type":"object","properties":{"governorExists":{"type":"boolean"},"governorAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"timelockAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"votingPowerAttached":{"type":"boolean"},"actionAuthority":{"type":"array","items":{"type":"object","properties":{"action":{"type":"string","minLength":1},"target":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"hasTimelockAuthority":{"type":"boolean"},"operationAllowlisted":{"type":"boolean"}},"required":["action","target","hasTimelockAuthority","operationAllowlisted"],"additionalProperties":false}},"grantRoleCta":{"anyOf":[{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"role":{"type":"string","minLength":1},"grantee":{"$ref":"#/components/schemas/EvmAddress"},"callerCanGrant":{"type":"boolean"}},"required":["tokenAddress","role","grantee","callerCanGrant"],"additionalProperties":false},{"type":"null"}]},"metadataKeyLocks":{"type":"array","items":{"type":"object","properties":{"actionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"entryIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"key":{"type":"string"},"lock":{"$ref":"#/components/schemas/MetadataKeyLock"}},"required":["actionIndex","entryIndex","key","lock"],"additionalProperties":false},"description":"Set metadata entries the vote cannot apply, by action and entry position. Creating the vote is refused while any remain."}},"required":["governorExists","governorAddress","timelockAddress","votingPowerAttached","actionAuthority","grantRoleCta","metadataKeyLocks"],"additionalProperties":false},"MetadataKeyLock":{"type":"string","enum":["lockedOnToken","offchain","lockedInVote"],"description":"Why a vote cannot set a metadata key: `lockedOnToken` when the token has locked it, `offchain` when the token's template keeps it off chain, `lockedInVote` when an earlier entry in the same vote locks it."},"GovernanceAction":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["setCap"]},"args":{"type":"object","properties":{"newCap":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"required":["newCap"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setMetadata"]},"args":{"type":"object","properties":{"entries":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":1},"value":{"$ref":"#/components/schemas/EthereumHexEncoded"},"immutable":{"type":"boolean"}},"required":["key","value","immutable"],"additionalProperties":false},"minItems":1,"maxItems":50}},"required":["entries"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["removeMetadata"]},"args":{"type":"object","properties":{"key":{"type":"string","minLength":1}},"required":["key"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setYieldSchedule"]},"args":{"type":"object","properties":{"schedule":{"$ref":"#/components/schemas/EvmAddress"}},"required":["schedule"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["mature"]},"args":{"type":"object"}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setMaturityTreasury"]},"args":{"type":"object","properties":{"newTreasury":{"$ref":"#/components/schemas/EvmAddress"}},"required":["newTreasury"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setYieldTreasury"]},"args":{"type":"object","properties":{"newTreasury":{"$ref":"#/components/schemas/EvmAddress"}},"required":["newTreasury"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setAumFeeBps"]},"args":{"type":"object","properties":{"newFeeBps":{"$ref":"#/components/schemas/FeeRateBps"}},"required":["newFeeBps"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setAumFeeRecipient"]},"args":{"type":"object","properties":{"newRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["newRecipient"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setTransactionFeeRates"]},"args":{"type":"object","properties":{"newRates":{"$ref":"#/components/schemas/FeeRatesArgs"}},"required":["newRates"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setTransactionFeeRecipient"]},"args":{"type":"object","properties":{"newRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["newRecipient"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setTransactionFeeAccountingRates"]},"args":{"type":"object","properties":{"newRates":{"$ref":"#/components/schemas/FeeRatesArgs"}},"required":["newRates"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setTransactionFeeAccountingRecipient"]},"args":{"type":"object","properties":{"newRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["newRecipient"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setExternalTransactionFeeRecipient"]},"args":{"type":"object","properties":{"newRecipient":{"$ref":"#/components/schemas/EvmAddress"}},"required":["newRecipient"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["setConversionWindow"]},"args":{"type":"object","properties":{"start":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"end":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"required":["start","end"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["publishConversionTrigger"]},"args":{"type":"object","properties":{"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"},"roundPricePerShareWad":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"expiresAt":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"metadataHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["triggerId","denominationAsset","roundPricePerShareWad","expiresAt","metadataHash"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["disableConversionTrigger"]},"args":{"type":"object","properties":{"triggerId":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["triggerId"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["addAuthorizedConverter"]},"args":{"type":"object","properties":{"converter":{"$ref":"#/components/schemas/EvmAddress"}},"required":["converter"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["removeAuthorizedConverter"]},"args":{"type":"object","properties":{"converter":{"$ref":"#/components/schemas/EvmAddress"}},"required":["converter"],"additionalProperties":false}},"required":["action","args"],"additionalProperties":false}]},"FeeRatesArgs":{"type":"object","properties":{"mintFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"burnFeeBps":{"$ref":"#/components/schemas/FeeRateBps"},"transferFeeBps":{"$ref":"#/components/schemas/FeeRateBps"}},"required":["mintFeeBps","burnFeeBps","transferFeeBps"],"additionalProperties":false},"GovernanceInstance":{"type":"object","properties":{"exists":{"type":"boolean"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"governorAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"timelockAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"votesSourceAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["exists","tokenAddress","governorAddress","timelockAddress","votesSourceAddress"],"additionalProperties":false},"BlockchainMutationMeta":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string"},"description":"Hashes of the transactions this write submitted, in submission order. Empty when the route succeeded without a chain write.","examples":[["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]]},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["01934567-89ab-7def-8123-456789abcdef"]}},"required":["txHashes"],"additionalProperties":false,"description":"Settlement metadata on a synchronous (HTTP 200) mutation. Use the hashes with a block explorer, and the transaction id with the transaction-request status route."},"ProposalLifecycle":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["tokenAddress","governorAddress","proposalId"],"additionalProperties":false},"CantonAddonOperationOutput":{"type":"object","properties":{"operationId":{"type":"string","minLength":1,"description":"Durable operation identifier. It is also the submission identifier, so `/api/v2/transaction-requests` reports this operation's progress under the same id."},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"contractId":{"type":"string","description":"Contract id the submission created, when the operation created one."}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false},"CantonGovernanceExecutionCapabilityRevokeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."}},"required":["cantonPartyId"],"additionalProperties":false,"description":"Retires the execution capability the path names, by running `GovernanceExecutionCapability_Revoke`, which disarms every queued proposal that would have executed under it."},"CantonGovernanceConfigRevokeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."}},"required":["cantonPartyId"],"additionalProperties":false,"description":"Retires the governance configuration the path names, by running `GovernanceConfig_Revoke`."},"CantonGovernanceExecutionCapabilityCreateInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"observers":{"type":"array","items":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."}},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"instrumentId":{"type":"string","minLength":1,"description":"Identifier of the Canton instrument this configuration governs, as the token read returns it."}},"required":["cantonPartyId","instrumentAdmin","instrumentId"],"additionalProperties":false,"description":"Opens a governance execution capability on the instrument the body names: the standing delegation an approved and queued proposal performs its action through."},"CantonGovernanceConfigCreateInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"observers":{"type":"array","items":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."}},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"instrumentId":{"type":"string","minLength":1,"description":"Identifier of the Canton instrument this configuration governs, as the token read returns it."},"quorumBps":{"$ref":"#/components/schemas/CantonQuorumBps"},"votingWindow":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$","description":"Whole microseconds of the interval."}},"required":["microseconds"],"additionalProperties":false},"timelockDelay":{"type":"object","properties":{"microseconds":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$","description":"Whole microseconds of the interval."}},"required":["microseconds"],"additionalProperties":false}},"required":["cantonPartyId","instrumentAdmin","instrumentId","quorumBps","votingWindow","timelockDelay"],"additionalProperties":false,"description":"Opens a governance configuration on the instrument the body names: a quorum, the window a vote stays open, and the delay between a passed vote and its execution."},"CantonQuorumBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"GovernanceLifecycleSettledData":{"anyOf":[{"type":"object","properties":{"transactionHash":{"type":"string"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"required":["transactionHash","proposalId"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonAddonOperationOutput"}]},"GovernanceProposalExecute":{"anyOf":[{"$ref":"#/components/schemas/CantonGovernanceExecuteInput"},{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}}},"required":["tokenAddress","governorAddress","proposalId"],"additionalProperties":false}],"description":"The body of an execute operation. A body carrying `instrumentAdmin` is the Canton arm and names the capability the proposal executes under; a body carrying `governorAddress` is the EVM arm."},"CantonGovernanceExecuteInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"proposalContractId":{"type":"string","minLength":1,"description":"Contract id of the queued proposal being executed."},"capabilityContractId":{"type":"string","minLength":1,"description":"Contract id of the execution capability the proposal executes under."},"rulesContractId":{"type":"string","minLength":1,"description":"Contract id of the instrument's registry rules, presented with the execution so the ledger can gate it."}},"required":["cantonPartyId","instrumentAdmin","proposalContractId","capabilityContractId","rulesContractId"],"additionalProperties":false,"description":"Executes the queued proposal the body names, by running `Proposal_Execute` under its capability."},"GovernanceProposalQueue":{"anyOf":[{"$ref":"#/components/schemas/CantonGovernanceQueueInput"},{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}}},"required":["tokenAddress","governorAddress","proposalId"],"additionalProperties":false}],"description":"The body of a queue operation. A body carrying `instrumentAdmin` is the Canton arm and closes the proposal's vote with the snapshot supply it passes; a body carrying `governorAddress` is the EVM arm."},"CantonGovernanceQueueInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"proposalContractId":{"type":"string","minLength":1,"description":"Contract id of the proposal whose vote is being closed."},"snapshotSupply":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$","description":"Exact decimal amount in the instrument's own unit, up to ten decimal places."}},"required":["cantonPartyId","instrumentAdmin","proposalContractId","snapshotSupply"],"additionalProperties":false,"description":"Closes the proposal's vote with the snapshot supply the body passes, by running `Proposal_CloseVote`."},"VoteCastPreflightOutput":{"type":"object","properties":{"action":{"type":"string","enum":["castVote"]}},"required":["action"],"additionalProperties":false,"description":"The vote would be accepted now. Nothing was signed or queued. The refusals it can return are the ones the vote returns for the same state, so a ballot that is cleared here can still be refused if the state changes before it is sent."},"VoteCastPreflight":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"support":{"type":"string","enum":["against","for","abstain"]},"optionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reason":{"type":"string","maxLength":2000}},"required":["tokenAddress","governorAddress","proposalId"],"additionalProperties":false},"GovernanceVoteCast":{"anyOf":[{"$ref":"#/components/schemas/CantonGovernanceVoteInput"},{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"support":{"type":"string","enum":["against","for","abstain"]},"optionIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"reason":{"type":"string","maxLength":2000},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}}},"required":["tokenAddress","governorAddress","proposalId"],"additionalProperties":false}],"description":"The body of a ballot. A body carrying `instrumentAdmin` is the Canton arm and names the proposal and its voting-power record by contract id; a body carrying `governorAddress` is the EVM arm."},"CantonGovernanceVoteInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"proposalContractId":{"type":"string","minLength":1,"description":"Contract id of the proposal being voted on."},"votingPowerRecordContractId":{"type":"string","minLength":1,"description":"Contract id of the voting-power record the ballot's weight is read from."},"account":{"type":"object","properties":{"owner":{"anyOf":[{"type":"string"},{"type":"null"}]},"provider":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"type":"string"}},"required":["owner","provider","id"],"additionalProperties":false,"description":"The account an operation acts on, exactly as a Canton read returned it: `owner` and `provider` are parties, `id` is the account's label and may be empty for a party's unnamed account."},"support":{"type":"string","enum":["VoteFor","VoteAgainst","VoteAbstain"],"description":"The ballot direction. `VoteAbstain` counts toward quorum, not toward either side."}},"required":["cantonPartyId","instrumentAdmin","proposalContractId","votingPowerRecordContractId","account","support"],"additionalProperties":false,"description":"Casts a ballot on the proposal the body names, by running `Proposal_Vote`."},"ProposalExport":{"type":"object","properties":{"filename":{"type":"string"},"contentType":{"type":"string","enum":["text/csv"]},"csv":{"type":"string"}},"required":["filename","contentType","csv"],"additionalProperties":false},"ProposalTurnoutPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"turnout":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Ballots cast by the end of the bucket, as a percentage of the electorate at the record date."}},"required":["t","turnout"],"additionalProperties":false,"description":"The cumulative turnout at one bucket of a proposal's voting window."},"ProposalBallot":{"type":"object","properties":{"voter":{"$ref":"#/components/schemas/EvmAddress"},"support":{"type":"string","enum":["for","against","abstain","option"]},"optionIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"optionLabel":{"anyOf":[{"type":"string"},{"type":"null"}]},"weight":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]},"castAt":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"type":"string"}},"required":["voter","support","optionIndex","optionLabel","weight","reason","castAt","transactionHash"],"additionalProperties":false},"ProposalBallotFilters":{"type":"object","properties":{"voter":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"castAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"ProposalReadView":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"timelockAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"votesSourceAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"status":{"type":"string","enum":["pending","active","succeeded","defeated","queued","executed","canceled"]},"mode":{"type":"string","enum":["binary","multiOption"]},"optionCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdExternally":{"type":"boolean"},"snapshotAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"deadlineAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"etaAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"quorumBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"approvalThresholdBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"votingPeriodSeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"executionDelaySeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"forVotes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"againstVotes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"abstainVotes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"totalBallots":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"optionTallies":{"anyOf":[{"$ref":"#/components/schemas/ProposalOptionTallies"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"executedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"canceledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"targets":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},{"type":"null"}]},"values":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},{"type":"null"}]},"calldatas":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"descriptionHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"descriptionRichText":{"anyOf":[{"type":"string"},{"type":"null"}]},"documents":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/DocumentLink"}},{"type":"null"}]},"options":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"supersedesProposalId":{"anyOf":[{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},{"type":"null"}]},"snapshotTotalVotingUnits":{"anyOf":[{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},{"type":"null"}]},"quorumVotes":{"anyOf":[{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},{"type":"null"}]},"approvalVotes":{"anyOf":[{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},{"type":"null"}]},"results":{"$ref":"#/components/schemas/VoteResults"},"callerSnapshotVotes":{"anyOf":[{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},{"type":"null"}]},"callerWalletVotes":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CallerWalletVotes"}},{"type":"null"}]}},"required":["id","governorAddress","timelockAddress","tokenAddress","votesSourceAddress","proposer","status","mode","optionCount","title","description","createdExternally","snapshotAt","deadlineAt","etaAt","quorumBps","approvalThresholdBps","votingPeriodSeconds","executionDelaySeconds","forVotes","againstVotes","abstainVotes","totalBallots","optionTallies","createdAt","executedAt","canceledAt","targets","values","calldatas","descriptionHash","descriptionRichText","documents","options","supersedesProposalId","snapshotTotalVotingUnits","quorumVotes","approvalVotes","results","callerSnapshotVotes","callerWalletVotes"],"additionalProperties":false},"VoteResults":{"type":"object","properties":{"segments":{"type":"array","items":{"$ref":"#/components/schemas/VoteResultSegment"},"description":"For, against and abstain on a resolution; one entry per option on a multi-option vote."},"notVotedBps":{"$ref":"#/components/schemas/VoteShareBps_2"},"turnoutBps":{"anyOf":[{"$ref":"#/components/schemas/VoteShareBps_3"},{"type":"null"}],"description":"Ballots cast over the electorate at the record date. Null when the electorate is unknown."},"quorumTickBps":{"anyOf":[{"$ref":"#/components/schemas/VoteShareBps_3"},{"type":"null"}],"description":"Where the quorum falls on the result bar. Null when there is no quorum to show."},"approvalTickBps":{"anyOf":[{"$ref":"#/components/schemas/VoteShareBps_3"},{"type":"null"}],"description":"Where the votes for must reach to pass the approval threshold, on the result bar. Null on a multi-option vote or without a threshold."},"approvalBps":{"anyOf":[{"$ref":"#/components/schemas/VoteShareBps_3"},{"type":"null"}],"description":"Votes for over votes for and against. Null on a multi-option vote or before any decisive vote."},"quorumMet":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether the ballots cast reach the quorum. Null when the quorum is not known."},"approvalMet":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Null on a multi-option vote, which has no approval threshold."},"leaderOptionIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The option ahead on a multi-option vote. Null with no ballots or on a tie."},"tie":{"type":"boolean"}},"required":["segments","notVotedBps","turnoutBps","quorumTickBps","approvalTickBps","approvalBps","quorumMet","approvalMet","leaderOptionIndex","tie"],"additionalProperties":false,"description":"The vote result, computed on the server with exact integer maths."},"VoteShareBps_3":{"type":"integer","minimum":0,"maximum":10000,"description":"A share of the voting weight in basis points, 0 to 10000."},"VoteShareBps_2":{"type":"integer","minimum":0,"maximum":10000,"description":"The part of the electorate that has not voted, so that `turnoutBps` and this add up to 10000. 0 when the electorate is unknown."},"VoteResultSegment":{"type":"object","properties":{"kind":{"type":"string","enum":["for","against","abstain","option"]},"optionIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"votes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"shareBps":{"$ref":"#/components/schemas/VoteShareBps"},"barBps":{"$ref":"#/components/schemas/VoteShareBps_1"}},"required":["kind","optionIndex","votes","shareBps","barBps"],"additionalProperties":false},"VoteShareBps_1":{"type":"integer","minimum":0,"maximum":10000,"description":"This choice's width on the result bar. The bar spans the electorate at the record date, or the ballots cast when the electorate is unknown. The widths and `notVotedBps` add up to 10000."},"VoteShareBps":{"type":"integer","minimum":0,"maximum":10000,"description":"This choice's share of the ballots cast. The shares add up to exactly 10000 once any ballot is cast, and are all 0 before that."},"DocumentLink":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200},"url":{"type":"string","maxLength":2048},"objectKey":{"type":"string","minLength":1},"fileName":{"type":"string","minLength":1,"maxLength":255},"mimeType":{"type":"string","minLength":1},"fileSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["title"],"additionalProperties":false},"ProposalOptionTallies":{"type":"object","additionalProperties":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"BasisPoints":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"GovernanceCreateSettledData":{"anyOf":[{"type":"object","properties":{"transactionHash":{"type":"string"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"timelockAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"}},"required":["transactionHash","governorAddress","timelockAddress","proposalId"],"additionalProperties":false},{"$ref":"#/components/schemas/CantonAddonOperationOutput"}]},"GovernanceProposalCreate":{"anyOf":[{"$ref":"#/components/schemas/CantonGovernanceProposeInput"},{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"mode":{"type":"string","enum":["binary","multiOption"]},"title":{"type":"string","minLength":1,"maxLength":300},"descriptionRichText":{"type":"string","minLength":1},"documents":{"type":"array","items":{"$ref":"#/components/schemas/DocumentLink"},"maxItems":20},"options":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"minItems":2,"maxItems":10},"actions":{"type":"array","items":{"$ref":"#/components/schemas/GovernanceAction"},"maxItems":10},"recordDateAt":{"$ref":"#/components/schemas/TimestampEncoded"},"votingPeriodSeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quorumBps":{"$ref":"#/components/schemas/BasisPoints"},"approvalThresholdBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"executionDelaySeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quorumFloorBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"approvalThresholdFloorBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"supersedesProposalId":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"instrumentAdmin":{"not":{}}},"required":["tokenAddress","mode","title","descriptionRichText","recordDateAt","quorumBps"],"additionalProperties":false}],"description":"The body of a proposal creation. A body carrying `instrumentAdmin` is the Canton arm and names its configuration by contract id; a body carrying `tokenAddress` is the EVM arm."},"CantonGovernanceProposeInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"instrumentAdmin":{"type":"string","minLength":1,"description":"Canton party identifier, as the party registry or a platform read spells it."},"configContractId":{"type":"string","minLength":1,"description":"Contract id of the governance configuration the proposal opens against."},"proposalId":{"type":"string","minLength":1,"description":"Identifier the proposal is recorded under inside its configuration."},"description":{"type":"string"},"action":{"anyOf":[{"type":"object","properties":{"tag":{"type":"string","enum":["GovMint"]},"value":{"type":"object","properties":{"account":{"type":"object","properties":{"owner":{"anyOf":[{"type":"string"},{"type":"null"}]},"provider":{"anyOf":[{"type":"string"},{"type":"null"}]},"id":{"type":"string"}},"required":["owner","provider","id"],"additionalProperties":false,"description":"The account an operation acts on, exactly as a Canton read returned it: `owner` and `provider` are parties, `id` is the account's label and may be empty for a party's unnamed account."},"amount":{"type":"string","pattern":"^-?(0|[1-9]\\d*)(\\.\\d{1,10})?$","description":"Exact decimal amount in the instrument's own unit, up to ten decimal places."}},"required":["account","amount"],"additionalProperties":false}},"required":["tag","value"],"additionalProperties":false},{"type":"object","properties":{"tag":{"type":"string","enum":["GovText"]},"value":{"type":"object","properties":{"marker":{"type":"string","minLength":1}},"required":["marker"],"additionalProperties":false}},"required":["tag","value"],"additionalProperties":false}],"description":"Actions the proposal executes when it passes. `GovMint` mints `amount` into `account`; `GovText` records an off-ledger marker, which is how a resolution-only proposal is expressed."},"recordAt":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,6})?Z$","description":"A ledger timestamp in UTC, microsecond precision."}},"required":["cantonPartyId","instrumentAdmin","configContractId","proposalId","description","action","recordAt"],"additionalProperties":false,"description":"Opens a proposal on the governance configuration the body names, by running `Proposal_Create`."},"ProposalListRow":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"governorAddress":{"$ref":"#/components/schemas/EvmAddress"},"timelockAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"votesSourceAddress":{"$ref":"#/components/schemas/EvmAddress"},"proposer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"status":{"type":"string","enum":["pending","active","succeeded","defeated","queued","executed","canceled"]},"mode":{"type":"string","enum":["binary","multiOption"]},"optionCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}]},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdExternally":{"type":"boolean"},"snapshotAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"deadlineAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"etaAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"quorumBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"approvalThresholdBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"votingPeriodSeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"executionDelaySeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"forVotes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"againstVotes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"abstainVotes":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"totalBallots":{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},"optionTallies":{"anyOf":[{"$ref":"#/components/schemas/ProposalOptionTallies"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"executedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"canceledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"callerBallotCast":{"type":"boolean"},"callerSnapshotVotes":{"anyOf":[{"type":"string","minLength":1,"maxLength":78,"pattern":"^\\d+$"},{"type":"null"}]},"callerWalletVotes":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/CallerWalletVotes"}},{"type":"null"}]}},"required":["id","governorAddress","timelockAddress","tokenAddress","votesSourceAddress","proposer","status","mode","optionCount","title","description","createdExternally","snapshotAt","deadlineAt","etaAt","quorumBps","approvalThresholdBps","votingPeriodSeconds","executionDelaySeconds","forVotes","againstVotes","abstainVotes","totalBallots","optionTallies","createdAt","executedAt","canceledAt","callerBallotCast","callerSnapshotVotes","callerWalletVotes"],"additionalProperties":false},"ProposalFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"token":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["pending","active","succeeded","defeated","queued","executed","canceled"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"mode":{"anyOf":[{"type":"string","enum":["binary","multiOption"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"proposer":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"deadlineAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"held":{"type":"string","enum":["true"]}},"additionalProperties":false},"NativeBalanceObservation":{"type":"object","properties":{"id":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"},"nativeBalance":{"$ref":"#/components/schemas/ApiBigIntEncoded"},"nativeBalanceObservedAtBlock":{"$ref":"#/components/schemas/ApiBigIntEncoded"},"nativeBalanceObservedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","chainId","address","nativeBalance","nativeBalanceObservedAtBlock","nativeBalanceObservedAt"],"additionalProperties":false},"PortfolioNativeBalanceHistoryFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"since":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ChainIdEncoded":{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},"AccountView":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"},"entityType":{"type":"string","enum":["eoa","asset","bond","equity","fund","deposit","stablecoin","real-estate","precious-metal","system","smart-account","operator-wallet","contract"]},"contractName":{"anyOf":[{"type":"string"},{"type":"null"}]},"nativeBalance":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"nativeBalanceObservedAtBlock":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"nativeBalanceObservedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"funding":{"anyOf":[{"$ref":"#/components/schemas/PayerFunding"},{"type":"null"}],"description":"How this account pays gas and whether it holds enough; null for an account that never pays gas."},"lastBalanceIncreaseAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["chainId","address","entityType","contractName","nativeBalance","nativeBalanceObservedAtBlock","nativeBalanceObservedAt","funding"],"additionalProperties":false},"PayerFunding":{"type":"object","properties":{"role":{"type":"string","enum":["signer","bundler","relayer","paymaster","refund-splitter","operator-wallet"]},"measure":{"type":"string","enum":["native","entrypoint-deposit","pass-through"]},"measuredWei":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"lowMarkWei":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"status":{"type":"string","enum":["not-needed","not-observed","low","healthy"]}},"required":["role","measure","measuredWei","lowMarkWei","status"],"additionalProperties":false,"description":"How this account pays gas and whether it holds enough, judged by the server. `measure` names what `measuredWei` holds: the native balance, the paymaster's EntryPoint deposit, or, for the refund splitter, its native balance reported but never judged, because it only passes refunds through and is healthy at zero. `status` is `not-needed` on a chain that charges no gas, `low` when `measuredWei` is under `lowMarkWei`, and `not-observed` until a measurement exists."},"ExternalTokenView":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"totalSupply":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Total supply read from the token contract at registration; `asOf` says when."},"totalSupplyExact":{"$ref":"#/components/schemas/ApiBigIntEncoded"},"type":{"type":"string","minLength":1},"pausable":{"anyOf":[{"type":"object","properties":{"paused":{"type":"boolean"}},"required":["paused"],"additionalProperties":false},{"type":"null"}]},"asOf":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When `totalSupply`, `totalSupplyExact` and `pausable` were read from the chain. `null` when that time was not recorded, as for tokens registered before it was."},"externalRegisteredAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"externalRegisteredBy":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}]},"externalDetectedInterfaces":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"implementsERC3643":{"type":"boolean"},"implementsSMART":{"type":"boolean"},"origin":{"$ref":"#/components/schemas/ExternalTokenOrigin"},"dismissed":{"type":"boolean","description":"Whether a token manager dismissed the token. A dismissed token stays registered, and the platform does not detect it again; registering it by hand brings it back. The organization's holdings, portfolio, holder lists, token catalog, token details, and marks leave it out. Only token managers see dismissed tokens."},"indexingStatus":{"type":"string","enum":["not_indexed","catching_up","attention","indexed"],"description":"Whether the indexer tracks this token: `not_indexed` when the organization's system is outside the indexing scope, `catching_up` while its registration or history is still being indexed, `attention` when indexing failed or the token is quarantined, `indexed` otherwise."},"quarantineReason":{"anyOf":[{"$ref":"#/components/schemas/ExternalTokenQuarantineReason"},{"type":"null"}],"description":"Why the indexer stopped tracking the token's balances and supply, or `null` while it tracks them. Present only for callers holding the tokenManager role."}},"required":["id","name","symbol","decimals","totalSupply","type","pausable","asOf","externalRegisteredAt","externalRegisteredBy","externalDetectedInterfaces","implementsERC3643","implementsSMART","origin","dismissed","indexingStatus"],"additionalProperties":false},"ExternalTokenQuarantineReason":{"type":"string","enum":["reverted","undecodable","read-timeout","supply-inconsistent","balance-inconsistent","oversized-block","counter-overflow"],"description":"Why the indexer stopped tracking an external token: its `balanceOf` or `totalSupply()` read `reverted` (including a read that ran out of gas), or answered a value that was `undecodable`; the read kept timing out while the node answered other calls at the same block, a `read-timeout`; its burns took supply below zero, so its events were `supply-inconsistent` with its supply; a transfer out of a tracked wallet took that wallet's balance below zero, or a tracked wallet's `balanceOf` disagreed with the balance its transfers add up to, so its events were `balance-inconsistent` with the wallet's balance; its events in one block outgrew one RPC log response, an `oversized-block`; or its transfers pushed its supply, minted or burned total, or a balance past 78 digits, a `counter-overflow`."},"ExternalTokenOrigin":{"type":"string","enum":["manual","auto"],"description":"How the token was registered: `manual` when a token manager registered it, `auto` when the platform detected it arriving in a managed wallet and registered it."},"ExternalTokenRegisterResult":{"anyOf":[{"$ref":"#/components/schemas/ExternalTokenRegistered"},{"$ref":"#/components/schemas/ExternalTokenPromoted"}],"description":"What the route accepted: the address it queued, or only the address when it accepted an auto-detected token without a new transaction."},"ExternalTokenPromoted":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["tokenAddress"],"additionalProperties":false,"description":"An auto-detected or dismissed token the organization brought back by registering it by hand. The token was already in the on-chain registry and its registered type needed no update, so no transaction was submitted."},"ExternalTokenRegistered":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["txHash","tokenAddress"],"additionalProperties":false},"ExternalTokenRegister":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenType":{"type":"string","minLength":1},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["tokenAddress","tokenType"],"additionalProperties":false},"PortfolioExternalTokenFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"symbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"type":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"tokenType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"origin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"dismissed":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"externalRegisteredAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"ReturnsView":{"type":"object","properties":{"amounts":{"$ref":"#/components/schemas/ReturnsAmounts"},"byType":{"type":"array","items":{"$ref":"#/components/schemas/ReturnsByType"}},"byAsset":{"type":"array","items":{"$ref":"#/components/schemas/ReturnsByAsset"}},"upcomingEvents":{"type":"array","items":{"$ref":"#/components/schemas/ReturnsUpcomingEvent"}}},"required":["amounts","byType","byAsset","upcomingEvents"],"additionalProperties":false},"ReturnsUpcomingEvent":{"type":"object","properties":{"assetAddress":{"$ref":"#/components/schemas/EvmAddress"},"assetName":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"returnType":{"type":"string","enum":["fixed","dividend","interest"]},"label":{"type":"string"},"eventAt":{"$ref":"#/components/schemas/TimestampEncoded"},"amount":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]}},"required":["assetAddress","assetName","assetSymbol","returnType","label","eventAt","amount"],"additionalProperties":false},"ReturnsByAsset":{"type":"object","properties":{"amounts":{"$ref":"#/components/schemas/ReturnsAmounts"},"assetAddress":{"$ref":"#/components/schemas/EvmAddress"},"assetName":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetSymbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"assetType":{"anyOf":[{"type":"string"},{"type":"null"}]},"returnType":{"type":"string","enum":["fixed","dividend","interest"]},"rateBps":{"anyOf":[{"$ref":"#/components/schemas/BasisPoints"},{"type":"null"}]},"nextEventAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"accrual":{"anyOf":[{"$ref":"#/components/schemas/ReturnsInterestAccrual"},{"type":"null"}]},"fundingStatus":{"anyOf":[{"$ref":"#/components/schemas/FundingCoverageStatus"},{"type":"null"}]}},"required":["amounts","assetAddress","assetName","assetSymbol","assetType","returnType","rateBps","nextEventAt","accrual","fundingStatus"],"additionalProperties":false},"ReturnsInterestAccrual":{"type":"string","enum":["accruing","not-started","stopped"]},"ReturnsAmounts":{"type":"object","properties":{"totalEarned":{"$ref":"#/components/schemas/BigDecimal"},"pendingCollection":{"$ref":"#/components/schemas/BigDecimal"},"collected":{"$ref":"#/components/schemas/BigDecimal"},"collectedYtd":{"$ref":"#/components/schemas/BigDecimal"}},"required":["totalEarned","pendingCollection","collected","collectedYtd"],"additionalProperties":false},"ReturnsByType":{"type":"object","properties":{"amounts":{"$ref":"#/components/schemas/ReturnsAmounts"},"type":{"type":"string","enum":["fixed","dividend","interest"]},"percentage":{"type":"number"}},"required":["amounts","type","percentage"],"additionalProperties":false},"PnlExport":{"type":"object","properties":{"filename":{"type":"string"},"contentType":{"type":"string","enum":["text/csv"]},"csv":{"type":"string"}},"required":["filename","contentType","csv"],"additionalProperties":false},"PortfolioPnlReadFilters":{"type":"object","properties":{"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"between":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"UnrealizedPnlSeries":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/StatsResolvedRange_2"},"data":{"type":"array","items":{"$ref":"#/components/schemas/UnrealizedPnlPoint"}}},"required":["range","data"],"additionalProperties":false},"UnrealizedPnlPoint":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"unrealizedPnlInBase":{"$ref":"#/components/schemas/BigDecimal"},"unpricedLots":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"allOf":[{"description":"Present only when the cost basis in this bucket is incomplete. It sums each account's count of acquisitions without a price, so units moved between accounts count the same acquisition again: read it as a flag with a magnitude, not as a number of distinct acquisitions."}]}},"required":["timestamp","unrealizedPnlInBase"],"additionalProperties":false,"description":"Unrealized profit and loss at one bucket, in the base currency. When unpricedLots is present, unrealizedPnlInBase covers only the tokens with a known cost basis, and is zero when none has one."},"RealizedPnlSeries":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/StatsResolvedRange_2"},"data":{"type":"array","items":{"$ref":"#/components/schemas/RealizedPnlPoint"}}},"required":["range","data"],"additionalProperties":false},"RealizedPnlPoint":{"type":"object","properties":{"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"realizedPnlInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"cumulativeRealizedPnlInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]}},"required":["timestamp","realizedPnlInBase","cumulativeRealizedPnlInBase"],"additionalProperties":false},"RealizedPnlMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"realizedPnlTotalInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]}},"required":["total","realizedPnlTotalInBase"],"additionalProperties":false},"RealizedPnlRow":{"type":"object","properties":{"id":{"type":"string","minLength":1},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenSymbol":{"$ref":"#/components/schemas/AssetSymbol"},"quantity":{"$ref":"#/components/schemas/BigDecimal"},"proceedsInBase":{"$ref":"#/components/schemas/BigDecimal"},"costOfDisposalInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"realizedPnlInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"priceUnresolved":{"type":"boolean"},"costBasisIncomplete":{"type":"boolean"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","tokenAddress","tokenSymbol","quantity","proceedsInBase","costOfDisposalInBase","realizedPnlInBase","priceUnresolved","costBasisIncomplete","blockTimestamp"],"additionalProperties":false},"HoldingsMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"groups":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/HoldingGroupAxis"}},{"type":"null"}]},"groupBy":{"anyOf":[{"$ref":"#/components/schemas/HoldingGroupAxis"},{"type":"null"}]},"unrealizedTotals":{"$ref":"#/components/schemas/UnrealizedTotals"}},"required":["total","groups","groupBy","unrealizedTotals"],"additionalProperties":false},"UnrealizedTotals":{"type":"object","properties":{"costBasis":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Cost basis of the rows in this response that have both a cost and a price, summed before rounding. Null when no row has both."},"costBasisExact":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"The unrounded sum behind costBasis. costBasis is this amount rounded half away from zero to two decimals. Null when costBasis is null."},"unrealizedPnl":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Unrealized profit and loss of the same rows, in the base currency: their total value minus costBasis, with the exact sums of value and cost each rounded to the cent once, so the rounded total value minus costBasis equals this figure. Null when no row has both a cost and a price."},"unrealizedPnlPercent":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Unrealized profit and loss as a percentage of costBasis. Null when costBasis is null or zero."},"costBasisIncomplete":{"type":"boolean","description":"True when any row in this response has a position whose cost basis is not fully known."},"incompleteHoldings":{"type":"array","items":{"$ref":"#/components/schemas/IncompleteHolding"},"description":"The held tokens of the rows in this response whose cost basis is not fully known, one entry per token. Their value and cost are left out of costBasis and unrealizedPnl, so those figures cover only the other rows. Empty when costBasisIncomplete is false."}},"required":["costBasis","costBasisExact","unrealizedPnl","unrealizedPnlPercent","costBasisIncomplete","incompleteHoldings"],"additionalProperties":false},"IncompleteHolding":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"type":"string","minLength":1},"name":{"type":"string"}},"required":["tokenAddress","symbol","name"],"additionalProperties":false},"HoldingGroupAxis":{"type":"object","properties":{"key":{"type":"string","minLength":1},"label":{"type":"string"}},"required":["key","label"],"additionalProperties":false},"HoldingRow":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"accountAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"value":{"$ref":"#/components/schemas/BigDecimal"},"frozen":{"$ref":"#/components/schemas/BigDecimal"},"available":{"$ref":"#/components/schemas/BigDecimal"},"locked":{"$ref":"#/components/schemas/BigDecimal"},"transferable":{"$ref":"#/components/schemas/BigDecimal"},"nextUnlockAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"Earliest known representable instant, across the holding's wallets, more of the locked balance becomes transferable. Null when nothing is locked or no representable unlock instant is known; a null date does not release locked units."},"held":{"$ref":"#/components/schemas/BigDecimal"},"atVenue":{"$ref":"#/components/schemas/BigDecimal"},"valueInBaseCurrency":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"priceInBaseCurrency":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"Price of one unit in the base currency that valueInBaseCurrency is computed from, exact and not rounded: valueInBaseCurrency is the balance times this price, rounded to the cent. Null when valueInBaseCurrency is null."},"priceInBaseCurrencyReliable":{"type":"boolean"},"priceChange24hPercent":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"priceAsOf24h":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"costBasis":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"averageCostInBase":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"unrealizedPnl":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"unrealizedPnlPercent":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"costBasisIncomplete":{"type":"boolean"},"token":{"$ref":"#/components/schemas/HeldToken"},"byAccount":{"type":"array","items":{"$ref":"#/components/schemas/HoldingBySource"}},"metadataValues":{"anyOf":[{"type":"object","additionalProperties":{"$ref":"#/components/schemas/MetadataFieldValue"}},{"type":"null"}]},"pnl30d":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/HoldingPnlPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/HoldingPnlPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"}},"required":["range","grain","points","figure","meta"],"additionalProperties":false,"description":"The last 30 days of unrealized profit and loss, one point per day, in the base currency, as a chart series. The last point is the row's own unrealized profit and loss. figure.current is the latest known level and figure.previous the level at the start of the window, so figure.delta is the 30 day change; when the last point or the start is unknown, previous and delta are null. Present only when the request includes pnl30d, and only for a holding with at least two known days that are not all zero."}},"required":["id","value","frozen","available","locked","transferable","nextUnlockAt","held","atVenue","valueInBaseCurrency","priceInBaseCurrency","priceInBaseCurrencyReliable","priceChange24hPercent","priceAsOf24h","costBasis","averageCostInBase","unrealizedPnl","unrealizedPnlPercent","costBasisIncomplete","token","byAccount"],"additionalProperties":false},"HoldingPnlPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"pnl":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","pnl"],"additionalProperties":false,"description":"Unrealized profit and loss at the end of one day, in the base currency. Null when the day's cost basis or price is not fully known."},"MetadataFieldValue":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"HoldingBySource":{"type":"object","properties":{"sourceAddress":{"$ref":"#/components/schemas/EvmAddress"},"sourceKind":{"type":"string","enum":["eoa","smart-account"]},"value":{"$ref":"#/components/schemas/BigDecimal"},"frozen":{"$ref":"#/components/schemas/BigDecimal"},"pendingOutgoing":{"$ref":"#/components/schemas/BigDecimal"},"available":{"$ref":"#/components/schemas/BigDecimal"},"locked":{"$ref":"#/components/schemas/BigDecimal"},"transferable":{"$ref":"#/components/schemas/BigDecimal"},"nextUnlockAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"First representable instant more of the locked balance becomes transferable. Null when nothing is locked or no representable unlock instant is known; a null date does not release locked units."},"authorities":{"type":"array","items":{"$ref":"#/components/schemas/HoldingAuthority"}}},"required":["sourceAddress","sourceKind","value","frozen","pendingOutgoing","available","locked","transferable","nextUnlockAt","authorities"],"additionalProperties":false},"HoldingAuthority":{"type":"object","properties":{"custodyAccountId":{"type":"string","minLength":1},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"providerConfigurationId":{"type":"string","minLength":1},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"accountLifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"contextLifecycle":{"type":"string","enum":["active","archived"]},"eligibility":{"type":"string","enum":["eligible","ineligible"]},"isPrimary":{"type":"boolean"}},"required":["custodyAccountId","signingAddress","providerConfigurationId","provider","accountLifecycle","contextLifecycle","eligibility","isPrimary"],"additionalProperties":false},"HeldToken":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"symbol":{"type":"string","minLength":1},"type":{"$ref":"#/components/schemas/AssetClassSlug"},"isExternal":{"type":"boolean"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"totalSupply":{"$ref":"#/components/schemas/BigDecimal"},"totalSupplyExact":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"bond":{"anyOf":[{"type":"object","properties":{"isMatured":{"type":"boolean"}},"required":["isMatured"],"additionalProperties":false},{"type":"null"}]},"yield":{"anyOf":[{"type":"object","properties":{"schedule":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"denominationAsset":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"$ref":"#/components/schemas/AssetSymbol"},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"}},"required":["id","symbol","decimals"],"additionalProperties":false}},"required":["id","denominationAsset"],"additionalProperties":false}},"required":["schedule"],"additionalProperties":false},{"type":"null"}]}},"required":["id","name","symbol","type","isExternal","decimals","totalSupply","yield"],"additionalProperties":false},"AssetClassSlug":{"type":"string","minLength":1,"description":"Asset class slug (system or custom)"},"PortfolioHoldingsFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"custodyAccountId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"TableViewId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Client-generated UUID that identifies one saved table view."},"TableView":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/TableViewId"},"table":{"$ref":"#/components/schemas/TableViewTable"},"name":{"$ref":"#/components/schemas/TableViewName"},"shared":{"type":"boolean","description":"Whether every member of the owner's organisation can see and apply the view."},"search":{"$ref":"#/components/schemas/TableViewSearch"},"columns":{"$ref":"#/components/schemas/TableViewColumns"},"mine":{"type":"boolean","description":"Whether the caller owns the view and so can replace or delete it."},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","table","name","shared","search","columns","mine","updatedAt"],"additionalProperties":false,"description":"A named set of filters, sort and column choices that a person saved for one data table, optionally shared with their organisation."},"TableViewColumns":{"type":"object","properties":{"visibility":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":80},"additionalProperties":{"type":"boolean"}},"order":{"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"maxItems":100,"description":"The column names in display order."}},"required":["visibility","order"],"additionalProperties":false},"TableViewSearch":{"type":"string","maxLength":2000},"TableViewName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":60,"description":"The view's name, 1 to 60 characters with no leading or trailing space. It is unique per owner and table, ignoring case.","examples":["Frozen holders"]},"TableViewTable":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9][a-z0-9._-]*$","description":"The name of the data table a view belongs to, as the table registers itself, for example `token-holders`. Lowercase letters, digits, `.`, `_` and `-`, starting with a letter or digit.","examples":["token-holders"]},"TableViewBody":{"type":"object","properties":{"table":{"$ref":"#/components/schemas/TableViewTable"},"name":{"$ref":"#/components/schemas/TableViewName"},"shared":{"type":"boolean","description":"Whether every member of the owner's organisation can see and apply the view."},"search":{"$ref":"#/components/schemas/TableViewSearch"},"columns":{"$ref":"#/components/schemas/TableViewColumns"}},"required":["table","name","shared","search","columns"],"additionalProperties":false,"description":"The whole content of a saved table view. The call replaces everything it stored for this identifier, and the `table` of an existing view cannot change."},"TableViewFilters":{"type":"object","properties":{"table":{"$ref":"#/components/schemas/TableViewTable"}},"required":["table"],"additionalProperties":false,"description":"`filter[table]` names the data table whose views to list. It is required."},"OrganizationFundingRequirement":{"type":"object","properties":{"id":{"type":"string"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"nativeCurrency":{"anyOf":[{"$ref":"#/components/schemas/NativeCurrency"},{"type":"null"}]},"subjectAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"subjectKind":{"type":"string","enum":["eoa","smart-account","paymaster-deposit"]},"role":{"anyOf":[{"type":"string"},{"type":"null"}]},"subjectOwner":{"anyOf":[{"type":"string"},{"type":"null"}]},"requiredWei":{"anyOf":[{"type":"string"},{"type":"null"}]},"advisoryTotalWei":{"anyOf":[{"type":"string"},{"type":"null"}]},"observedWei":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"type":"string","enum":["active","resolved","expired"]},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"lastRefusalAt":{"$ref":"#/components/schemas/TimestampEncoded"},"resolvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","chainId","nativeCurrency","subjectAddress","subjectKind","role","subjectOwner","requiredWei","advisoryTotalWei","observedWei","status","expiresAt","lastRefusalAt","resolvedAt","createdAt","updatedAt"],"additionalProperties":false},"PlatformFundingRequirementFilters":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"subjectAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subjectKind":{"anyOf":[{"type":"string","enum":["eoa","smart-account","paymaster-deposit"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["active","resolved","expired"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"expiresAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"lastRefusalAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"AssetTypeTemplateStructureId":{"type":"string","minLength":1,"description":"Declared multi-class instrument structure identifier"},"FeatureTemplateConfigurationNode":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["scalar"]},"source":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["literal"]},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["issuer-input"]},"inputId":{"type":"string","minLength":1,"maxLength":128},"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"required":["kind","inputId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["member-token"]},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","memberId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["member-feature"]},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"featureId":{"type":"string","minLength":1,"maxLength":128},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","memberId","featureId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["field"]},"address":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["field"]},"id":{"type":"string","minLength":1,"maxLength":128}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["entry"]},"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","id"],"additionalProperties":false}]},"minItems":1,"maxItems":18},"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"featureId":{"type":"string","minLength":1,"maxLength":128},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","address"],"additionalProperties":false}]}},"required":["kind","source"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["object"]},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["kind","fields"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["repeatable"]},"entries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":256},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["id","label","fields"],"additionalProperties":false}}},"required":["kind","entries"],"additionalProperties":false}]},"AssetTypeTemplateStructureMembersInput":{"type":"array","items":{"type":"object","properties":{"memberId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"label":{"type":"string","minLength":1,"maxLength":64},"features":{"type":"array","items":{"type":"object","properties":{"configuration":{"type":"object","properties":{"definitionId":{"type":"string","minLength":1,"maxLength":128},"definitionRevision":{"type":"integer","minimum":1,"maximum":9007199254740991},"fields":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureTemplateConfigurationNode"}}},"required":["definitionId","definitionRevision","fields"],"additionalProperties":false},"policy":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":128},"additionalProperties":{"$ref":"#/components/schemas/FeatureFieldPolicy"}},"instanceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["configuration"],"additionalProperties":false},"maxItems":128},"templateId":{"type":"string","minLength":1,"maxLength":255},"role":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,31}$"}},"required":["memberId","label","features","templateId","role"],"additionalProperties":false}},"PlatformAssetTypeTemplateStructureFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"assetClass":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isPublished":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformHolidayCalendar":{"type":"object","properties":{"calendarId":{"type":"string","minLength":1},"jurisdiction":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"organizationId":{"anyOf":[{"$ref":"#/components/schemas/OrganizationId"},{"type":"null"}]},"isSystem":{"type":"boolean"},"parentCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"closures":{"type":"array","items":{"$ref":"#/components/schemas/PlatformHolidayClosure"}}},"required":["calendarId","jurisdiction","name","organizationId","isSystem","parentCalendarId","closures"],"additionalProperties":false},"PlatformHolidayClosure":{"type":"object","properties":{"observedOn":{"type":"string","minLength":1},"kind":{"type":"string","enum":["public","bank","settlement","exchange","oneOff"]},"description":{"type":"string","minLength":1,"maxLength":120},"knownFrom":{"$ref":"#/components/schemas/TimestampEncoded"},"source":{"type":"string","minLength":1},"calendarId":{"type":"string","minLength":1}},"required":["observedOn","kind","knownFrom","source","calendarId"],"additionalProperties":false},"PlatformStatFailure":{"type":"object","properties":{"metric":{"type":"string","enum":["assets","value","country-asset-count","country-identity-count","identity-count","claims","participant-claims","trusted-issuers","portfolio-breakdown","offerings-summary","offerings-investor-country","governance-summary","governance-voter-country","venue-summary","venue-country","asset-activity","asset-lifecycle","claims-history","participant-claims-history","identity-history","trusted-issuers-history","portfolio-value-history","system-value-history","offerings-history","governance-history","venue-activity"]},"failure":{"type":"object","properties":{"code":{"type":"string","minLength":1},"message":{"type":"string"},"retryable":{"type":"boolean"}},"required":["code","message","retryable"],"additionalProperties":false}},"required":["metric","failure"],"additionalProperties":false,"description":"The statistic could not be read. The other entries of the page are unaffected. The code and message are the ones the matching stats/{metric} read answers."},"PlatformVenueTradePoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"trades":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","trades"],"additionalProperties":false,"description":"The venue trades executed inside one bucket."},"PlatformGovernanceBallotPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"ballots":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","ballots"],"additionalProperties":false,"description":"The ballots cast inside one bucket."},"PlatformOfferingPurchasePoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"purchases":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","purchases"],"additionalProperties":false,"description":"The offering purchases inside one bucket."},"PlatformValuePoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"totalValueInBaseCurrency":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","totalValueInBaseCurrency"],"additionalProperties":false,"description":"The value held at the close of one bucket, in the base currency."},"PlatformTrustedIssuersHistoryPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"totalAddedTrustedIssuers":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Add events the trusted issuers registry recorded up to the close of the bucket. An issuer removed and added again counts once per add, so the total can exceed the number of distinct issuers."},"totalActiveTrustedIssuers":{"anyOf":[{"type":"number"},{"type":"null"}]},"totalRemovedTrustedIssuers":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Remove events the trusted issuers registry recorded up to the close of the bucket. An issuer removed, added again and removed again counts once per removal."}},"required":["t","totalAddedTrustedIssuers","totalActiveTrustedIssuers","totalRemovedTrustedIssuers"],"additionalProperties":false,"description":"The trusted issuer totals standing at the close of one bucket, or so far for the bucket still filling."},"PlatformIdentityHistoryPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"activeUserIdentitiesCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","activeUserIdentitiesCount"],"additionalProperties":false,"description":"The user identities registered and active at the close of one bucket, or so far for the bucket still filling."},"PlatformClaimsHistoryPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"totalIssuedClaims":{"anyOf":[{"type":"number"},{"type":"null"}]},"totalActiveClaims":{"anyOf":[{"type":"number"},{"type":"null"}]},"totalRemovedClaims":{"anyOf":[{"type":"number"},{"type":"null"}]},"totalRevokedClaims":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","totalIssuedClaims","totalActiveClaims","totalRemovedClaims","totalRevokedClaims"],"additionalProperties":false,"description":"The claim totals standing at the close of one bucket, or so far for the bucket still filling."},"PlatformAssetLifecyclePoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"assetsCreated":{"anyOf":[{"type":"number"},{"type":"null"}]},"assetsLaunched":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","assetsCreated","assetsLaunched"],"additionalProperties":false,"description":"The assets created so far and the assets live so far, counted at the end of one bucket."},"PlatformAssetActivityPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"transferEventsCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"mintEventsCount":{"anyOf":[{"type":"number"},{"type":"null"}]},"burnEventsCount":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","transferEventsCount","mintEventsCount","burnEventsCount"],"additionalProperties":false,"description":"The transfer, mint and burn events inside one bucket."},"PlatformCountryCountClass":{"type":"object","properties":{"class":{"type":"integer","minimum":1,"maximum":5},"from":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The lowest count in the class."},"to":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The highest count in the class."}},"required":["class","from","to"],"additionalProperties":false,"description":"The count range of one quantile class. A class no country falls in is left out."},"PlatformCountryCountRow":{"type":"object","properties":{"countryCode":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The ISO 3166-1 numeric country code."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The count the map shows for this country. Always above zero."},"share":{"type":"number","minimum":0,"maximum":1,"description":"This country's count over the located total, rounded to four decimals."},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Position by count, 1 for the highest. Equal counts rank by country code."},"class":{"type":"integer","minimum":1,"maximum":5,"description":"The quantile class that colours the country, 1 for the lowest. Equal counts share a class."}},"required":["countryCode","count","share","rank","class"],"additionalProperties":false,"description":"One located country with a count above zero. A country without a count has no row."},"MoneyComposition":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","description":"The part's own key, such as an asset class slug or a topic id."},"value":{"$ref":"#/components/schemas/BigDecimal"},"shareBps":{"type":"integer","minimum":0,"maximum":10000,"description":"The part's share of the whole in basis points. The shares of every row and the tail add up to exactly 10000."},"sharePercent":{"type":"integer","minimum":0,"maximum":100,"description":"The part's share of the whole in whole percent, allocated by largest remainder so the shares of every row and the tail add up to exactly 100. Every part has an amount above zero, so a part that shows 0 here is under 1%."},"valueExact":{"$ref":"#/components/schemas/BigDecimal"}},"required":["key","value","shareBps","sharePercent","valueExact"],"additionalProperties":false},"description":"The parts above zero, largest first, or in their fixed order for a fixed-order composition."},"other":{"anyOf":[{"type":"object","properties":{"value":{"$ref":"#/components/schemas/BigDecimal"},"shareBps":{"type":"integer","minimum":0,"maximum":10000},"sharePercent":{"type":"integer","minimum":0,"maximum":100},"valueExact":{"$ref":"#/components/schemas/BigDecimal"}},"required":["value","shareBps","sharePercent","valueExact"],"additionalProperties":false},{"type":"null"}],"description":"The parts past the row limit, folded into one. Null when every part has a row."}},"required":["rows","other"],"additionalProperties":false,"description":"A whole split into money parts, with each part's share computed by the server from the unrounded amounts. Each value is rounded to two decimals and valueExact carries the unrounded amount."},"PlatformPortfolioCountryClass":{"type":"object","properties":{"class":{"type":"integer","minimum":1,"maximum":5},"from":{"$ref":"#/components/schemas/BigDecimal"},"to":{"$ref":"#/components/schemas/BigDecimal"}},"required":["class","from","to"],"additionalProperties":false,"description":"The value range of one quantile class. A class no country falls in is left out."},"PlatformPortfolioCountryValue":{"type":"object","properties":{"countryCode":{"type":"integer","minimum":0,"maximum":9007199254740991},"valueInBaseCurrency":{"$ref":"#/components/schemas/BigDecimal"},"share":{"type":"number","minimum":0,"maximum":1,"description":"This country's value over the located total, rounded to four decimals."},"rank":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Position by value, 1 for the highest."},"class":{"type":"integer","minimum":1,"maximum":5,"description":"The quantile class that colours the country, 1 for the lowest."}},"required":["countryCode","valueInBaseCurrency","share","rank","class"],"additionalProperties":false,"description":"One located country that holds value. A country with no value, or no stored jurisdiction, has no row."},"AddonProposalChanged":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["accessManager","proposalId"],"additionalProperties":false},"AddonProposalTransitionCreate":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"transition":{"type":"string","enum":["cancel","execute"],"description":"`cancel` closes an open proposal. `execute` sends the approved call to its target from the caller's wallet, which must hold the proposal's maker role."}},"required":["transition"],"additionalProperties":false},"AddonProposalDecisionCreate":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"decision":{"type":"string","enum":["approve"]}},"required":["decision"],"additionalProperties":false},"AddonProposalCreated":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"target":{"$ref":"#/components/schemas/EvmAddress"},"makerRole":{"$ref":"#/components/schemas/EthereumHashEncoded"},"callHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["accessManager","target","makerRole","callHash"],"additionalProperties":false},"AddonProposalCreate":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"target":{"$ref":"#/components/schemas/EvmAddress"},"makerRole":{"$ref":"#/components/schemas/EthereumHashEncoded"},"calldata":{"$ref":"#/components/schemas/EthereumHexBytesEncoded"}},"required":["target","makerRole","calldata"],"additionalProperties":false},"EthereumHexBytesEncoded":{"type":"string","minLength":2,"description":"A valid Ethereum hex string starting with 0x","examples":["0x5208"]},"AddonActionConfigsChanged":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"callHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["accessManager","callHash"],"additionalProperties":false},"AddonActionConfigsCreate":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"approverRole":{"$ref":"#/components/schemas/EthereumHashEncoded"},"requiredApprovals":{"type":"integer","minimum":0,"maximum":32,"description":"Approvals a proposal needs before it runs; 0 lets the maker call the target directly. Above 0 needs a lifetimeSeconds above 0. When the access manager's own config changes need approval, the answer is DALP-12411 with the call to propose."},"lifetimeSeconds":{"type":"string","pattern":"^(0|[1-9][0-9]{0,6}|[12][0-9]{7}|30[0-9]{6}|31[0-4][0-9]{5}|315[0-2][0-9]{4}|3153[0-5][0-9]{3}|31536000)$","description":"Seconds a proposal stays open, as a decimal string from 0 to 31536000 (365 days)."},"actions":{"type":"array","items":{"$ref":"#/components/schemas/AddonActionConfigAction"},"minItems":1,"maxItems":50}},"required":["approverRole","requiredApprovals","lifetimeSeconds","actions"],"additionalProperties":false},"AddonActionConfigAction":{"type":"object","properties":{"target":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The target the rule overrides, or null for the selector default every target inherits."},"selector":{"type":"string","pattern":"^0x[0-9a-fA-F]{8}$","description":"Four-byte selector of the checked function.","examples":["0x2f2ff15d"]}},"required":["target","selector"],"additionalProperties":false},"AddonActionConfig":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"target":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The target the override applies to, or null for the selector default every target inherits."},"selector":{"$ref":"#/components/schemas/EthereumHexEncoded"},"approverRole":{"$ref":"#/components/schemas/EthereumHashEncoded"},"requiredApprovals":{"type":"integer","minimum":0,"maximum":9007199254740991},"lifetimeSeconds":{"type":"string"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["accessManager","target","selector","approverRole","requiredApprovals","lifetimeSeconds","updatedAt"],"additionalProperties":false},"AddonActionConfigFilters":{"type":"object","properties":{"target":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"AddonProposal":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"proposalId":{"$ref":"#/components/schemas/EthereumHashEncoded"},"target":{"$ref":"#/components/schemas/EvmAddress"},"selector":{"$ref":"#/components/schemas/EthereumHexEncoded"},"callHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"calldata":{"$ref":"#/components/schemas/EthereumHexEncoded"},"call":{"$ref":"#/components/schemas/DecodedAddonCall"},"proposer":{"$ref":"#/components/schemas/EvmAddress"},"makerRole":{"$ref":"#/components/schemas/EthereumHashEncoded"},"approverRole":{"$ref":"#/components/schemas/EthereumHashEncoded"},"requiredApprovals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Approvals execution needs: for an open proposal, 0 when the action config in force requires none, else the higher of the count recorded at proposal and that config's count; otherwise the recorded count."},"validApprovals":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Recorded approvers who still hold the approver role; execution needs `requiredApprovals` of them."},"approvers":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"status":{"type":"string","enum":["open","executed","cancelled","superseded"]},"expired":{"type":"boolean","description":"True when an open proposal's expiry is at or before the chain's next block timestamp."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"executor":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"cancelledBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAtTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["accessManager","proposalId","target","selector","callHash","calldata","call","proposer","makerRole","approverRole","requiredApprovals","validApprovals","approvers","status","expired","expiresAt","executor","cancelledBy","createdAt","createdAtTxHash"],"additionalProperties":false},"AddonProposalFilters":{"type":"object","properties":{"target":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["open","executed","cancelled","superseded"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"viewer":{"anyOf":[{"type":"string","enum":["approver","maker"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false,"description":"`viewer=approver` keeps open, unexpired proposals below threshold that a caller wallet may approve and has not; `viewer=maker` keeps proposals a caller wallet made, and open, unexpired proposals a caller wallet may run as their maker."},"PlatformActivityPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"events":{"anyOf":[{"type":"number"},{"type":"null"}]}},"required":["t","events"],"additionalProperties":false,"description":"The activity events inside one bucket."},"StatsResolvedRange_1":{"type":"object","properties":{"interval":{"$ref":"#/components/schemas/StatsRangeInterval"},"from":{"$ref":"#/components/schemas/TimestampEncoded_2"},"to":{"$ref":"#/components/schemas/TimestampEncoded_2"},"isPreset":{"type":"string","enum":["true","false"]}},"required":["interval","from","to","isPreset"],"additionalProperties":false},"PlatformActivityEventRow":{"type":"object","properties":{"family":{"type":"string","enum":["evm"]},"id":{"type":"string"},"eventName":{"type":"string"},"txIndex":{"type":"string"},"blockNumber":{"type":"string"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emitter":{"$ref":"#/components/schemas/PlatformActivityAddressRef"},"sender":{"$ref":"#/components/schemas/PlatformActivityAddressRef"},"metaTxSigner":{"anyOf":[{"$ref":"#/components/schemas/PlatformActivityAddressRef"},{"type":"null"}]},"displaySender":{"$ref":"#/components/schemas/PlatformActivityAddressRef"},"relayerKind":{"anyOf":[{"type":"string"},{"type":"null"}]},"relayer":{"anyOf":[{"$ref":"#/components/schemas/PlatformActivityAddressRef"},{"type":"null"}]},"userOpHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"paymaster":{"anyOf":[{"$ref":"#/components/schemas/PlatformActivityAddressRef"},{"type":"null"}]},"actualGasCost":{"anyOf":[{"type":"string"},{"type":"null"}]},"involved":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityAddressRef"}},"values":{"type":"array","items":{"$ref":"#/components/schemas/PlatformActivityEventArgument"}}},"required":["family","id","eventName","txIndex","blockNumber","blockTimestamp","transactionHash","emitter","sender","metaTxSigner","displaySender","relayerKind","relayer","userOpHash","involved","values"],"additionalProperties":false},"PlatformActivityEventArgument":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"}},"required":["id","name","value"],"additionalProperties":false},"PlatformActivityAddressRef":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"PlatformActivityFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"transactionHash":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]}},"additionalProperties":false},"RoleSegregationConflict":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/RoleSegregationScope"},"mode":{"$ref":"#/components/schemas/RoleSegregationMode"},"held":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"role":{"$ref":"#/components/schemas/ConflictingRole"}},"required":["accessManager","role"],"additionalProperties":false},"granted":{"type":"object","properties":{"accessManager":{"$ref":"#/components/schemas/EvmAddress"},"role":{"$ref":"#/components/schemas/ConflictingRole"}},"required":["accessManager","role"],"additionalProperties":false}},"required":["account","scope","mode","held","granted"],"additionalProperties":false},"ConflictingRole":{"type":"string","enum":["SYSTEM_MANAGER_ROLE","IDENTITY_MANAGER_ROLE","TOKEN_MANAGER_ROLE","COMPLIANCE_MANAGER_ROLE","CLAIM_POLICY_MANAGER_ROLE","CLAIM_ISSUER_ROLE","AUDITOR_ROLE","GAS_MANAGER_ROLE","ASSET_DESIGNER_ROLE","BANK_RAIL_MANAGER_ROLE","ESCROW_MANAGER_ROLE","ORGANISATION_IDENTITY_MANAGER_ROLE","FEEDS_MANAGER_ROLE","VENUE_MANAGER_ROLE","CUSTODY_GATEWAY_PERMISSION_MANAGER_ROLE","GOVERNANCE_ROLE","SUPPLY_MANAGEMENT_ROLE","CUSTODIAN_ROLE","EMERGENCY_ROLE","FUNDS_MANAGER_ROLE","SALE_ADMIN_ROLE","VENUE_ADMIN_ROLE","VENUE_OPERATOR_ROLE","VENUE_SUBMITTER_ROLE","DEFAULT_ADMIN_ROLE"],"description":"An on-chain role constant in a conflict. DEFAULT_ADMIN_ROLE appears only in the fixed auditor rule, which keeps the Auditor role apart from every system role that changes state."},"RoleSegregationMode":{"type":"string","enum":["warn","block"],"description":"warn: a grant that breaks the rule needs a reason, which the audit trail keeps. block: a grant that breaks the rule is refused."},"RoleSegregationScope":{"type":"string","enum":["contract","platform"],"description":"contract: the two roles conflict when one wallet holds both on the same token, token sale or venue. platform: they conflict wherever the wallet holds them in the organisation's system."},"RoleConflictFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"mode":{"$ref":"#/components/schemas/RoleSegregationMode"},"scope":{"$ref":"#/components/schemas/RoleSegregationScope"}},"additionalProperties":false,"description":"`filter[q]` matches the wallet, either role or either access manager. `filter[mode]` and `filter[scope]` keep the conflicts of that mode or scope."},"PlatformAssetRoleGrantRow":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"role":{"$ref":"#/components/schemas/AssetAccessControlRole"},"assetCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many of the system's assets grant the wallet this role.","examples":[3]}},"required":["account","role","assetCount"],"additionalProperties":false},"AssetAccessControlRole":{"type":"string","enum":["admin","custodian","emergency","fundsManager","governance","saleAdmin","supplyManagement"],"description":"Asset role the wallet holds, granted by each asset's own access manager.","examples":["supplyManagement"]},"PlatformAssetRoleGrantFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"role":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformParticipantRolesRow":{"type":"object","properties":{"participantId":{"type":"string"},"displayName":{"type":"string"},"isOrganisation":{"type":"boolean","description":"True for the organisation's own participant, whose wallets the platform runs for the organisation. It holds roles but is not a person.","examples":[false]},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The sign-in email of the person, or null for the organisation's own participant and for a participant with no member account in this organisation.","examples":["alice@example.com"]},"lastActiveAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the person's most recent session was last refreshed, or null when they have no session or are not a person."},"signingAddress":{"$ref":"#/components/schemas/EvmAddress"},"operationsAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isContract":{"type":"boolean","enum":[false]},"eoaRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"}},"smartWalletRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"}},"missingRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"}},"drift":{"type":"boolean"},"wallets":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Every wallet this participant holds on the network, so a role holder resolves to the person holding it.","examples":[["0x6b0c6f5a9f2b7d3ab0c1e2f4d5a6b7c8d9e0f1a2"]]},"heldRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"The roles this participant holds through any of those wallets.","examples":[["admin"]]}},"required":["participantId","displayName","isOrganisation","email","lastActiveAt","signingAddress","operationsAddress","isContract","eoaRoles","smartWalletRoles","missingRoles","drift","wallets","heldRoles"],"additionalProperties":false},"SystemAccessControlRole":{"type":"string","enum":["admin","auditor","systemManager","tokenManager","complianceManager","claimPolicyManager","claimIssuer","identityManager","feedsManager","gasManager","venueManager","assetDesigner","bankRailManager","custodyGatewayPermissionManager","escrowManager"]},"PlatformParticipantRoleFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signingAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"operationsAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"eoaRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"smartWalletRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"missingRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"heldRoles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"drift":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isContract":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformSystemRoleSetBatchOutput":{"type":"object","properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemRoleSetBatchParticipant"}},"expiresAt":{"type":"string"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"Roles the batch added to at least one wallet.","examples":[["auditor"]]},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"Roles the batch removed from at least one wallet.","examples":[[]]}},"required":["participants","grant","revoke"],"additionalProperties":false},"PlatformSystemRoleSetBatchParticipant":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId_8"},"accounts":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Wallets of the participant the change covered."}},"required":["participantId","accounts"],"additionalProperties":false},"ParticipantId_8":{"type":"string","minLength":1,"description":"Participant the change covered."},"PlatformSystemRoleSetBatchInput":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"participantIds":{"type":"array","prefixItems":[{"$ref":"#/components/schemas/ParticipantId_7"}],"minItems":1,"items":{"$ref":"#/components/schemas/ParticipantId_7"},"description":"Participants the change applies to, at most 50. Every wallet of each participant is covered."},"expiresAt":{"type":"string"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"System roles to add to every named participant.","examples":[["auditor"]]},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"System roles to remove from every named participant.","examples":[[]]},"reason":{"$ref":"#/components/schemas/RoleGrantReason"}},"required":["participantIds","grant","revoke"],"additionalProperties":false},"ParticipantId_7":{"type":"string","minLength":1,"description":"Participant whose wallets receive or lose the roles."},"PlatformSystemRoleSetPreflightOutput":{"type":"object","properties":{"action":{"type":"string","enum":["accessRoleSet"]}},"required":["action"],"additionalProperties":false,"description":"The system role change would be accepted now. Nothing was signed, sent or recorded, and no expiry was scheduled. The refusals it can return are the ones `accessRoleSet` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"PlatformSystemRoleSetOutput":{"type":"object","properties":{"accounts":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Wallets the role change applies to.","examples":[["0x70997970C51812dc3A010C7d01b50e0d17dc79C8"]]},"expiresAt":{"type":"string"},"grant":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"Roles the request added.","examples":[["tokenManager"]]},"revoke":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"Roles the request removed.","examples":[["complianceManager"]]}},"required":["accounts","grant","revoke"],"additionalProperties":false},"PlatformSystemRolesRow":{"type":"object","properties":{"roles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"}},"account":{"$ref":"#/components/schemas/EvmAddress"}},"required":["roles","account"],"additionalProperties":false},"PlatformAccessRoleFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"roles":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"excludeContracts":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformNotFoundEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["network","organization","user","member","system","holiday-calendar","invitation","deployment","factory","asset-class","template","compliance-template","template-structure","indexed-system","directory","setting","profile-section","proposal","table-view","account-closure-request"]}},"required":["_tag","message","reason"],"additionalProperties":false},"PlatformDependencyUnavailableEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformDependencyUnavailable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformSystemMigrationStarted":{"type":"object","properties":{"migrationId":{"type":"string","minLength":1},"status":{"type":"string","enum":["accepted"]}},"required":["migrationId","status"],"additionalProperties":false},"PlatformSystemMigration":{"type":"object","properties":{"migrationId":{"type":"string","minLength":1},"status":{"type":"string","enum":["running","succeeded","failed"]}},"required":["migrationId","status"],"additionalProperties":false},"PlatformSystemMigrationStartInput":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"includeExperimental":{"type":"boolean"}},"additionalProperties":false},"MigrationComparison":{"type":"object","properties":{"systemAddress":{"$ref":"#/components/schemas/EvmAddress"},"directoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"groups":{"type":"array","items":{"$ref":"#/components/schemas/MigrationComponentGroup"}},"summary":{"$ref":"#/components/schemas/MigrationComparisonSummary"}},"required":["systemAddress","directoryAddress","groups","summary"],"additionalProperties":false},"MigrationComparisonSummary":{"type":"object","properties":{"totalComponents":{"$ref":"#/components/schemas/NonNegativeInteger"},"upToDate":{"$ref":"#/components/schemas/NonNegativeInteger"},"updateAvailable":{"$ref":"#/components/schemas/NonNegativeInteger"},"pendingInstall":{"$ref":"#/components/schemas/NonNegativeInteger"},"pendingHiddenSync":{"$ref":"#/components/schemas/NonNegativeInteger"},"totalAffectedTokens":{"$ref":"#/components/schemas/NonNegativeInteger"},"needUpgrade":{"$ref":"#/components/schemas/NonNegativeInteger"},"unverified":{"$ref":"#/components/schemas/NonNegativeInteger"},"authorityBlockedPending":{"type":"boolean"},"experimentalOptInPending":{"type":"boolean"}},"required":["totalComponents","upToDate","updateAvailable","pendingInstall","pendingHiddenSync","totalAffectedTokens","needUpgrade","unverified","authorityBlockedPending","experimentalOptInPending"],"additionalProperties":false},"NonNegativeInteger":{"type":"integer","minimum":0,"maximum":9007199254740991},"MigrationComponentGroup":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"components":{"type":"array","items":{"$ref":"#/components/schemas/MigrationComponent"}}},"required":["id","label","components"],"additionalProperties":false},"MigrationComponent":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"typeName":{"type":"string"},"group":{"type":"string"},"deployedAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"directoryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/MigrationComponentStatus"},"factoryImplementationStatus":{"$ref":"#/components/schemas/MigrationComponentStatus"},"instanceImplementationStatus":{"$ref":"#/components/schemas/MigrationInstanceStatus"},"factoryDeployedAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"factoryDirectoryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"instanceDeployedAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"instanceDirectoryAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"isExperimental":{"type":"boolean"},"affectedTokenCount":{"$ref":"#/components/schemas/NonNegativeInteger"},"outstanding":{"$ref":"#/components/schemas/NonNegativeInteger"},"total":{"$ref":"#/components/schemas/NonNegativeInteger"},"skippedForAuthority":{"type":"object","properties":{"count":{"$ref":"#/components/schemas/NonNegativeInteger"}},"required":["count"],"additionalProperties":false},"registrationGaps":{"$ref":"#/components/schemas/MigrationOrgWalletRegistrationGaps"}},"required":["key","label","group","deployedAddress","directoryAddress","status"],"additionalProperties":false},"MigrationOrgWalletRegistrationGaps":{"type":"object","properties":{"wallets":{"type":"array","items":{"$ref":"#/components/schemas/MigrationOrgWalletGap"}},"notYetCreated":{"$ref":"#/components/schemas/NonNegativeInteger"},"adminCountry":{"anyOf":[{"$ref":"#/components/schemas/MigrationAdminCountryGap"},{"type":"null"}]}},"required":["wallets","notYetCreated","adminCountry"],"additionalProperties":false},"MigrationAdminCountryGap":{"type":"string","enum":["admin-not-registered","admin-without-country"]},"MigrationOrgWalletGap":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"role":{"$ref":"#/components/schemas/MigrationOrgWalletRole"},"reason":{"$ref":"#/components/schemas/MigrationOrgWalletGapReason"}},"required":["address","role","reason"],"additionalProperties":false},"MigrationOrgWalletGapReason":{"type":"string","enum":["not-registered","pending-acceptance","other-identity"]},"MigrationOrgWalletRole":{"type":"string","enum":["vault-eoa","smart-wallet"]},"MigrationInstanceStatus":{"type":"string","enum":["up-to-date","update-available","new","unknown"]},"MigrationComponentStatus":{"type":"string","enum":["up-to-date","update-available","new"]},"PlatformAddonFactoryDetail":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AddonFactoryTypeId"},"version":{"type":"number"},"type":{"$ref":"#/components/schemas/AddonFactoryTypeId"}},"required":["id","name","typeId","version","type"],"additionalProperties":false},"AddonFactoryTypeId":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop","fixed-yield-schedule","xvp-settlement","trading-venue","token-sale","historical-balances-feature-factory","maturity-redemption-feature-factory","hold-feature-factory","register-lines-feature-factory","supply-delegate-feature-factory","transaction-fee-feature-factory","transaction-fee-accounting-feature-factory","voting-power-feature-factory","external-transaction-fee-feature-factory","fixed-treasury-yield-feature-factory","dividend-yield-feature-factory","interest-yield-feature-factory","aum-fee-feature-factory","conversion-feature-factory","conversion-minter-feature-factory","distribution-waterfall-feature-factory","permit-feature-factory","scalar-feed-aggregator-adapter-factory","issuer-signed-scalar-feed","paymaster-signer","token-governance","token-governance-timelock","price-resolver","document-anchor-registry","access-manager","escrow","custody-gateway","unknown"],"description":"Addon factory typeId identifier"},"PlatformSystemView":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"canResume":{"type":"boolean"},"chainId":{"anyOf":[{"type":"number"},{"type":"null"}]},"deployedInTransaction":{"type":"string"},"tokenFactoryRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemTokenFactoryRegistry"},{"type":"null"}]},"systemAddonRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemAddonRegistry"},{"type":"null"}]},"compliance":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemCompliance"},{"type":"null"}]},"complianceModuleRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemComplianceModuleRegistry"},{"type":"null"}]},"systemAccessManager":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemAccessManager"},{"type":"null"}]},"identityRegistryStorage":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"identityRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemIdentityRegistry"},{"type":"null"}]},"trustedIssuersRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"topicSchemeRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"externalTokenRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"userPermissions":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemUserPermissions"},{"type":"null"}]},"userIdentity":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemUserIdentity"},{"type":"null"}]},"organisationIdentity":{"$ref":"#/components/schemas/EvmAddress"},"status":{"$ref":"#/components/schemas/PlatformSystemStatus"},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"userIdentityRegistered":{"type":"boolean"},"isZeroGasNetwork":{"type":"boolean"}},"required":["id","canResume","chainId","deployedInTransaction","tokenFactoryRegistry","systemAddonRegistry","compliance","complianceModuleRegistry","systemAccessManager","identityRegistryStorage","identityRegistry","trustedIssuersRegistry","topicSchemeRegistry","externalTokenRegistry","status","updatedAt","userIdentityRegistered","isZeroGasNetwork"],"additionalProperties":false},"PlatformSystemStatus":{"type":"string","enum":["not_created","bootstrapping","completed","unknown"]},"PlatformSystemUserIdentity":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"registered":{"anyOf":[{"type":"object","properties":{"isRegistered":{"type":"boolean","enum":[true]},"country":{"anyOf":[{"$ref":"#/components/schemas/ISOCountryCode"},{"type":"null"}]}},"required":["isRegistered","country"],"additionalProperties":false},{"type":"null"}]}},"required":["address"],"additionalProperties":false},"PlatformSystemUserPermissions":{"type":"object","properties":{"roles":{"$ref":"#/components/schemas/PlatformSystemRoleFlagSet"},"holdsAssetGovernanceRole":{"type":"boolean"},"holdsAssetRole":{"type":"boolean"},"holdsSaleRole":{"type":"boolean"},"actions":{"$ref":"#/components/schemas/PlatformSystemActions"},"walletPermissions":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemWalletPermissions"},"description":"The same roles and actions per wallet of the caller. `roles` and `actions` above merge every wallet for reads; a write needs the wallet marked `executing`."}},"required":["roles","holdsAssetGovernanceRole","holdsAssetRole","holdsSaleRole","actions"],"additionalProperties":false},"PlatformSystemWalletPermissions":{"type":"object","properties":{"wallet":{"$ref":"#/components/schemas/EvmAddress"},"executing":{"type":"boolean","description":"True for the wallet that signs this caller's writes. The server and the chain check this wallet's roles when a write runs."},"roles":{"$ref":"#/components/schemas/PlatformSystemRoleFlagSet"},"actions":{"$ref":"#/components/schemas/PlatformSystemActions"}},"required":["wallet","executing","roles","actions"],"additionalProperties":false},"PlatformSystemActions":{"type":"object","properties":{"accountNativeBalanceRead":{"type":"boolean"},"accountSearch":{"type":"boolean"},"addonCreate":{"type":"boolean"},"adminList":{"type":"boolean"},"claimCreate":{"type":"boolean"},"claimList":{"type":"boolean"},"claimRevoke":{"type":"boolean"},"complianceModuleCreate":{"type":"boolean"},"complianceModuleRemove":{"type":"boolean"},"fixedYieldScheduleCreate":{"type":"boolean"},"tokenSaleCreate":{"type":"boolean"},"xvpCreate":{"type":"boolean"},"grantRole":{"type":"boolean"},"identityCreate":{"type":"boolean"},"identityRead":{"type":"boolean"},"identitySearch":{"type":"boolean"},"identityList":{"type":"boolean"},"entityList":{"type":"boolean"},"identityRegister":{"type":"boolean"},"identityUpdateCountry":{"type":"boolean"},"kycDelete":{"type":"boolean"},"kycList":{"type":"boolean"},"kycRead":{"type":"boolean"},"kycUpsert":{"type":"boolean"},"kycProfileRead":{"type":"boolean"},"kycVersionsList":{"type":"boolean"},"kycVersionCreate":{"type":"boolean"},"kycVersionRead":{"type":"boolean"},"kycVersionUpdate":{"type":"boolean"},"kycVersionSubmit":{"type":"boolean"},"kycVersionDecision":{"type":"boolean"},"kycVersionRequestUpdate":{"type":"boolean"},"kycDocumentUpload":{"type":"boolean"},"kycDocumentList":{"type":"boolean"},"kycDocumentDelete":{"type":"boolean"},"kycDocumentRead":{"type":"boolean"},"kycActionRequestsList":{"type":"boolean"},"revokeRole":{"type":"boolean"},"tokenCreate":{"type":"boolean"},"tokenFactoryCreate":{"type":"boolean"},"topicCreate":{"type":"boolean"},"topicDelete":{"type":"boolean"},"topicUpdate":{"type":"boolean"},"trustedIssuerCreate":{"type":"boolean"},"trustedIssuerDelete":{"type":"boolean"},"trustedIssuerUpdate":{"type":"boolean"},"userCreate":{"type":"boolean"},"userList":{"type":"boolean"},"userRead":{"type":"boolean"},"userSearch":{"type":"boolean"},"userSecurityManage":{"type":"boolean"}},"required":["accountNativeBalanceRead","accountSearch","addonCreate","adminList","claimCreate","claimList","claimRevoke","complianceModuleCreate","complianceModuleRemove","fixedYieldScheduleCreate","tokenSaleCreate","xvpCreate","grantRole","identityCreate","identityRead","identitySearch","identityList","entityList","identityRegister","identityUpdateCountry","kycDelete","kycList","kycRead","kycUpsert","kycProfileRead","kycVersionsList","kycVersionCreate","kycVersionRead","kycVersionUpdate","kycVersionSubmit","kycVersionDecision","kycVersionRequestUpdate","kycDocumentUpload","kycDocumentList","kycDocumentDelete","kycDocumentRead","kycActionRequestsList","revokeRole","tokenCreate","tokenFactoryCreate","topicCreate","topicDelete","topicUpdate","trustedIssuerCreate","trustedIssuerDelete","trustedIssuerUpdate","userCreate","userList","userRead","userSearch","userSecurityManage"],"additionalProperties":false},"PlatformSystemRoleFlagSet":{"type":"object","properties":{"addonManager":{"type":"boolean"},"admin":{"type":"boolean"},"auditor":{"type":"boolean"},"systemManager":{"type":"boolean"},"tokenManager":{"type":"boolean"},"complianceManager":{"type":"boolean"},"claimPolicyManager":{"type":"boolean"},"claimIssuer":{"type":"boolean"},"identityManager":{"type":"boolean"},"feedsManager":{"type":"boolean"},"gasManager":{"type":"boolean"},"venueManager":{"type":"boolean"},"assetDesigner":{"type":"boolean"},"bankRailManager":{"type":"boolean"},"custodyGatewayPermissionManager":{"type":"boolean"},"escrowManager":{"type":"boolean"}},"required":["addonManager","admin","auditor","systemManager","tokenManager","complianceManager","claimPolicyManager","claimIssuer","identityManager","feedsManager","gasManager","venueManager","assetDesigner","bankRailManager","custodyGatewayPermissionManager","escrowManager"],"additionalProperties":false},"PlatformRegistryRef":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"PlatformSystemIdentityRegistry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"registeredIdentities":{"type":"array","items":{"$ref":"#/components/schemas/PlatformRegisteredIdentity"}}},"required":["id","registeredIdentities"],"additionalProperties":false},"PlatformRegisteredIdentity":{"type":"object","properties":{"identity":{"$ref":"#/components/schemas/PlatformRegistryRef"},"country":{"anyOf":[{"type":"number"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/IndexedIdentityStatus"}},"required":["identity","country","status"],"additionalProperties":false},"IndexedIdentityStatus":{"type":"string","enum":["PENDING","ACTIVE"],"description":"Indexed identity registration status"},"PlatformSystemAccessManager":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"accessControl":{"$ref":"#/components/schemas/AccessControl"}},"required":["id","accessControl"],"additionalProperties":false},"PlatformSystemComplianceModuleRegistry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"complianceModules":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemComplianceModule"}}},"required":["id","complianceModules"],"additionalProperties":false},"PlatformSystemComplianceModule":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EthereumCompositeIdEncoded"},"module":{"$ref":"#/components/schemas/EvmAddress"},"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"name":{"type":"string"}},"required":["id","module","typeId","name"],"additionalProperties":false},"PlatformSystemCompliance":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"complianceModuleConfigs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformGlobalComplianceModuleConfig"}}},"required":["id","complianceModuleConfigs"],"additionalProperties":false},"PlatformGlobalComplianceModuleConfig":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EthereumCompositeIdEncoded"},"complianceModule":{"$ref":"#/components/schemas/PlatformSystemComplianceModule"}},"required":["id","complianceModule"],"additionalProperties":false},"PlatformSystemAddonRegistry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"version":{"type":"number"},"systemAddons":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemAddon"}}},"required":["id","version","systemAddons"],"additionalProperties":false},"PlatformSystemAddon":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AddonFactoryTypeIdWithVault"},"version":{"type":"number"}},"required":["id","name","typeId","version"],"additionalProperties":false},"AddonFactoryTypeIdWithVault":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop","fixed-yield-schedule","xvp-settlement","trading-venue","token-sale","historical-balances-feature-factory","maturity-redemption-feature-factory","hold-feature-factory","register-lines-feature-factory","supply-delegate-feature-factory","transaction-fee-feature-factory","transaction-fee-accounting-feature-factory","voting-power-feature-factory","external-transaction-fee-feature-factory","fixed-treasury-yield-feature-factory","dividend-yield-feature-factory","interest-yield-feature-factory","aum-fee-feature-factory","conversion-feature-factory","conversion-minter-feature-factory","distribution-waterfall-feature-factory","permit-feature-factory","scalar-feed-aggregator-adapter-factory","issuer-signed-scalar-feed","paymaster-signer","token-governance","token-governance-timelock","price-resolver","document-anchor-registry","access-manager","escrow","custody-gateway","unknown","vault"],"description":"Addon factory typeId identifier"},"PlatformSystemTokenFactoryRegistry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"version":{"type":"number"},"tokenFactories":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSystemTokenFactory"}}},"required":["id","version","tokenFactories"],"additionalProperties":false},"PlatformSystemTokenFactory":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AssetFactoryTypeId"}},"required":["id","name","typeId"],"additionalProperties":false},"AssetFactoryTypeId":{"type":"string","enum":["bond","equity","fund","stablecoin","deposit","real-estate","precious-metal","dalp-asset"],"description":"Asset factory typeId identifier"},"PlatformAddonFactoryRow":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AddonFactoryTypeId"},"deployedInTransaction":{"$ref":"#/components/schemas/EthereumHashEncoded"},"account":{"$ref":"#/components/schemas/EvmAddress"},"kind":{"$ref":"#/components/schemas/PlatformAddonFactoryKind"},"systemAddonImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"factoryImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"instanceImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["id","name","typeId","deployedInTransaction","account","kind","systemAddonImplementation","factoryImplementation","instanceImplementation"],"additionalProperties":false},"PlatformAddonFactoryKind":{"type":"string","enum":["singleton","factory","unknown"]},"PlatformAddonFactoryFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"$ref":"#/components/schemas/AddonType"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kind":{"anyOf":[{"$ref":"#/components/schemas/PlatformAddonFactoryKind"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"AddonType":{"type":"string","enum":["push-airdrop","vesting-airdrop","time-bound-airdrop","fixed-yield-schedule","xvp-settlement","trading-venue","token-sale","historical-balances-feature-factory","maturity-redemption-feature-factory","hold-feature-factory","register-lines-feature-factory","supply-delegate-feature-factory","transaction-fee-feature-factory","transaction-fee-accounting-feature-factory","voting-power-feature-factory","external-transaction-fee-feature-factory","fixed-treasury-yield-feature-factory","dividend-yield-feature-factory","interest-yield-feature-factory","aum-fee-feature-factory","conversion-feature-factory","conversion-minter-feature-factory","distribution-waterfall-feature-factory","permit-feature-factory","scalar-feed-aggregator-adapter-factory","issuer-signed-scalar-feed","paymaster-signer","token-governance","token-governance-timelock","price-resolver","document-anchor-registry","access-manager","escrow","custody-gateway"],"description":"Type of system addon"},"PlatformAccessManagerAddressPrediction":{"type":"object","properties":{"predictedAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["predictedAddress"],"additionalProperties":false},"PlatformFactoryAddressAvailability":{"type":"object","properties":{"isAvailable":{"type":"boolean"}},"required":["isAvailable"],"additionalProperties":false},"PlatformTokenFactoryDetail":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AssetFactoryTypeId"},"factoryImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"instanceImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["id","name","typeId","factoryImplementation","instanceImplementation"],"additionalProperties":false},"PlatformTokenFactoryRow":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"typeId":{"$ref":"#/components/schemas/AssetFactoryTypeId"},"hasTokens":{"type":"boolean"},"tokenExtensions":{"$ref":"#/components/schemas/AssetExtensionArray"},"factoryImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"instanceImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["id","name","typeId","hasTokens","tokenExtensions","factoryImplementation","instanceImplementation"],"additionalProperties":false},"PlatformTokenFactoryFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"$ref":"#/components/schemas/AssetFactoryTypeId"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"hasTokens":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformTokenFeatureTypeId":{"type":"string","enum":["aum-fee","transaction-fee","transaction-fee-accounting","external-transaction-fee","maturity-redemption","conversion","conversion-minter","fixed-treasury-yield","historical-balances","voting-power","metadata","permit","dividend-yield","interest-yield","distribution-waterfall","hold","register-lines","supply-delegate"]},"PlatformSystemFeatureInventoryFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"featureTypeId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"attachedTokenCount":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"latestAttachedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"IdentityStatus_1":{"type":"string","enum":["pending","registered"],"description":"On-chain identity registration status"},"EntityType":{"type":"string","enum":["eoa","token","asset","bond","equity","fund","deposit","stablecoin","real-estate","precious-metal","system","smart-account","contract"]},"PlatformSystemEntityFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"entityType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"identityAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lastActivity":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformDirectoryCatalog":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"systemImplementation":{"$ref":"#/components/schemas/EvmAddress"},"systemAccessManagerImplementation":{"$ref":"#/components/schemas/EvmAddress"},"forwarder":{"$ref":"#/components/schemas/EvmAddress"},"systemFactory":{"$ref":"#/components/schemas/EvmAddress"},"identityFactory":{"$ref":"#/components/schemas/EvmAddress"},"identityFactoryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"identityImplementations":{"$ref":"#/components/schemas/PlatformDirectoryIdentityImplementations"},"systemImplementations":{"$ref":"#/components/schemas/PlatformDirectorySystemImplementations"},"tokenTypes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformDirectoryTokenType"}},"complianceModuleTypes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformDirectoryComplianceModuleType"}},"addonTypes":{"type":"array","items":{"$ref":"#/components/schemas/PlatformDirectoryAddonType"}}},"required":["id","systemImplementation","systemAccessManagerImplementation","forwarder","systemFactory","identityFactory","identityFactoryImplementation","identityImplementations","systemImplementations","tokenTypes","complianceModuleTypes","addonTypes"],"additionalProperties":false},"PlatformDirectoryAddonType":{"type":"object","properties":{"id":{"type":"string"},"typeId":{"type":"string"},"name":{"type":"string"},"kind":{"$ref":"#/components/schemas/PlatformDirectoryAddonKind"},"factoryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"instanceImplementation":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"registeredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isExperimental":{"type":"boolean"}},"required":["id","typeId","name","kind","factoryImplementation","instanceImplementation","registeredAt","isExperimental"],"additionalProperties":false},"PlatformDirectoryAddonKind":{"type":"string","enum":["unknown","singleton","factory"]},"PlatformDirectoryComplianceModuleType":{"type":"object","properties":{"id":{"type":"string"},"typeId":{"type":"string"},"name":{"type":"string"},"implementation":{"$ref":"#/components/schemas/EvmAddress"},"registeredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isExperimental":{"type":"boolean"}},"required":["id","typeId","name","implementation","registeredAt","isExperimental"],"additionalProperties":false},"PlatformDirectoryTokenType":{"type":"object","properties":{"id":{"type":"string"},"typeId":{"type":"string"},"name":{"type":"string"},"implementation":{"$ref":"#/components/schemas/EvmAddress"},"factoryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"registeredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"isExperimental":{"type":"boolean"}},"required":["id","typeId","name","implementation","factoryImplementation","registeredAt","isExperimental"],"additionalProperties":false},"PlatformDirectorySystemImplementations":{"type":"object","properties":{"complianceImplementation":{"$ref":"#/components/schemas/EvmAddress"},"identityRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"identityRegistryStorageImplementation":{"$ref":"#/components/schemas/EvmAddress"},"trustedIssuersRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"trustedIssuersMetaRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"topicSchemeRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"tokenAccessManagerImplementation":{"$ref":"#/components/schemas/EvmAddress"},"tokenFactoryRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"complianceModuleRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"addonRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"},"identityVerificationComplianceModule":{"$ref":"#/components/schemas/EvmAddress"},"externalTokenRegistryImplementation":{"$ref":"#/components/schemas/EvmAddress"}},"required":["complianceImplementation","identityRegistryImplementation","identityRegistryStorageImplementation","trustedIssuersRegistryImplementation","trustedIssuersMetaRegistryImplementation","topicSchemeRegistryImplementation","tokenAccessManagerImplementation","tokenFactoryRegistryImplementation","complianceModuleRegistryImplementation","addonRegistryImplementation","identityVerificationComplianceModule","externalTokenRegistryImplementation"],"additionalProperties":false},"PlatformDirectoryIdentityImplementations":{"type":"object","properties":{"identityImplementation":{"$ref":"#/components/schemas/EvmAddress"},"contractIdentityImplementation":{"$ref":"#/components/schemas/EvmAddress"}},"required":["identityImplementation","contractIdentityImplementation"],"additionalProperties":false},"PlatformSystemReadRecord":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemView"},{"$ref":"#/components/schemas/PlatformSystemSummaryView"}]},"PlatformSystemSummaryView":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"canResume":{"type":"boolean"},"chainId":{"anyOf":[{"type":"number"},{"type":"null"}]},"deployedInTransaction":{"type":"string"},"tokenFactoryRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemTokenFactoryRegistry"},{"type":"null"}]},"systemAddonRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemAddonRegistry"},{"type":"null"}]},"compliance":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemCompliance"},{"type":"null"}]},"complianceModuleRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemComplianceModuleRegistry"},{"type":"null"}]},"systemAccessManager":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemAccessManager"},{"type":"null"}]},"identityRegistryStorage":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"identityRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemIdentityRegistry"},{"type":"null"}]},"trustedIssuersRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"topicSchemeRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"externalTokenRegistry":{"anyOf":[{"$ref":"#/components/schemas/PlatformRegistryRef"},{"type":"null"}]},"userPermissions":{"$ref":"#/components/schemas/PlatformSystemUserPermissionsSummary"},"userIdentity":{"anyOf":[{"$ref":"#/components/schemas/PlatformSystemUserIdentity"},{"type":"null"}]},"organisationIdentity":{"$ref":"#/components/schemas/EvmAddress"},"status":{"$ref":"#/components/schemas/PlatformSystemStatus"},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"userIdentityRegistered":{"type":"boolean"},"isZeroGasNetwork":{"type":"boolean"}},"additionalProperties":false},"PlatformSystemUserPermissionsSummary":{"type":"object","properties":{"roles":{"$ref":"#/components/schemas/PlatformSystemRoleFlagSet"},"holdsAssetGovernanceRole":{"type":"boolean"},"holdsAssetRole":{"type":"boolean"},"holdsSaleRole":{"type":"boolean"}},"required":["roles","holdsAssetGovernanceRole","holdsAssetRole","holdsSaleRole"],"additionalProperties":false},"systemFieldsQuery":{"type":"object","properties":{"system":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the system resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"system":"id,chainId,status,userIdentityRegistered,isZeroGasNetwork,userIdentity,userPermissions"}]},"PlatformSystemListRow":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"isBootstrapped":{"type":"boolean"},"tokenCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"systemCreatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","isBootstrapped","tokenCount","systemCreatedAt"],"additionalProperties":false},"PlatformSystemListFilters":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isBootstrapped":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"AccountClosureRequest":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"userId":{"$ref":"#/components/schemas/UserId"},"status":{"$ref":"#/components/schemas/AccountClosureRequestStatus"},"surface":{"$ref":"#/components/schemas/AccountClosureRequestSurface"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"declineReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"decidedByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]}},"required":["id","userId","status","surface","createdAt","settledAt","declineReason","decidedByUserId"],"additionalProperties":false},"AccountClosureRequestSurface":{"type":"string","enum":["console","portal"],"description":"The app the person filed the request from, the Console or the Investor portal. The closure emails link to that app's Security page."},"AccountClosureRequestStatus":{"type":"string","enum":["open","withdrawn","deleted","closed","declined"],"description":"`open` waits for an administrator. `withdrawn` was taken back by the person. `deleted`, `closed` and `declined` are the administrator's outcomes: the account was deleted, closed for good, or kept with a reason."},"AccountClosureRequestDecision":{"anyOf":[{"$ref":"#/components/schemas/AccountClosureDeclineDecision"},{"$ref":"#/components/schemas/AccountClosureCloseDecision"}],"description":"The administrator's decision on the open request: `declined` keeps the account with a reason, `closed` closes it. Deleting the account goes through the user delete route, which settles the request on its own.","discriminator":{"propertyName":"decision","mapping":{"declined":"#/components/schemas/AccountClosureDeclineDecision","closed":"#/components/schemas/AccountClosureCloseDecision"}}},"AccountClosureCloseDecision":{"type":"object","properties":{"decision":{"type":"string","enum":["closed"]},"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"The id of the request the administrator read. A decision whose request is no longer the open one is refused, so a request the person withdrew and refiled in the meantime is never decided on the earlier one's terms."}},"required":["decision","requestId"],"additionalProperties":false,"description":"Closes the account: sign-in and every session end and the account record stays. A closed account stays closed; its sign-in cannot be banned or unbanned afterwards."},"AccountClosureDeclineDecision":{"type":"object","properties":{"decision":{"type":"string","enum":["declined"]},"requestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"The id of the request the administrator read. A decision whose request is no longer the open one is refused, so a request the person withdrew and refiled in the meantime is never decided on the earlier one's terms."},"reason":{"$ref":"#/components/schemas/AccountClosureDeclineReason"}},"required":["decision","requestId","reason"],"additionalProperties":false,"description":"Keeps the account and tells the person why."},"AccountClosureDeclineReason":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S","description":"The administrator's reason for keeping the account, sent to the person. Whitespace alone is refused."},"PlatformUserDeletionRefusals":{"type":"object","properties":{"refusals":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/PlatformUserDeletionSoleOwnerRefusal"},{"$ref":"#/components/schemas/PlatformUserDeletionOnchainIdentityRefusal"},{"$ref":"#/components/schemas/PlatformUserDeletionPositiveHoldingsRefusal"},{"$ref":"#/components/schemas/PlatformUserDeletionWalletCheckerRefusal"}],"discriminator":{"propertyName":"reason","mapping":{"soleOwner":"#/components/schemas/PlatformUserDeletionSoleOwnerRefusal","onchainIdentity":"#/components/schemas/PlatformUserDeletionOnchainIdentityRefusal","positiveHoldings":"#/components/schemas/PlatformUserDeletionPositiveHoldingsRefusal","walletChecker":"#/components/schemas/PlatformUserDeletionWalletCheckerRefusal"}}}}},"required":["refusals"],"additionalProperties":false,"description":"Every reason the platform refuses to delete the user, in the order the database checks them. An empty list means the delete would go through."},"PlatformUserDeletionWalletCheckerRefusal":{"type":"object","properties":{"reason":{"type":"string","enum":["walletChecker"]},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/PlatformUserDeletionRefusalOrganization"}}},"required":["reason","organizations"],"additionalProperties":false},"PlatformUserDeletionRefusalOrganization":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/OrganizationId"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":false},"PlatformUserDeletionPositiveHoldingsRefusal":{"type":"object","properties":{"reason":{"type":"string","enum":["positiveHoldings"]}},"required":["reason"],"additionalProperties":false},"PlatformUserDeletionOnchainIdentityRefusal":{"type":"object","properties":{"reason":{"type":"string","enum":["onchainIdentity"]}},"required":["reason"],"additionalProperties":false},"PlatformUserDeletionSoleOwnerRefusal":{"type":"object","properties":{"reason":{"type":"string","enum":["soleOwner"]},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/PlatformUserDeletionRefusalOrganization"}}},"required":["reason","organizations"],"additionalProperties":false},"PlatformUserOrganizationOnboardingResetState":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UserId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"archivedWalletAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Addresses of the wallets this reset archived: those whose custody account no other organization still uses."},"keptWalletAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Addresses of the user's remaining wallets, including those another organization still uses. They are untouched."},"archivedContextCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Active custody account contexts of the user in this organization that the reset archived."}},"required":["userId","organizationId","archivedWalletAddresses","keptWalletAddresses","archivedContextCount"],"additionalProperties":false},"PlatformUserOrganizationOnboardingResetBody":{"type":"object","properties":{"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"}},"additionalProperties":false},"PlatformAdminUserRow":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string","description":"The display name. Empty when the user never set one."},"email":{"type":"string"},"emailVerified":{"type":"boolean"},"role":{"type":"string","description":"The platform role as stored: admin or member."},"banned":{"type":"boolean","description":"The stored ban flag. A closed account keeps it set, so read accountStatus to tell a ban from a closure."},"accountStatus":{"type":"string","enum":["active","banned","closed"],"description":"closed once an administrator closed the account on the user's account-closure request; a closed account stays closed. banned while an administrator's ban is in force. active in every other case."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"onboardingStatus":{"type":"string","enum":["stuck","in-progress","done","no-organization"],"description":"The worst onboarding status across the user's non-archived organizations, ordered stuck, in-progress, done. no-organization when the user belongs to none."},"organizations":{"type":"array","items":{"$ref":"#/components/schemas/PlatformAdminUserOrganization"},"description":"The user's non-archived organizations ordered by organization name."}},"required":["id","name","email","emailVerified","role","banned","accountStatus","createdAt","onboardingStatus","organizations"],"additionalProperties":false},"PlatformAdminUserOrganization":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"name":{"type":"string","minLength":1},"memberRole":{"type":"string","description":"The role the user holds in this organization, such as owner or member."},"onboardingStatus":{"type":"string","enum":["stuck","in-progress","done"],"description":"done once the organization finished onboarding. stuck when it has not and its initial system deployment failed three or more times. in-progress in every other case."},"failedAttempts":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Deployment attempts of the organization's initial system when that deployment is in the failed state, otherwise 0."}},"required":["organizationId","name","memberRole","onboardingStatus","failedAttempts"],"additionalProperties":false},"PlatformAdminUserFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"role":{"anyOf":[{"type":"string","enum":["admin","owner","member"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"banned":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"accountStatus":{"anyOf":[{"type":"string","enum":["active","banned","closed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"emailVerified":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"onboardingStatus":{"anyOf":[{"type":"string","enum":["stuck","in-progress","done","no-organization"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformIndexingScopeFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"chainId":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"systemAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"indexed":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformOperatorWallet":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"},"label":{"type":"string"},"nativeCurrency":{"anyOf":[{"$ref":"#/components/schemas/NativeCurrency"},{"type":"null"}]},"nativeBalance":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"nativeBalanceObservedAtBlock":{"anyOf":[{"$ref":"#/components/schemas/ApiBigIntEncoded"},{"type":"null"}]},"nativeBalanceObservedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"zeroGas":{"type":"boolean"}},"required":["chainId","address","label","nativeCurrency","nativeBalance","nativeBalanceObservedAtBlock","nativeBalanceObservedAt"],"additionalProperties":false},"PlatformOperatorWalletFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"chainId":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"address":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"label":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"nativeBalance":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"nativeBalanceObservedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"HTTPURL":{"type":"string","maxLength":2048},"PlatformAdminOrganizationFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"archivedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformRpcUpstreamPoolFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"networkName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"AdminNetworkBaseFee":{"type":"object","properties":{"weiPerGas":{"type":"string"},"changedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["weiPerGas","changedAt"],"additionalProperties":false,"description":"The newest base fee per gas the platform recorded for this EVM network, for information only. It does not change how fees are priced. changedAt is when the platform first saw this value; the platform rechecks the fee every 30 seconds and records only a change. Absent when the network is disabled, charges no gas, prices with a legacy gas price, has no recorded fee yet, or its stored fees cannot be read within one second."},"AdminNewTokenDetection":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["on"]},"checkedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["status","checkedAt"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["off"]},"reason":{"type":"string","enum":["refused-at-start","refused-while-running"]},"checkedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["status","checkedAt"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unknown"]}},"required":["status"],"additionalProperties":false}],"description":"Whether the indexer finds new tokens sent to tracked wallets on this EVM network. Off means the RPC provider refused the address-less log queries detection needs, so only tokens the platform already knows are indexed. Unknown means the indexer has not reported a recent check."},"AdminNetworkRebuild":{"type":"object","properties":{"progressPct":{"type":"number","description":"How far the rebuild has indexed this network, from 0 to 100: current block over target block."},"currentBlock":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The last block the rebuild has committed on this network. Null before its first commit."},"targetBlock":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The block the current data has committed on this network, which the rebuild must reach before reads switch to it."},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["progressPct","currentBlock","targetBlock","startedAt"],"additionalProperties":false,"description":"Progress of the running rebuild of indexed data on this network."},"TtlInput":{"anyOf":[{"$ref":"#/components/schemas/TtlShorthand"},{"type":"integer","minimum":0,"maximum":9007199254740991}],"description":"A TTL as a duration shorthand such as '24h', or as nonnegative integer milliseconds"},"TtlShorthand":{"type":"string","maxLength":16,"pattern":"^(\\d+)([smhd])$","description":"A TTL written as a whole number of seconds, minutes, hours or days, such as '30s', '5m', '24h' or '7d'"},"AdminNetworkLifecycle":{"type":"object","properties":{"networkName":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"paused":{"type":"boolean"},"pauseReason":{"anyOf":[{"type":"string","enum":["admin"]},{"type":"null"}]},"version":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["networkName","chainId","paused","pauseReason","version"],"additionalProperties":false},"AdminNetworkLifecycleInput":{"type":"object","properties":{"paused":{"type":"boolean"}},"required":["paused"],"additionalProperties":false},"PlatformAdminNetworkRejectedFilters":{"type":"object","additionalProperties":true},"OnboardingNetworkChoice":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether organization onboarding offers every enabled EVM catalog network. When false, a new organization starts on the platform default network."}},"required":["enabled"],"additionalProperties":false},"PlatformAdminNetworkFilters":{"type":"object","properties":{"chainId":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformSetupCompleteInputEncoded":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"ComplianceTemplateJurisdictionsEncoded":{"type":"array","items":{"type":"string"}},"ComplianceTemplateInstrumentLink":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":255},"isDraft":{"type":"boolean"},"isPublished":{"type":"boolean"}},"required":["id","name","isDraft","isPublished"],"additionalProperties":false,"description":"An instrument template that links a policy template: its id, display name and publication state (draft, unpublished or published)."},"PlatformComplianceTemplateFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"moduleSetVersion":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isDraft":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"jurisdiction":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"containsModule":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformProfileSectionFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"retired":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"position":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"InstrumentType":{"type":"string","enum":["equity","debt-instrument","sukuk","government-security","fund","spot-commodity","tokenised-security","tokenised-commodity","virtual-asset","real-estate-token","other"],"description":"What kind of instrument a template issues, as reports name it"},"PlatformAssetTypeTemplateFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"assetClass":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isDraft":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isHidden":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]},"isPublished":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformAssetClassDefinitionFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"slug":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"isSystem":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isHidden":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"AssistantSettings":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the organisation's members see the assistant. On until an owner or a platform administrator turns it off."},"model":{"type":"string","enum":["~deepseek/deepseek-v4-flash-latest"],"description":"The one model id the assistant is pinned to, on the organisation's key and on the platform key alike. OpenRouter resolves it to the latest DeepSeek V4 Flash release."},"apiKey":{"anyOf":[{"$ref":"#/components/schemas/AssistantApiKey"},{"type":"null"}],"description":"The organisation's own OpenRouter key, shown only by its last characters, and only to callers who can change settings. Null when the organisation has none, or when the caller cannot change settings."},"platformKeyAvailable":{"type":"boolean","description":"Whether this installation has a platform OpenRouter key to serve organisations without their own."},"dataScope":{"type":"string","enum":["mask","send"],"description":"The effective data scope. It is `send` unless the organisation stored `mask`, on the organisation's own key and on the platform key alike."},"capabilities":{"$ref":"#/components/schemas/AssistantCapabilities"},"watchers":{"$ref":"#/components/schemas/AssistantWatchers"},"mcpServer":{"type":"boolean","description":"Whether external agents (Claude, ChatGPT, Copilot, a client's own) may connect to the organisation through DALP's hosted MCP server, signed in as a member. Off until an organisation owner or platform administrator switches it on; it also needs the assistant on. Turning it off refuses every connected client at once."}},"required":["enabled","model","apiKey","platformKeyAvailable","dataScope","capabilities","watchers","mcpServer"],"additionalProperties":false},"AssistantWatchers":{"type":"object","properties":{"payoutFunding":{"type":"boolean","description":"Payout funding: a dividend, distribution or coupon its treasury cannot cover."},"filingDue":{"type":"boolean","description":"Filing due: a filing due within its warning window with no submission."},"claimExpiry":{"type":"boolean","description":"Claim expiry: identity claims an asset needs that expire within 30 days for holders."},"unmatchedCredit":{"type":"boolean","description":"Unmatched credit: a bank credit left in suspense past 24 hours."}},"required":["payoutFunding","filingDue","claimExpiry","unmatchedCredit"],"additionalProperties":false,"description":"One switch per watcher. Each is off until an owner or a platform administrator turns it on; a watcher that is off does not run and posts nothing, and every watcher reads off while the assistant itself is off."},"AssistantCapabilities":{"type":"object","properties":{"answers":{"type":"boolean","description":"Answering questions about the asset, participant, venue or audit trail in view."},"drafts":{"type":"boolean","description":"Drafting a control change from a request or a pasted text, for the member to review."},"termSheetCheck":{"type":"boolean","description":"Reading a term sheet and comparing its terms with the chain. Also needs the `send` data scope."},"holderNotices":{"type":"boolean","description":"Drafting the notice that goes to holders with a corporate action."},"checkLines":{"type":"boolean","description":"The approval brief and the one-line check on each pending approval."},"textFilters":{"type":"boolean","description":"Turning a typed phrase into table filters."}},"required":["answers","drafts","termSheetCheck","holderNotices","checkLines","textFilters"],"additionalProperties":false,"description":"One switch per assistant capability. Each is on until an owner or a platform administrator turns it off, and every switch reads off while the assistant itself is off."},"AssistantApiKey":{"type":"object","properties":{"ending":{"type":"string","description":"The last three characters of the stored key."}},"required":["ending"],"additionalProperties":false},"AssistantSettingsUpdate":{"type":"object","properties":{"enabled":{"type":"boolean"},"apiKey":{"anyOf":[{"type":"string","pattern":"^sk-or-[!-~]{8,250}$","description":"An OpenRouter API key: `sk-or-` followed by 8 to 250 printable characters without spaces."},{"type":"null"}]},"dataScope":{"type":"string","enum":["mask","send"],"description":"What may leave DALP in a question. `mask` replaces names with handles and sends no document pages or memos. `send` also sends document pages and memos as written, on the organisation's own key and on the platform key alike."},"capabilities":{"$ref":"#/components/schemas/AssistantCapabilitiesUpdate"},"watchers":{"$ref":"#/components/schemas/AssistantWatchersUpdate"},"mcpServer":{"type":"boolean"},"acknowledged":{"type":"boolean","enum":[true]}},"additionalProperties":false,"description":"Changes only the fields it names; `capabilities` and `watchers` change only the switches they name. `apiKey` stores the organisation's own OpenRouter key in the platform's secret store, or removes it when null; the key is never returned. `dataScope: send` needs `acknowledged: true` and an organisation owner or platform administrator; removing the own key keeps the stored scope. `mcpServer: true` needs an organisation owner or platform administrator."},"AssistantWatchersUpdate":{"type":"object","properties":{"payoutFunding":{"type":"boolean"},"filingDue":{"type":"boolean"},"claimExpiry":{"type":"boolean"},"unmatchedCredit":{"type":"boolean"}},"additionalProperties":false,"description":"The watcher switches to change. A switch left out keeps its stored value."},"AssistantCapabilitiesUpdate":{"type":"object","properties":{"answers":{"type":"boolean"},"drafts":{"type":"boolean"},"termSheetCheck":{"type":"boolean"},"holderNotices":{"type":"boolean"},"checkLines":{"type":"boolean"},"textFilters":{"type":"boolean"}},"additionalProperties":false,"description":"The capability switches to change. A switch left out keeps its stored value."},"CSSColor":{"type":"string","maxLength":256},"ThemeStylesheetUrl":{"type":"string","maxLength":2048},"PlatformEffectiveLicensedModules":{"type":"object","properties":{"global":{"type":"array","items":{"type":"string"},"description":"The modules the deployment has switched on, for every organization"},"optOuts":{"type":"array","items":{"type":"string"},"description":"The modules the organization opted out of, including ones the deployment has off"},"effective":{"type":"array","items":{"type":"string"},"description":"The modules the organization has: the deployment's modules minus the organization's opt-outs"},"held":{"type":"array","items":{"$ref":"#/components/schemas/PlatformHeldLicensedModuleMutation"},"description":"Admin mutations waiting for a checker, each assigned to the licensed module it writes to"}},"required":["global","optOuts","effective","held"],"additionalProperties":false},"PlatformHeldLicensedModuleMutation":{"type":"object","properties":{"module":{"type":"string","description":"The licensed module the held request writes to"},"operation":{"type":"string","description":"The endpoint the held request calls once approved"},"path":{"type":"string","description":"Path the held request calls once approved"},"approvalId":{"type":"string","description":"The approval request that holds it"}},"required":["module","operation","path","approvalId"],"additionalProperties":false},"PlatformEffectiveEnabledLanguages":{"type":"object","properties":{"languages":{"type":"array","items":{"type":"string","enum":["en-US","de-DE","ar-SA","ja-JP","fr-FR","nl-NL","ms-MY","id-ID","th-TH","ko-KR"]}},"source":{"type":"string","enum":["organization","default"]}},"required":["languages","source"],"additionalProperties":false},"PlatformEffectiveDisplayTimeZone":{"type":"object","properties":{"timeZone":{"type":"string"},"source":{"type":"string","enum":["organization","venue","default"]}},"required":["timeZone","source"],"additionalProperties":false},"PlatformAccountKindSwitchReadiness":{"type":"object","properties":{"networks":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSwitchReadinessNetwork"}},"blockingWrites":{"type":"array","items":{"$ref":"#/components/schemas/PlatformSwitchBlockingWrite"}}},"required":["networks","blockingWrites"],"additionalProperties":false,"description":"Whether the organization can start the switch to smart wallets, and what blocks it."},"PlatformSwitchBlockingWrite":{"type":"object","properties":{"transactionId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"state":{"$ref":"#/components/schemas/UnfinishedTransactionRequestState"},"relayerAddress":{"$ref":"#/components/schemas/EvmAddress"},"awaitingFunds":{"type":"boolean"}},"required":["transactionId","chainId","state","relayerAddress","awaitingFunds"],"additionalProperties":false,"description":"A transaction request on the organization relayer that has not finished; it must land or be cancelled before the switch can start."},"UnfinishedTransactionRequestState":{"type":"string","enum":["RECEIVED","QUEUED","AWAITING_WORKFLOW","PREPARING","PENDING_APPROVAL","SIGNING","BROADCASTING","CONFIRMING","DEAD_LETTER"],"description":"A transaction request state whose write can still land on chain: an open state, or a dead letter that was already broadcast"},"PlatformSwitchReadinessNetwork":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"ready":{"type":"boolean"}},"required":["chainId","ready"],"additionalProperties":false,"description":"An active network of the organization and whether it can host smart wallets yet."},"AccountKind":{"type":"string","enum":["plain-wallet","smart-account"],"description":"How the organization's users hold their accounts. `plain-wallet`: each user signs and sends from a plain wallet. `smart-account`: each user acts through a smart account; an organization cannot leave this kind once it is on it."},"RoleSegregationPolicyEncoded":{"type":"string","allOf":[{"maxLength":8192,"contentMediaType":"application/json"}]},"OptionalUserVerification":{"anyOf":[{"$ref":"#/components/schemas/UserVerification"},{"type":"null"}],"description":"Wallet step-up proof for this write. Required when the organization enforces PIN, OTP, recovery codes, or OIDC MFA on mutations. Omit only when the deployment does not require wallet verification.","examples":[{"secretVerificationCode":"847291","verificationType":"OTP"}]},"UserVerification":{"type":"object","properties":{"secretVerificationCode":{"$ref":"#/components/schemas/NonEmptyString"},"verificationType":{"anyOf":[{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"]},{"type":"null"}]}},"required":["secretVerificationCode"],"additionalProperties":false},"NonEmptyString":{"type":"string","minLength":1},"PlatformSettingListFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"key":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"value":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lastUpdated":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"PlatformSettingReadResult":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["value"],"additionalProperties":false},"InvitationLinkStateView":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/InvitationLinkState"}},"required":["state"],"additionalProperties":false},"InvitationLinkState":{"type":"string","enum":["sign-up","sign-in","accepted","rejected","canceled","expired"],"description":"What the invitation link leads to. `sign-up` and `sign-in` answer an open invitation: `sign-in` when an account already uses the invited address. `expired` answers a pending invitation at or past its expiry by the server clock. `accepted`, `rejected` and `canceled` answer an invitation that is no longer open."},"InviteeInvitationListItem":{"type":"object","properties":{"id":{"type":"string","minLength":1,"pattern":"^[A-Za-z0-9_-]+$"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"organizationName":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"type":"string"},"role":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/InviteeInvitationListStatus"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"inviterName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name of the person who sent the invitation, `null` when the inviter has no name on record."},"onChainRoles":{"type":"array","items":{"$ref":"#/components/schemas/SystemAccessControlRole"},"description":"The system roles the invitation asks the platform to grant when the invitee joins."},"onChainRolesAuthorized":{"type":"boolean","description":"Whether a verified wallet of the inviting organisation has authorised the roles. `true` when the invitation carries no roles. Acceptance is refused while it is `false`."},"onChainRolesGrantFailed":{"type":"boolean","description":"Whether the last attempt to grant the roles failed after the invitee joined. The invitee holds membership without the roles until a Permission manager grants them."}},"required":["id","organizationId","organizationName","email","role","status","expiresAt","inviterName","onChainRoles","onChainRolesAuthorized","onChainRolesGrantFailed"],"additionalProperties":false},"InviteeInvitationListStatus":{"type":"string","enum":["pending","accepted","rejected","canceled","expired"],"description":"The invitation's status by the server clock. A pending invitation at or past `expiresAt` answers `expired`."},"PlatformInvitationRolesNotAuthorizedEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationRolesNotAuthorized"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformInvitationNationalIdConflictEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationNationalIdConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformInvitationOrganizationArchivedEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationOrganizationArchived"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformInvitationCanceledEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationCanceled"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformInvitationExpiredEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationExpired"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformInvitationAlreadyAcceptedEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformInvitationAlreadyAccepted"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"PlatformUnprocessableEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformUnprocessable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["module-set","invitation-input-invalid","invitation-system-missing","network-definition-invalid","rpc-pool-empty","filter-unsupported","factory-type-unusable","factory-type-unregistered","slug-unusable","role-change-not-atomic","role-change-refused","target-currency-not-supported","template-not-publishable","parameters-mismatch","auth-provider-rejected","theme-logo-not-base64"]},"typeIds":{"type":"array","items":{"type":"string"}}},"required":["_tag","message","reason"],"additionalProperties":false},"PlatformConflictEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"issue":{"type":"object","properties":{"code":{"type":"string","enum":["configuration-limit","invalid-shape","definition-mismatch","unknown-field","required-field","scalar-type","scalar-constraint","duplicate-entry","dangling-reference","reference-cycle","reference-type","entry-bounds","policy-conflict","fixed-field","feature-constraint","duplicate-member","duplicate-feature","duplicate-input","chain-mismatch","missing-reciprocal","construction-cycle"]},"memberId":{"type":"string"},"featureId":{"type":"string"},"instanceId":{"type":"string"},"address":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["field"]},"id":{"type":"string","minLength":1,"maxLength":128}},"required":["kind","id"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["entry"]},"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"}},"required":["kind","id"],"additionalProperties":false}]},"maxItems":18},"message":{"type":"string"}},"required":["code","memberId","featureId","address","message"],"additionalProperties":false},"reason":{"type":"string","enum":["multi-network-disable-blocked","network-family-disabled","organization-archive-refused","onboarding-reset-refused","self-session-revocation","holiday-calendar-cycle","holiday-calendar-exists","invitation-conflict","deployment-without-invitation","executor-unavailable","custody-provider-missing","deploy-conflict","membership-conflict","last-owner","settings-refused","bundler-provisioning-refused","organization-not-active","self-membership-removal","member-holds-roles","system-asset-class-readonly","system-template-readonly","last-administrator","addon-instance-wiring","target-currency-removal-forbidden","setting-cannot-be-disabled","identity-mismatch","account-kind-switch-blocked","theme-version-conflict","template-exists","profile-section-storage-locked","template-feature-conflict","template-structure-locked","template-structure-revision-conflict","template-structure-draft-member","template-publication-unchanged","template-issuance-in-progress","template-already-published","template-publication-changed","template-in-structure","template-has-tokens","template-visibility-unsupported","template-visibility-unattributable","table-view-name-exists","table-view-limit-reached","account-closure-request-not-open","account-closure-self-decision","account-closure-sole-owner","owner-expiry-refused","organization-name-taken"]}},"required":["_tag","message","reason"],"additionalProperties":false},"PlatformAccessDeniedEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformAccessDenied"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"CustodyAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Global custody account identifier"},"OrgNetworkSmartWallets":{"type":"object","properties":{"deployed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many of the organization's smart wallets on this network are deployed on-chain, which is when the indexer has seen the wallet factory create the account."},"total":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many active smart wallets the organization has on this network, deployed or not: those of the participants its members act as and of the organization's own participants."},"progress":{"$ref":"#/components/schemas/MeterProgress"}},"required":["deployed","total","progress"],"additionalProperties":false},"GasPayer":{"type":"string","enum":["self","relayer","paymaster"],"description":"Who pays gas for the organization's transactions on one network. `self`: each signer pays from their own wallet. `relayer`: users sign meta transactions and the organization's relayer wallet sends and pays for them (plain wallets only). `paymaster`: the organization's paymaster sponsors its users' smart-account operations (smart accounts only)."},"NetworkGasPayerInput":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"gasPayer":{"$ref":"#/components/schemas/PlainWalletGasPayer"}},"required":["chainId","gasPayer"],"additionalProperties":false,"description":"The gas payer to use from now on for a plain-wallet organization's transactions on one of its networks. A smart-account organization switches paymaster sponsorship through the paymaster configuration instead."},"PlainWalletGasPayer":{"type":"string","enum":["self","relayer"],"description":"Who pays gas on one network for an organization on plain wallets. `self`: each signer pays from their own wallet. `relayer`: users sign meta transactions and the organization's relayer wallet sends and pays for them."},"NetworkGasPayerRequest":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"gasPayer":{"$ref":"#/components/schemas/PlainWalletGasPayer"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["chainId","gasPayer"],"additionalProperties":false},"OrganizationId_6":{"type":"string","minLength":1,"description":"The organization the caller believes it is changing the member's role in. When present the platform compares it to the session's active organization and refuses the request on a mismatch, so a session switched elsewhere cannot redirect the change at another tenant. Omit it to change the role in whatever organization the session is active in."},"OrganizationId_5":{"type":"string","minLength":1,"description":"The organization the caller believes it is removing the member from. When present the platform compares it to the session's active organization and refuses the request on a mismatch, so a session switched elsewhere cannot redirect the removal at another tenant. Omit it to remove from whatever organization the session is active in."},"AccountSetup":{"anyOf":[{"type":"object","properties":{"accountKind":{"type":"string","enum":["plain-wallet"]},"gasPayer":{"$ref":"#/components/schemas/PlainWalletGasPayer"}},"required":["accountKind","gasPayer"],"additionalProperties":false},{"type":"object","properties":{"accountKind":{"type":"string","enum":["smart-account"]},"gasPayer":{"type":"string","enum":["self","paymaster"]}},"required":["accountKind","gasPayer"],"additionalProperties":false}],"description":"The organization's account kind together with the gas payer of one network, as one valid pair."},"DalpPublicHttpError412":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[412],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[412]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"A conditional header sent with the request does not hold for the current resource. Read the resource again and retry with the entity-tag from that read.","examples":[{"code":"PRECONDITION_FAILED","status":412,"message":"A precondition on the request was not met","data":{"id":"DALP-0681","why":"The `If-Match` or `If-None-Match` condition sent with the request does not hold for the current resource: it was changed, created, or removed since the version the request was built against.","fix":"Read the resource again, apply your change to the version you just read, and send the request with the entity-tag from that read.","retryable":false,"category":"client"}}]},"Agent":{"type":"object","properties":{"agentId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"name":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"status":{"type":"string","enum":["provisioning","active","revoked","failed"]},"account":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"signer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"mandateOwner":{"$ref":"#/components/schemas/EvmAddress"},"identity":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"revokedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"revokedBy":{"anyOf":[{"type":"string","enum":["agent-kill-switch","organisation-kill-switch"]},{"type":"null"}]}},"required":["agentId","organizationId","name","chainId","status","account","signer","mandateOwner","identity","createdBy","createdAt","revokedAt","revokedBy"],"additionalProperties":false},"AgentKill":{"type":"object","properties":{"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["reason"],"additionalProperties":false},"AgentDetail":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent"},"mandate":{"anyOf":[{"$ref":"#/components/schemas/AgentOnChainMandate"},{"type":"null"}]}},"required":["agent","mandate"],"additionalProperties":false},"AgentOnChainMandate":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/AgentMandate"},"revokedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"usage":{"type":"array","items":{"$ref":"#/components/schemas/AgentMandateUsage"}}},"required":["mandate","revokedAt","usage"],"additionalProperties":false},"AgentMandateUsage":{"type":"object","properties":{"asset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"spentThisPeriod":{"$ref":"#/components/schemas/EncodedUint256"},"limitPerPeriod":{"$ref":"#/components/schemas/EncodedUint256"}},"required":["asset","spentThisPeriod","limitPerPeriod"],"additionalProperties":false},"EncodedUint256":{"type":"string","pattern":"^(?:0|[1-9]\\d*)$","maxLength":78},"AgentMandate":{"type":"object","properties":{"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"periodSeconds":{"type":"integer","minimum":60,"maximum":4294967295},"nativeLimitPerTransaction":{"$ref":"#/components/schemas/EncodedUint256"},"nativeLimitPerPeriod":{"$ref":"#/components/schemas/EncodedUint256"},"targets":{"type":"array","items":{"$ref":"#/components/schemas/AgentMandateTarget"},"maxItems":32},"assets":{"type":"array","items":{"$ref":"#/components/schemas/AgentMandateAsset"},"maxItems":16}},"required":["expiresAt","periodSeconds","nativeLimitPerTransaction","nativeLimitPerPeriod","targets","assets"],"additionalProperties":false},"AgentMandateAsset":{"type":"object","properties":{"asset":{"$ref":"#/components/schemas/EvmAddress"},"limitPerTransaction":{"$ref":"#/components/schemas/EncodedUint256"},"limitPerPeriod":{"$ref":"#/components/schemas/EncodedUint256"}},"required":["asset","limitPerTransaction","limitPerPeriod"],"additionalProperties":false},"AgentMandateTarget":{"type":"object","properties":{"target":{"$ref":"#/components/schemas/EvmAddress"},"selectors":{"type":"array","items":{"$ref":"#/components/schemas/FunctionSelector"},"minItems":1,"maxItems":16}},"required":["target","selectors"],"additionalProperties":false},"FunctionSelector":{"type":"string","pattern":"^0x[0-9a-f]{8}$"},"AgentMandateReplace":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/AgentMandate"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["mandate"],"additionalProperties":false},"AgentHalt":{"type":"object","properties":{"halted":{"type":"boolean"},"haltedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["halted","haltedAt","reason"],"additionalProperties":false},"AgentHaltChange":{"type":"object","properties":{"halted":{"type":"boolean"},"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["halted","reason"],"additionalProperties":false},"AgentMandateProposal":{"type":"object","properties":{"mandate":{"$ref":"#/components/schemas/AgentMandate"},"assets":{"type":"array","items":{"type":"object","properties":{"assetId":{"$ref":"#/components/schemas/EvmAddress"},"feature":{"type":"string","enum":["fixed-treasury-yield","dividend-yield"]},"denominationAsset":{"$ref":"#/components/schemas/EvmAddress"}},"required":["assetId","feature","denominationAsset"],"additionalProperties":false}}},"required":["mandate","assets"],"additionalProperties":false},"AgentCreate":{"type":"object","properties":{"name":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,118}\\S)?\\s*$"},"mandate":{"$ref":"#/components/schemas/AgentMandate"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["name","mandate"],"additionalProperties":false},"StatsResolvedRange":{"type":"object","properties":{"interval":{"$ref":"#/components/schemas/StatsRangeInterval"},"from":{"$ref":"#/components/schemas/TimestampEncoded_2"},"to":{"$ref":"#/components/schemas/TimestampEncoded_2"},"isPreset":{"type":"string","enum":["true","false"]}},"required":["interval","from","to","isPreset"],"additionalProperties":false,"description":"Inclusive time window for the series. Use a resolved stats range such as the last 30 days."},"JoinableParticipants":{"type":"object","properties":{"participants":{"type":"array","items":{"$ref":"#/components/schemas/JoinableParticipant"},"description":"Every personal participant you own, drivable here or not. None drivable means create a new one, or add a wallet on the account-level participants page to one whose `walletAddable` is true."},"providers":{"type":"array","items":{"$ref":"#/components/schemas/JoinableProvider"},"description":"The organization's providers a new personal participant may be created on: healthy, enabled for creation, allowed by the deployment's provider policy, and serving the chain the participant is created on. That chain is the caller's session chain when the organization runs a system there, otherwise `chainId`. A provider that fails any of these is absent, so an empty list, or no `managedSigning` entry, means this chain has nothing to create a managed account on."},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"aaEnabled":{"type":"boolean","description":"Whether a new participant here may run through a smart wallet. The same account-abstraction verdict the create applies, resolved for this organization and its network rather than for the caller's session: somebody joining or switching is looking at an organization that is not the one their headers name, so a session-scoped answer offers a smart wallet that is not available in this organization, and withholds one that is. False for an organization with no system yet, where a smart wallet is not available."},"pendingParticipantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}],"description":"The personal participant this membership already acts as that is still waiting for its owner to prove its key, or `null`. It is absent from `participants` because a pending shell can act nowhere, so the honest next step for this person is proving that key rather than picking another participant. Only its own owner ever sees it here."},"canEnableProvider":{"type":"boolean","description":"Whether you may add a provider to the list above. False for anyone but an administrator of this organization acting in it, which includes everyone who reaches this operation on an open invitation. An organization with no provider you can be created on is a dead end for a caller this is false for, and the honest answer is that its administrator has to enable one."}},"required":["participants","providers","chainId","aaEnabled","pendingParticipantId","canEnableProvider"],"additionalProperties":false},"JoinableProvider":{"type":"object","properties":{"providerConfigurationId":{"type":"string","description":"The configuration a new personal participant would be created on."},"provider":{"type":"string","description":"The custody provider kind."},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"]},"managedSigning":{"type":"boolean","description":"Whether the platform holds the key and signs with it unattended. The provider kind alone cannot answer this: the mapping from kind to custody lives on the server, so a client that reads the kind is restating a rule it does not own."}},"required":["providerConfigurationId","provider","providerIdentity","managedSigning"],"additionalProperties":false},"JoinableParticipant":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId_5"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Display name, when the participant has one."},"walletType":{"type":"string","enum":["eoa","smart"],"description":"How this participant executes: `eoa` sends directly, `smart` runs through its smart wallet."},"acting":{"type":"boolean","description":"Whether this is the participant the membership currently records. False on every entry means the caller has not chosen yet."},"keyCustody":{"type":"string","enum":["managed","external","none"],"description":"The custody behind the key this participant already holds: `managed` when the platform signs with it, `external` when its owner brings it, `none` when it holds no live key yet. A key is usable only in the organizations that honour the credentials it is held on. Adding a key takes nothing away from the organizations that already honour this participant's other keys, and an organization that does not honour a key simply does not offer it."},"custodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}],"description":"The custody account holding that key, `null` alongside `keyCustody: \"none\"`. Send it as the `custodyAccountId` of an accept or deploy that joins as this participant: before the membership exists the account list for this organization is empty by construction, so this is the only answer that names the signer."},"drivable":{"type":"boolean","description":"Whether this organization can drive at least one of this participant's wallets. A participant it cannot drive is listed so it is never hidden, is not selectable, and gains a wallet only on the account-level participants page, when `walletAddable` says one would help."},"reason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}],"description":"The capability this organization lacks for every wallet this participant holds, and `wallet-not-active` when it holds no active wallet on this chain; `null` exactly when `drivable` is true. It never describes another organization's arrangements."},"walletAddable":{"type":"boolean","description":"Whether adding a wallet to this participant on the account-level participants page can make it drivable here. Always false when `drivable` is true. Also false for a participant that already runs through a smart wallet on this chain: that smart wallet stays bound to the keys it has, so a new key cannot take it over, and the way into this organization is a new participant."},"wallets":{"type":"array","items":{"$ref":"#/components/schemas/JoinableWallet"},"description":"Every key this participant holds on this organization's chain, each with this organization's verdict. When more than one is drivable, the caller picks which becomes the default here."}},"required":["id","name","walletType","acting","keyCustody","custodyAccountId","drivable","reason","walletAddable","wallets"],"additionalProperties":false},"JoinableWallet":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId_1"},"address":{"type":"string","description":"The address of this key itself. A participant that runs through a smart wallet still lists its key address here: each entry is one key, and the smart wallet the key controls is not part of this answer."},"drivable":{"type":"boolean","description":"Whether this organization can drive this key on its chain."},"reason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}],"description":"The capability this organization lacks for this key, `null` exactly when `drivable` is true. It never describes another organization's arrangements."}},"required":["custodyAccountId","address","drivable","reason"],"additionalProperties":false},"WalletIneligibilityReason":{"type":"string","enum":["custody-mismatch","account-abstraction-disabled","signer-threshold-unmet","wallet-not-active","provider-quarantined"],"description":"The capability this organization lacks for the wallet on this chain: `custody-mismatch` when it cannot sign with the custody provider the key lives on, `account-abstraction-disabled` when the wallet is a smart wallet and account abstraction does not route on this chain here, `signer-threshold-unmet` when the signers it can sign with carry less weight than the smart wallet's threshold, `wallet-not-active` when the key is still being provisioned or was revoked or archived, `provider-quarantined` when the custody provider the key lives on is quarantined until an operator recovers it."},"CustodyAccountId_1":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The custody account holding this key. Send it as `custodyAccountId` to make it the default here."},"ParticipantId_5":{"type":"string","minLength":1,"description":"The participant to act as."},"OrganizationId_4":{"type":"string","minLength":1,"description":"The organization being joined or switched into."},"CustodyAccountId_2":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The key that becomes this participant's default in this organization and chain. It must be one of the participant's drivable `wallets`. Omitted, the key the read reported as `custodyAccountId` stays the default."},"ParticipantId_6":{"type":"string","minLength":1,"description":"The personal participant to act as. It must be one the read operation marked drivable."},"TokenTrustedIssuer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Wallet that operates the issuer identity. Null when the index resolved no operating wallet."},"claimTopics":{"type":"array","items":{"$ref":"#/components/schemas/TokenTrustedIssuerClaimTopic"},"description":"Claim topics this issuer is trusted for at its registry tier."},"registry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Trusted-issuers registry that holds this row, the one named by the tier in `inheritanceLevel`."},"inheritanceLevel":{"type":"string","enum":["token","system","global"],"description":"Tier of the chain of trust that registered the issuer. `token` rows are token-specific and removable; `system` and `global` rows are inherited and read-only."},"isInheritedElsewhere":{"type":"boolean","description":"True when the same issuer is also active in a parent-tier registry of this token's resolved chain. A token-tier row with this flag keeps inherited trust after a token-level remove; parent-tier rows are always false."}},"required":["id","claimTopics","registry","inheritanceLevel","isInheritedElsewhere"],"additionalProperties":false},"TokenTrustedIssuerClaimTopic":{"type":"object","properties":{"topicId":{"type":"string","minLength":1,"description":"Topic identifier as a decimal string, matching the on-chain `uint256`."},"name":{"type":"string","description":"Name the token's topic-scheme registry chain publishes for this topic. Empty when no registry in that chain publishes the topic id."}},"required":["topicId","name"],"additionalProperties":false},"TokenTrustedIssuerFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"source":{"anyOf":[{"type":"string","enum":["token","system","global"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"TokenTopicScheme":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Identifier of this row: the lowercase registry address, a `#` separator, and the topic identifier."},"topicId":{"type":"string","minLength":1,"description":"Topic identifier as a decimal string."},"name":{"type":"string","description":"Name the registry publishes for this topic."},"signature":{"type":"string","description":"ABI-style signature of the claim data. A verifier decodes a claim payload against it."},"registry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Registry that holds this row."},"inheritanceLevel":{"type":"string","enum":["token","system","global"],"description":"Tier of the chain of trust that registered the row. A `token` row sits in the token's own registry and its remove route can reach it; `system` and `global` rows are inherited read-only."},"isShadowed":{"type":"boolean","description":"True when another registry in the resolved chain registers the same topic identifier under a different claim-data signature, so the tier that wins depends on which registry verifies the claim."},"subject":{"$ref":"#/components/schemas/ClaimTopicSubject"}},"required":["id","topicId","name","signature","registry","inheritanceLevel","isShadowed","subject"],"additionalProperties":false},"ClaimTopicSubject":{"type":"string","enum":["person","asset","issuer","unknown"]},"TokenTopicSchemeFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"source":{"anyOf":[{"type":"string","enum":["token","system","global"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"DirectoryTrustedIssuerTopic":{"type":"object","properties":{"id":{"type":"string","minLength":1},"topicId":{"type":"string","minLength":1},"name":{"type":"string"},"signature":{"type":"string"}},"required":["id","topicId","name","signature"],"additionalProperties":false},"DirectoryTrustedIssuerTopicFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"DirectoryTrustedIssuer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Wallet that operates the issuer identity. Null when the index resolved no operating wallet."},"claimTopics":{"type":"array","items":{"$ref":"#/components/schemas/DirectoryTrustedIssuerTopic"},"description":"Claim topics the issuer may attest to on this network, resolved from the global topic-scheme registry."},"deployedInTransaction":{"$ref":"#/components/schemas/EthereumHashEncoded"},"inheritedBySystemsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"System trusted-issuer registries on this network that inherit from the global registry."}},"required":["id","claimTopics","deployedInTransaction","inheritedBySystemsCount"],"additionalProperties":false},"DirectoryTopicScheme":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Identifier of this entry: the lowercase registry address, a `#` separator, and the topic identifier."},"topicId":{"type":"string","minLength":1,"description":"Topic identifier as a decimal string. The registry holds it as an arbitrary-precision integer, so it stays a string."},"name":{"type":"string","description":"Name the registry publishes for this topic."},"signature":{"type":"string","description":"ABI-style signature of the claim data. A verifier decodes a claim payload against it."},"registry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Registry that publishes this entry, keyed by the global topic-scheme registry address."},"isShadowed":{"type":"boolean","description":"True when a registry that inherits from the global registry publishes the same topic identifier under a different signature."},"inheritedBySystemsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Registries on this network that inherit from the global topic-scheme registry."},"subject":{"$ref":"#/components/schemas/ClaimTopicSubject"}},"required":["id","topicId","name","signature","registry","isShadowed","inheritedBySystemsCount","subject"],"additionalProperties":false},"ClaimTopicExclusionPolicyUpdateOutput":{"type":"object","properties":{"name":{"type":"string","description":"Name the topic scheme registry stores for the topic."},"topicId":{"type":"string","minLength":1,"description":"On-chain topic identifier as a decimal string."},"exclusionPolicy":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicy_4"}},"required":["name","topicId","exclusionPolicy"],"additionalProperties":false},"ClaimTopicExclusionPolicy_4":{"type":"string","enum":["allow","warn","refuse"],"description":"The policy now stored for this topic in the active system."},"ClaimTopicExclusionPolicyUpdateBody":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"exclusionPolicy":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicy_3"},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["exclusionPolicy"],"additionalProperties":false},"ClaimTopicExclusionPolicy_3":{"type":"string","enum":["allow","warn","refuse"],"description":"Whether a compliance rule may exclude the holders of this claim: `allow` outright, `warn` against a recorded acknowledgement, or `refuse`."},"ClaimTopicRead":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Stable identifier of the topic: the checksummed address of the registry that holds it, followed by the hex encoding of its on-chain topic id."},"name":{"type":"string","description":"Name registered for the claim topic."},"signature":{"type":"string","description":"Solidity type list of the claim data, with its parentheses."},"topicId":{"type":"string","minLength":1,"description":"On-chain topic identifier as a decimal string."},"trustedIssuers":{"type":"array","items":{"$ref":"#/components/schemas/ClaimTopicTrustedIssuer"},"description":"Issuers that can attest this topic today, ordered by issuer address ascending. An empty list means no issuer can sign this topic today."},"exclusionPolicy":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicy_2"},"subject":{"$ref":"#/components/schemas/ClaimTopicSubject"}},"required":["id","name","signature","topicId","trustedIssuers","exclusionPolicy","subject"],"additionalProperties":false},"ClaimTopicExclusionPolicy_2":{"type":"string","enum":["allow","warn","refuse"],"description":"Whether a compliance rule may exclude the holders of this claim: `allow` outright, `warn` against a recorded acknowledgement, or `refuse`."},"ClaimTopicTrustedIssuer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"addedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"revokedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"account":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Wallet that operates the issuer identity, when the read resolves one."}},"required":["id","addedAt","revokedAt"],"additionalProperties":false},"IdentityV2KeyItem":{"type":"object","properties":{"keyHash":{"type":"string","description":"Hash that identifies the key within the identity contract, in lowercase hexadecimal."},"purpose":{"type":"string","enum":["management","deposit","claimSigner","encryption","unknown"]},"keyType":{"type":"string","enum":["ecdsa","rsa","unknown"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAtBlock":{"type":"string","description":"Number of the block that added the key, as a decimal string because it can exceed 2^53."},"createdAtTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["keyHash","purpose","keyType","createdAt","createdAtBlock","createdAtTxHash"],"additionalProperties":false},"IdentityKeyFilters":{"type":"object","properties":{"purpose":{"anyOf":[{"type":"string","enum":["management","deposit","claimSigner","encryption","unknown"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"keyType":{"anyOf":[{"type":"string","enum":["ecdsa","rsa","unknown"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"UserImageMutationOutput":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]}},"required":["success"],"additionalProperties":false,"description":"Confirms that the platform stored the change. `success` is always true on a 200 response."},"UserImageInput":{"type":"object","properties":{"hero":{"type":"string","minLength":1,"maxLength":2796204,"description":"Base64 of a 256 px square PNG, at most 2097152 bytes before encoding."},"small":{"type":"string","minLength":1,"maxLength":699052,"description":"Base64 of a 64 px square PNG, at most 524288 bytes before encoding."}},"required":["hero","small"],"additionalProperties":false,"description":"One profile image as its two renditions, each a base64 PNG: the 256 px hero and the 64 px small. The platform checks both, stores them, and replaces the user's previous image."},"UserListItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/UserRole_1"},{"type":"null"}]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"$ref":"#/components/schemas/ResidencyStatus"},{"type":"null"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastLoginAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"participantId":{"$ref":"#/components/schemas/ParticipantId_4"},"roles":{"$ref":"#/components/schemas/AccessControlRoles"},"rolesPending":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isAdmin":{"anyOf":[{"type":"boolean"},{"type":"null"},{"type":"null"}]},"personalInfoCompleted":{"type":"boolean","description":"True when the member's latest profile revision holds the fixed fields and every required user-filled field of this organization's visible profile sections."},"imageUrl":{"type":"string","description":"Path of the mark route that serves this subject's image at small or hero size."},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"}},"required":["id","name","participantId","roles","personalInfoCompleted","imageUrl","imageProvenance"],"additionalProperties":false},"AccessControlRoles":{"type":"object","properties":{"addonManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"addonModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"addonRegistryModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"admin":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"assetDesigner":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"auditor":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"bankRailManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"claimPolicyManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"claimIssuer":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"complianceManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"custodian":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"custodyGatewayPermissionManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"emergency":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"escrowManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"feedsManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"fundsManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"gasManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"governance":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"identityManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"identityRegistryModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"organisationIdentityManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"saleAdmin":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"supplyManagement":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"systemManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"systemModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"tokenFactoryModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"tokenFactoryRegistryModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"tokenManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"venueManager":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"trustedIssuersMetaRegistryModule":{"anyOf":[{"type":"boolean"},{"type":"null"}]}},"additionalProperties":false},"ParticipantId_4":{"type":"string","minLength":1,"description":"Identifier of the person participant that belongs to this user in the active organization. Use it on participant routes."},"ResidencyStatus":{"type":"string","enum":["resident","non_resident","dual_resident","unknown"],"description":"Tax residency status"},"UserRole_1":{"type":"string","enum":["admin","owner","member"],"description":"admin for a platform administrator; otherwise the user's role in the active organization, owner or member."},"EligibilityVerdictItem":{"type":"object","properties":{"verdict":{"type":"string","enum":["allowed","needs-action","blocked"]},"source":{"type":"string","enum":["indexer","live"]},"checkedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Wallet the verdict was evaluated against. Null when no address is resolvable yet."},"reasons":{"type":"array","items":{"$ref":"#/components/schemas/EligibilityReason"},"description":"Rule failures behind this verdict. Empty when the verdict is `allowed`."},"wallets":{"type":"array","items":{"$ref":"#/components/schemas/WalletEligibilityVerdictItem"},"description":"Per-wallet breakdown, when the participant owns more than one wallet."}},"required":["verdict","source","checkedAt","wallet","reasons"],"additionalProperties":false},"WalletEligibilityVerdictItem":{"type":"object","properties":{"verdict":{"type":"string","enum":["allowed","needs-action","blocked"]},"source":{"type":"string","enum":["indexer","live"]},"checkedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Wallet the verdict was evaluated against. Null when no address is resolvable yet."},"reasons":{"type":"array","items":{"$ref":"#/components/schemas/EligibilityReason"},"description":"Rule failures behind this verdict. Empty when the verdict is `allowed`."}},"required":["verdict","source","checkedAt","wallet","reasons"],"additionalProperties":false},"EligibilityReason":{"type":"object","properties":{"code":{"type":"string","enum":["address-blocked","country-blocked","country-not-allowed","identity-blocked","identity-not-verified","claim-missing","claim-revoked","claim-expired","live-timeout"]},"moduleTypeId":{"$ref":"#/components/schemas/ComplianceTypeId_1"},"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"details":{"$ref":"#/components/schemas/EligibilityReasonDetails"}},"required":["code"],"additionalProperties":false},"EligibilityReasonDetails":{"type":"object","properties":{"topic":{"type":"string","description":"Claim topic name, for a `claim-*` reason code."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"countryCode":{"anyOf":[{"type":"string","pattern":"^\\d{1,3}$"},{"type":"number","multipleOf":1,"minimum":0,"maximum":999}]}},"additionalProperties":false},"ComplianceTypeId_1":{"type":"string","enum":["address-block-list","address-block-list-v2","capital-raise-limit","capped","capped-v2","claim-expiry","collateral","collateral-v2","country-allow-list","country-allow-list-v2","country-block-list","country-block-list-v2","identity-allow-list","identity-allow-list-v2","identity-block-list","identity-block-list-v2","identity-verification","identity-verification-v2","investor-count","investor-count-v2","identity-count","issuance-volume-limit","lock-up","minimum-holding","own-custody-gateway","time-lock","time-lock-v2","token-supply-limit","transfer-approval","transfer-approval-v2"],"description":"Type of the module that produced this reason, when known."},"AddressKinds":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AddressKind"},"description":"Account type for each participant address in the active organization, keyed by address: `eoa` for a key account, `smart-wallet` for a smart account."},"AddressKind":{"type":"string","enum":["eoa","smart-wallet"]},"RecoveryStatus":{"type":"object","properties":{"phase":{"type":"string","enum":["creating-wallet","creating-identity","creating-smart-wallet","recovering-smart-wallet","recovering-identity","adding-management-key","disabling-old-wallets","registering-new-wallets","revoking-sessions","recovering-tokens","completed","completed-with-token-failures","failed"]},"tokensRecovered":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"totalTokens":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"error":{"anyOf":[{"type":"string"},{"type":"null"}]},"newWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"newIdentity":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"tokenRecoveryFailures":{"type":"array","items":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"holderAddress":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"type":"string","enum":["TOKEN_PAUSED","MISSING_CUSTODIAN_ROLE","NO_TOKENS","RPC_ERROR","UNKNOWN"]},"message":{"type":"string"},"rawError":{"type":"string"}},"required":["tokenAddress","holderAddress","reason","message","rawError"],"additionalProperties":false}},"carriedClaims":{"type":"array","items":{"type":"object","properties":{"sourceIdentity":{"$ref":"#/components/schemas/EvmAddress"},"claimId":{"type":"string","minLength":1},"topic":{"type":"string","minLength":1},"issuer":{"$ref":"#/components/schemas/EvmAddress"},"hash":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["sourceIdentity","claimId","topic","issuer","hash"],"additionalProperties":false}},"notCarriedClaims":{"type":"array","items":{"type":"object","properties":{"sourceIdentity":{"$ref":"#/components/schemas/EvmAddress"},"claimId":{"type":"string","minLength":1},"topic":{"type":"string","minLength":1},"issuer":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"type":"string","enum":["external-issuer","issuance-failed"]},"message":{"type":"string"}},"required":["sourceIdentity","claimId","topic","issuer","reason"],"additionalProperties":false}}},"required":["phase","tokensRecovered","totalTokens","error","newWallet","newIdentity","tokenRecoveryFailures","carriedClaims","notCarriedClaims"],"additionalProperties":false},"RecoveryStarted":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false},"RecoveryExecute":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UserId"},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["userId"],"additionalProperties":false},"RecoveryPlan":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/RecoverySubject"},"lostWallet":{"$ref":"#/components/schemas/EvmAddress"},"identity":{"$ref":"#/components/schemas/RecoveryIdentityState"},"tokenBalances":{"type":"array","items":{"$ref":"#/components/schemas/RecoveryTokenBalance"}},"canRecover":{"type":"boolean"},"blockingReasons":{"type":"array","items":{"type":"string","minLength":1}}},"required":["user","lostWallet","identity","tokenBalances","canRecover","blockingReasons"],"additionalProperties":false},"RecoveryTokenBalance":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenName":{"type":"string","description":"Token name published by the token contract. Empty when the contract publishes no name.","examples":["Euro Deposit"]},"tokenSymbol":{"type":"string","description":"Token symbol published by the token contract. Empty when the contract publishes no symbol.","examples":["EURD"]},"balance":{"$ref":"#/components/schemas/BigDecimal"},"balanceExact":{"$ref":"#/components/schemas/ApiBigIntEncoded"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Decimal places the token uses to convert base units into display units. 18 when the token publishes no precision.","examples":[18]}},"required":["tokenAddress","tokenName","tokenSymbol","balance","decimals"],"additionalProperties":false},"RecoveryIdentityState":{"type":"object","properties":{"id":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Address of the deployed identity contract, or null when the user has no identity deployed."},"status":{"anyOf":[{"$ref":"#/components/schemas/IdentityStatus_1"},{"type":"null"}]},"isMarkedAsLost":{"type":"boolean"}},"required":["id","status","isMarkedAsLost"],"additionalProperties":false},"RecoverySubject":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","email","name"],"additionalProperties":false},"TokenTrustedIssuerMutated":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"issuerAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["issuerAddress"],"additionalProperties":false},"TrustedIssuerRemoval":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"TrustedIssuerRegistration":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"issuerAddress":{"$ref":"#/components/schemas/EvmAddress"},"claimTopicIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"maxItems":50}},"required":["issuerAddress","claimTopicIds"],"additionalProperties":false},"SystemTrustedIssuerRemoveMutationResult":{"anyOf":[{"$ref":"#/components/schemas/TrustedIssuerMutated"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the issuer address and the hash of the transaction that carried the write; the Canton arm returns the settled operation, whose `operationId` is the submission id the transaction-request read reports."},"CantonIdentityOperationAccepted":{"type":"object","properties":{"operationId":{"type":"string","minLength":1,"description":"Durable operation identifier. It is also the submission identifier, so the transaction-request read reports this operation's progress under the same id."},"submissionId":{"type":"string","minLength":1,"description":"Durable submission identifier of the command this operation sent."},"ledgerSubmissionId":{"type":"string","minLength":1,"description":"Participant submission identifier, once the ledger accepted the command."},"preparedHashHex":{"type":"string","minLength":1,"description":"Hex-encoded prepared-transaction hash the custody key signed."},"contractId":{"type":"string","minLength":1,"description":"Contract id created or retained by the operation, when the ledger choice has one to read back."}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false},"TrustedIssuerMutated":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"issuerAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["txHash","issuerAddress"],"additionalProperties":false},"CantonPartyId_15":{"type":"string","minLength":1,"description":"Canton party this operation is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"TrustedIssuerCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"claimTopicIds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["claimTopicIds"],"additionalProperties":false},"TrustedIssuerClaimTopicMutated":{"type":"object","properties":{"txHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"Hash of the registry transaction that carried this change, as a 32-byte hex string. Null when the issuer already held the requested topic state, because the platform then submits no transaction and the registry stays as it is."},"issuerAddress":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","description":"Decimal topic identifier this change applied to, echoed from the request path."}},"required":["txHash","issuerAddress","topicId"],"additionalProperties":false},"TrustedIssuerClaimTopicCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"SystemTrustedIssuerCreateMutationResult":{"anyOf":[{"$ref":"#/components/schemas/TrustedIssuerMutated"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the issuer address and the hash of the transaction that carried the write; the Canton arm returns the settled operation, whose `operationId` is the submission id the transaction-request read reports."},"CantonPartyId_16":{"type":"string","minLength":1,"description":"Party whose claims are trusted or withdrawn for the named topic."},"SystemTrustedIssuerTopic":{"type":"object","properties":{"id":{"type":"string","description":"Stable identifier of this topic entry, derived from the topic scheme registry address of the active system and the topic identifier. Read it as an opaque key; no route takes it as a parameter."},"topicId":{"type":"string","description":"Decimal topic identifier, the `uint256` keccak-256 hash of the topic name. The claim-topic routes take this value in the path."},"name":{"type":"string","description":"Topic name the topic scheme registry of the active system publishes. Empty when that registry holds no name for the identifier."},"signature":{"type":"string","description":"ABI signature of the claim data the topic carries. Empty when the registry holds no signature for the identifier."}},"required":["id","topicId","name","signature"],"additionalProperties":false},"SystemTrustedIssuerTopicFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"SystemTrustedIssuer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Wallet that operates the issuer identity, resolved from the participants of the active system. Null when the identity is removed or when no participant wallet is linked to it."},"claimTopics":{"type":"array","items":{"$ref":"#/components/schemas/SystemTrustedIssuerTopic"},"description":"Claim topics this issuer may attest to in the registry that holds the entry, with the name and signature resolved from the topic scheme registry."},"deployedInTransaction":{"$ref":"#/components/schemas/EthereumHashEncoded"},"isGlobal":{"type":"boolean","description":"True when the entry comes from a parent registry in the registry chain rather than from the trusted issuers registry of the active system. The write routes act on the registry of the active system, so they do not change an entry that a parent registry holds."}},"required":["id","claimTopics","deployedInTransaction","isGlobal"],"additionalProperties":false},"TrustedIssuerFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"account":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"TopicSchemeRemoved":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"topicId":{"type":"string","minLength":1}},"required":["topicId"],"additionalProperties":false},"TopicSchemeRemoval":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"TopicSchemeMutated":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"name":{"type":"string","minLength":1}},"required":["name"],"additionalProperties":false},"TopicSchemeCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Name to register the scheme under, unique among the schemes the token owns."},"signature":{"type":"string","minLength":1}},"required":["name","signature"],"additionalProperties":false},"TopicSchemeFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signature":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"SystemClaimTopicDeleteMutationResult":{"anyOf":[{"$ref":"#/components/schemas/ClaimTopicMutated"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the removed topic name and the hash of the transaction that carried the write; the Canton arm returns the settled operation, whose `operationId` is the submission id the transaction-request read reports."},"ClaimTopicMutated":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"name":{"type":"string","minLength":1}},"required":["txHash","name"],"additionalProperties":false},"SystemClaimTopicUpdateMutationResult":{"anyOf":[{"$ref":"#/components/schemas/ClaimTopicSignatureUpdated"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the restated topic and the hash of the transaction that carried the write; the Canton arm returns the settled operation, whose `operationId` is the submission id the transaction-request read reports."},"ClaimTopicSignatureUpdated":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"name":{"type":"string","minLength":1},"newSignature":{"type":"string","minLength":1}},"required":["name","newSignature"],"additionalProperties":false},"SystemClaimTopicCreateMutationResult":{"anyOf":[{"$ref":"#/components/schemas/ClaimTopicMutated"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the stored topic and the hash of the transaction that carried the write; the Canton arm returns the settled operation, whose `operationId` is the submission id the transaction-request read reports."},"ClaimTopicExclusionPolicy_1":{"type":"string","enum":["allow","warn","refuse"],"description":"Whether a claim topic may be used in a NOT branch: allow outright, allow with an acknowledgement, or refuse"},"ClaimTopic_1":{"type":"object","properties":{"id":{"type":"string","minLength":1},"topicId":{"type":"string","minLength":1,"description":"On-chain topic identifier as a decimal string, past the range a JSON number keeps exactly."},"name":{"type":"string","description":"Name the topic scheme registry stores for this topic."},"signature":{"type":"string","description":"Solidity type list of the claim data, stored with its surrounding parentheses."},"registry":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Topic scheme registry that holds this topic. For an inherited topic the address differs from the active system's own registry."},"isGlobal":{"anyOf":[{"type":"boolean","description":"True when the active system inherits the topic from a registry other than the one it owns, false when it registered the topic itself."},{"type":"null"}]},"exclusionPolicy":{"$ref":"#/components/schemas/ClaimTopicExclusionPolicy"},"subject":{"$ref":"#/components/schemas/ClaimTopicSubject"}},"required":["id","topicId","name","signature","registry","exclusionPolicy","subject"],"additionalProperties":false},"ClaimTopicExclusionPolicy":{"type":"string","enum":["allow","warn","refuse"],"description":"Whether a compliance rule may exclude the holders of this claim: `allow` outright, `warn` against a recorded acknowledgement, or `refuse`."},"ClaimTopicFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"topicId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subject":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ClaimsRevokeMutationResult":{"anyOf":[{"$ref":"#/components/schemas/ClaimRevoked"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the id of the removed claim; the Canton arm returns the settled operation, with `operationId` equal to the submission id the transaction-request read reports."},"ClaimRevoked":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"success":{"type":"boolean"},"claimId":{"type":"string","minLength":1}},"required":["txHash","success","claimId"],"additionalProperties":false},"CantonPartyId_14":{"type":"string","minLength":1,"description":"Canton party this operation is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"ClaimsIssueMutationResult":{"anyOf":[{"$ref":"#/components/schemas/ClaimIssued"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the issued claim; the Canton arm returns the settled operation, with `operationId` equal to the submission id the transaction-request read reports."},"ClaimIssued":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"success":{"type":"boolean"},"claimTopic":{"type":"string","minLength":1,"description":"Topic the issued claim records. A custom topic carries its registered name, not the literal `custom`."},"targetWallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["txHash","success","claimTopic","targetWallet"],"additionalProperties":false},"CantonPartyId_13":{"type":"string","minLength":1,"description":"Party the claim is about."},"CantonPartyId_12":{"type":"string","minLength":1,"description":"Canton party this operation is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"ClaimData":{"anyOf":[{"$ref":"#/components/schemas/InvestorClaimData"},{"$ref":"#/components/schemas/AssetClassificationClaimData"},{"$ref":"#/components/schemas/AssetIssuerClaimData"},{"$ref":"#/components/schemas/BasePriceClaimData"},{"$ref":"#/components/schemas/CollateralClaimData"},{"$ref":"#/components/schemas/ContractIdentityClaimData"},{"$ref":"#/components/schemas/IssuerJurisdictionClaimData"},{"$ref":"#/components/schemas/IssuerLicensedClaimData"},{"$ref":"#/components/schemas/IssuerProspectusExemptClaimData"},{"$ref":"#/components/schemas/IssuerProspectusFiledClaimData"},{"$ref":"#/components/schemas/IssuerReportingCompliantClaimData"},{"$ref":"#/components/schemas/IssuerEventDeterminationClaimData"},{"$ref":"#/components/schemas/UniqueIdentifierClaimData"},{"$ref":"#/components/schemas/AssetLocationClaimData"},{"$ref":"#/components/schemas/AssetCoordinatesClaimData"},{"$ref":"#/components/schemas/AssetPhysicalDetailsClaimData"},{"$ref":"#/components/schemas/DocumentHashClaimData"},{"$ref":"#/components/schemas/CustomClaimData"}],"description":"Claim payload keyed by `topic`. Investor topics carry a `data.claim` string. Asset and issuer topics carry typed fields. Custom topics add `topicName` and `signature`.","examples":[{"topic":"knowYourCustomer","data":{"claim":"verified"}}]},"CustomClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["custom"]},"topicName":{"type":"string","minLength":1,"maxLength":100,"description":"Custom topic name, 1 to 100 characters.","examples":["internalRiskRating"]},"signature":{"type":"string","description":"Issuer signature over the custom claim payload.","examples":["0xdeadbeef"]},"data":{"type":"array","description":"ABI-encoded custom claim arguments. Treat them as opaque unless the topic names the tuple."}},"required":["topic","topicName","signature","data"],"additionalProperties":false,"description":"Custom topic claim with an explicit topic name and signature.","examples":[{"topic":"custom","topicName":"internalRiskRating","signature":"0xdeadbeef","data":[]}]},"DocumentHashClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["documentHash"]},"data":{"type":"object","properties":{"sha256Hash":{"type":"string","description":"SHA-256 digest of the document, hex-encoded.","examples":["e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"]},"documentType":{"type":"string","description":"Document class, such as a prospectus or an appraisal.","examples":["prospectus"]},"fileName":{"type":"string","description":"Original file name.","examples":["acme-growth-bond-prospectus.pdf"]}},"required":["sha256Hash","documentType","fileName"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Hash of an off-chain document attached to the asset.","examples":[{"topic":"documentHash","data":{"sha256Hash":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","documentType":"prospectus","fileName":"acme-growth-bond-prospectus.pdf"}}]},"AssetPhysicalDetailsClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["assetPhysicalDetails"]},"data":{"type":"object","properties":{"propertyArea":{"type":"string","minLength":1,"pattern":"^\\d+$","description":"Property area as a positive whole number. The issuer template names the unit.","examples":["240"]},"buildingYear":{"type":"string","minLength":1,"pattern":"^\\d+$","description":"Year the building was completed.","examples":["1998"]},"numberOfUnits":{"type":"string","minLength":1,"pattern":"^\\d+$","description":"Number of units in the property.","examples":["12"]}},"required":["propertyArea","buildingYear","numberOfUnits"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Physical attributes of a real-estate asset.","examples":[{"topic":"assetPhysicalDetails","data":{"propertyArea":"240","buildingYear":"1998","numberOfUnits":"12"}}]},"AssetCoordinatesClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["assetCoordinates"]},"data":{"type":"object","properties":{"latitude":{"type":"string","minLength":1,"pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Latitude as a decimal string.","examples":["50.8503"]},"longitude":{"type":"string","minLength":1,"pattern":"^-?\\d+(?:\\.\\d+)?$","description":"Longitude as a decimal string.","examples":["4.3517"]}},"required":["latitude","longitude"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Geographic coordinates of a real-world asset.","examples":[{"topic":"assetCoordinates","data":{"latitude":"50.8503","longitude":"4.3517"}}]},"AssetLocationClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["assetLocation"]},"data":{"type":"object","properties":{"city":{"type":"string","description":"City of the underlying asset.","examples":["Brussels"]},"districtCode":{"type":"string","description":"District or postal sector code.","examples":["1000"]},"areaId":{"type":"string","description":"Local area or parcel identifier.","examples":["BRU-IX-4412"]}},"required":["city","districtCode","areaId"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Civic location of a real-world asset.","examples":[{"topic":"assetLocation","data":{"city":"Brussels","districtCode":"1000","areaId":"BRU-IX-4412"}}]},"UniqueIdentifierClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["uniqueIdentifier"]},"data":{"type":"object","properties":{"identifier":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,98}\\S)?\\s*$","description":"Stable unique identifier for the instrument, such as an ISIN. Surrounding whitespace is removed, and what remains must be 1 to 100 characters.","examples":["BE0003796134"]}},"required":["identifier"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Unique instrument identifier claim.","examples":[{"topic":"uniqueIdentifier","data":{"identifier":"BE0003796134"}}]},"IssuerEventDeterminationClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["issuerEventDetermination"]},"data":{"type":"object","properties":{"determinationKind":{"type":"string","description":"Event kind the issuer determines. A coordinated distribution that names this kind ranks its classes by the kind's priority rows while the claim is in force.","examples":["sponsor-event"]},"documentReference":{"type":"string","description":"Reference to the document that records the determination.","examples":["board-minutes-2026-10"]}},"required":["determinationKind","documentReference"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Issuer determination that an event of a named kind occurred, with the document that records it.","examples":[{"topic":"issuerEventDetermination","data":{"determinationKind":"sponsor-event","documentReference":"board-minutes-2026-10"}}]},"IssuerReportingCompliantClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["issuerReportingCompliant"]},"data":{"type":"object","properties":{"compliant":{"type":"boolean","description":"Whether the issuer currently meets its reporting duties.","examples":[true]},"lastUpdated":{"$ref":"#/components/schemas/BlocktimeEncoded"}},"required":["compliant","lastUpdated"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Issuer ongoing reporting status and the time it was last attested."},"IssuerProspectusFiledClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["issuerProspectusFiled"]},"data":{"type":"object","properties":{"prospectusReference":{"type":"string","description":"Filing reference for the prospectus.","examples":["FSMA-PROS-2026-018"]}},"required":["prospectusReference"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"States that a prospectus has been filed.","examples":[{"topic":"issuerProspectusFiled","data":{"prospectusReference":"FSMA-PROS-2026-018"}}]},"IssuerProspectusExemptClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["issuerProspectusExempt"]},"data":{"type":"object","properties":{"exemptionReference":{"type":"string","description":"Legal reference for the prospectus exemption.","examples":["Reg S Rule 903"]}},"required":["exemptionReference"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"States that the offering relies on a prospectus exemption.","examples":[{"topic":"issuerProspectusExempt","data":{"exemptionReference":"Reg S Rule 903"}}]},"IssuerLicensedClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["issuerLicensed"]},"data":{"type":"object","properties":{"licenseType":{"type":"string","description":"License class granted to the issuer.","examples":["MiFID investment firm"]},"licenseNumber":{"type":"string","description":"License number as the regulator issued it.","examples":["FSMA-2026-441"]},"jurisdiction":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"},"validUntil":{"$ref":"#/components/schemas/BlocktimeEncoded"}},"required":["licenseType","licenseNumber","jurisdiction","validUntil"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Issuer license details: type, number, jurisdiction, and expiry."},"IssuerJurisdictionClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["issuerJurisdiction"]},"data":{"type":"object","properties":{"jurisdiction":{"$ref":"#/components/schemas/ISOCountryCodeNumericEncoded"}},"required":["jurisdiction"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Issuer country of jurisdiction.","examples":[{"topic":"issuerJurisdiction","data":{"jurisdiction":56}}]},"ContractIdentityClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["contractIdentity"]},"data":{"type":"object","properties":{"contractAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["contractAddress"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Links the claim to an identity contract address.","examples":[{"topic":"contractIdentity","data":{"contractAddress":"0x4B20993Bc481177ec7E8f571ceCaE8A9e22C02db"}}]},"CollateralClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["collateral"]},"data":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/AssetAmount"},"expiryTimestamp":{"$ref":"#/components/schemas/BlocktimeEncoded"}},"required":["amount","expiryTimestamp"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Collateral amount and expiry for a backed instrument."},"BasePriceClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["basePrice"]},"data":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/BigDecimal"},"currencyCode":{"$ref":"#/components/schemas/FiatCurrency_1"}},"required":["amount","currencyCode"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Unit price claim used for valuation."},"FiatCurrency_1":{"type":"string","pattern":"^[A-Z]{3}$"},"AssetIssuerClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["assetIssuer"]},"data":{"type":"object","properties":{"issuerAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["issuerAddress"],"additionalProperties":false}},"required":["topic","data"],"additionalProperties":false,"description":"Names the issuer address for this asset.","examples":[{"topic":"assetIssuer","data":{"issuerAddress":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}}]},"AssetClassificationClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["assetClassification"]},"data":{"$ref":"#/components/schemas/AssetClassificationPayload"}},"required":["topic","data"],"additionalProperties":false,"description":"Classifies the instrument. Equity, fund, and real-estate types require a matching `category`.","examples":[{"topic":"assetClassification","data":{"type":"bond"}}]},"AssetClassificationPayload":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/AssetType"},"category":{"anyOf":[{"$ref":"#/components/schemas/EquityCategory"},{"$ref":"#/components/schemas/FundCategory"},{"$ref":"#/components/schemas/RealEstatePropertyUse"}]}},"required":["type"],"additionalProperties":false},"InvestorClaimData":{"type":"object","properties":{"topic":{"type":"string","enum":["knowYourCustomer","antiMoneyLaundering","knowYourTransaction","knowYourBusiness","qualifiedInstitutionalInvestor","professionalInvestor","accreditedInvestor","accreditedInvestorVerified","regulationS"],"description":"Investor-qualification topic this claim asserts.","examples":["knowYourCustomer","accreditedInvestor"]},"data":{"$ref":"#/components/schemas/InvestorClaimPayload"}},"required":["topic","data"],"additionalProperties":false,"description":"Investor qualification claim. `topic` names the check, `data.claim` is the issuer payload, and `data.validUntil` optionally expires it.","examples":[{"topic":"knowYourCustomer","data":{"claim":"verified"}}]},"InvestorClaimPayload":{"type":"object","properties":{"claim":{"type":"string","description":"Issuer-supplied claim payload for this topic. Treat it as opaque text unless the topic names a format.","examples":["verified"]},"validUntil":{"$ref":"#/components/schemas/BlocktimeEncoded"}},"required":["claim"],"additionalProperties":false},"ExternalMessageAuthorization":{"type":"object","properties":{"signature":{"$ref":"#/components/schemas/EthereumHexEncoded"}},"required":["signature"],"additionalProperties":false,"description":"External-wallet signature over the exact signing payload party prepared."},"ClaimsHistoryV2Item":{"anyOf":[{"$ref":"#/components/schemas/EvmClaimsHistoryV2Item"},{"$ref":"#/components/schemas/CantonClaimItem"}],"description":"One claim event. Discriminated on `family`: an `evm` row is a lifecycle event an identity contract emitted, a `canton` row is a claim or issuer authorization on the ledger's own claim registry.","discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmClaimsHistoryV2Item","canton":"#/components/schemas/CantonClaimItem"}}},"CantonClaimItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"],"description":"Chain family of this claim row. Present so a cross-family client can tell the rows apart."},"networkIdentity":{"$ref":"#/components/schemas/NetworkId_4"},"contractId":{"type":"string","minLength":1,"description":"Ledger contract identifier of the projected contract."},"kind":{"type":"string","enum":["claim","issuer"],"description":"Whether the row is a claim about a subject or an issuer authorization that backs claims."},"adminParty":{"$ref":"#/components/schemas/CantonPartyId_11"},"issuerParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party that issued the claim."},"subjectParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party the claim is about. Null on an issuer row."},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Claim topic."},"claimData":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Claim payload as the ledger recorded it."},"createdOffset":{"$ref":"#/components/schemas/LedgerOffset_4"},"updateId":{"type":"string","minLength":1,"description":"Ledger update that produced this row. Pairs with the offset to name an exact ledger coordinate."},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","contractId","kind","adminParty","issuerParty","subjectParty","topic","claimData","createdOffset","updateId","recordTime"],"additionalProperties":false},"LedgerOffset_4":{"type":"string","pattern":"^\\d+$","description":"Ledger offset at which the projected contract was created."},"CantonPartyId_11":{"type":"string","minLength":1,"description":"Party administering the claim registry."},"NetworkId_4":{"type":"string","minLength":1,"description":"Platform network identity this row was projected from. Canton networks have no numeric chain id."},"EvmClaimsHistoryV2Item":{"type":"object","properties":{"family":{"type":"string","enum":["evm"],"description":"Chain family of this claim event. Present so a cross-family client can tell the rows apart."},"id":{"type":"string","description":"Stable identifier for this event: the transaction hash, a hyphen, and the zero-based log index."},"eventName":{"type":"string","enum":["ClaimAdded","ClaimChanged","ClaimRemoved","ClaimRevoked"]},"topic":{"type":"string","description":"Claim topic id as an unsigned 256-bit integer in base 10, which is past what a JSON number keeps exactly."},"claimId":{"type":"string","description":"Identifier of the claim the event refers to, as a 0x-prefixed 32-byte hash, stable across its four events."},"blockNumber":{"type":"string","description":"Number of the block that holds the transaction, in base 10, as a string so large values keep full precision."},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emitter":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Account the identity belongs to, taken from the identity registry. Falls back to the identity contract address when the registry records no account."},"sender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Address that submitted the transaction carrying the event."},"values":{"type":"array","items":{"$ref":"#/components/schemas/ClaimEventValue"},"description":"Arguments the identity contract emitted, decoded into name and value pairs, ordered as emitted."}},"required":["family","id","eventName","topic","claimId","blockNumber","blockTimestamp","transactionHash","emitter","sender","values"],"additionalProperties":false},"ClaimEventValue":{"type":"object","properties":{"id":{"type":"string","description":"Identifier of this argument inside the event: `val-` and its zero-based position."},"name":{"type":"string","description":"Name of the decoded argument. Claim events carry `topic`, `scheme`, `issuer`, `signature`, `data`, and `uri`."},"value":{"type":"string","description":"Value rendered as a string. Numbers use base 10 and byte arguments a 0x-prefixed hex string."}},"required":["id","name","value"],"additionalProperties":false},"ClaimEventFilters":{"type":"object","properties":{"eventName":{"anyOf":[{"type":"string","enum":["ClaimAdded","ClaimChanged","ClaimRemoved","ClaimRevoked"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"topic":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"claimId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"issuerAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"senderAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"IdentityReadDto":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"$ref":"#/components/schemas/IdentityAccount"},{"type":"null"}]},"isContract":{"type":"boolean"},"hasIdentity":{"type":"boolean"},"registered":{"$ref":"#/components/schemas/IdentityRegistration"},"claims":{"type":"array","items":{"$ref":"#/components/schemas/IdentityClaim"}}},"required":["id","account","isContract","hasIdentity","claims"],"additionalProperties":false},"IdentityRegistration":{"anyOf":[{"$ref":"#/components/schemas/IdentityRegistered"},{"$ref":"#/components/schemas/IdentityUnregistered"}]},"IdentityUnregistered":{"type":"boolean","enum":[false]},"IdentityRegistered":{"type":"object","properties":{"isRegistered":{"type":"boolean","enum":[true]},"country":{"anyOf":[{"$ref":"#/components/schemas/IsoAlpha2Country_1"},{"type":"null"}]}},"required":["isRegistered","country"],"additionalProperties":false},"IsoAlpha2Country_1":{"type":"string","pattern":"^[A-Z]{2}$"},"IdentityAccount":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"contractName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id"],"additionalProperties":false},"IdentityUpdateCountryCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"countryCode":{"anyOf":[{"type":"string","pattern":"^\\d{1,3}$"},{"type":"number","multipleOf":1,"minimum":0,"maximum":999}]}},"required":["wallet","countryCode"],"additionalProperties":false},"IdentityDeleted":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"wallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["txHash","wallet"],"additionalProperties":false},"IdentityDeleteCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"IdentityRegisterPendingCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"organizationId":{"$ref":"#/components/schemas/OrganizationId_3"},"wallet":{"$ref":"#/components/schemas/EvmAddress"}},"additionalProperties":false},"OrganizationId_3":{"type":"string","minLength":1,"description":"Organisation to register under. Omit it to use the caller's own."},"IdentityRegisterCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"country":{"$ref":"#/components/schemas/IsoAlpha2Country_1"}},"required":["country"],"additionalProperties":false},"IdentityCreateCommand":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"externalMessageAuthorization":{"$ref":"#/components/schemas/ExternalMessageAuthorization"}},"additionalProperties":false,"description":"Wallet to deploy an identity contract for. Omit `wallet` to use the caller's effective wallet. When the wallet's owner signs through a self custody wallet, the first answer names the typed data that wallet signs; send the request again with its signature in `externalMessageAuthorization`."},"IdentityRegistrationStatusOutput":{"type":"object","properties":{"status":{"type":"string","enum":["NO_SYSTEM","NO_IDENTITY","NOT_REGISTERED","PENDING","ACTIVE"]},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"systemAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["status"],"additionalProperties":false},"IdentityV2ListItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Wallet of the registration that represents the identity: an active registration on a wallet that is not lost first, then the wallet the identity was minted for. A `walletAddress` filter or a search that matches a wallet picks that wallet's registration."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Contract name recorded for the account behind `walletAddress`. Null when the account has no indexed name."},"kycStatus":{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"],"description":"Status of the participant's KYC profile in this organization."},"kycApprovedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When this participant's KYC profile was approved in this organization. Null when it has never been approved."},"country":{"anyOf":[{"$ref":"#/components/schemas/IsoAlpha2Country_1"},{"type":"null"}]},"registrations":{"type":"array","items":{"$ref":"#/components/schemas/IdentityV2ListRegistration"},"description":"Every wallet the identity is registered for in the registry, the registration behind `walletAddress` first."},"isContract":{"type":"boolean","description":"Whether the account that owns the identity is a contract rather than an externally owned account."},"claimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Every claim recorded against the identity, revoked claims included."},"activeClaimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Claims that are not revoked, which is `claimsCount` less `revokedClaimsCount`."},"revokedClaimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Claims on the identity an issuer has revoked."},"untrustedClaimsCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Claims whose issuer the identity registry does not trust."},"deployedInTransaction":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["id","walletAddress","name","kycStatus","kycApprovedAt","country","registrations","isContract","claimsCount","activeClaimsCount","revokedClaimsCount","untrustedClaimsCount","deployedInTransaction"],"additionalProperties":false},"IdentityV2ListRegistration":{"type":"object","properties":{"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"kycStatus":{"type":"string","enum":["pending","registered"]},"country":{"anyOf":[{"$ref":"#/components/schemas/IsoAlpha2Country_1"},{"type":"null"}]},"isLost":{"type":"boolean","description":"Whether the wallet was marked lost. A recovered identity keeps the lost wallet's registration."}},"required":["walletAddress","kycStatus","country","isLost"],"additionalProperties":false},"IdentityFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kycStatus":{"anyOf":[{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"isContract":{"anyOf":[{"type":"string","enum":["true","false"]},{"type":"object","properties":{"eq":{"type":"string","enum":["true","false"]},"ne":{"type":"string","enum":["true","false"]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]}},"additionalProperties":false}]}},"additionalProperties":false},"IdentitySearchMatch":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"account":{"anyOf":[{"$ref":"#/components/schemas/IdentityAccount"},{"type":"null"}]},"isContract":{"type":"boolean"},"hasIdentity":{"type":"boolean"},"registered":{"$ref":"#/components/schemas/IdentityRegistration"}},"required":["id","account","isContract","hasIdentity"],"additionalProperties":false},"IdentitySelector":{"type":"object","properties":{"wallet":{"$ref":"#/components/schemas/EvmAddress"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"additionalProperties":false},"IdentityMeResult":{"anyOf":[{"$ref":"#/components/schemas/IdentityReadDto"},{"$ref":"#/components/schemas/IdentityMeNotProvisioned"}]},"IdentityMeNotProvisioned":{"type":"object","properties":{"status":{"type":"string","enum":["NOT_PROVISIONED"]},"reason":{"type":"string","enum":["NO_IDENTITY"]}},"required":["status","reason"],"additionalProperties":false},"AdminMutationResult":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false},"UserEventActivityChart":{"type":"object","properties":{"range":{"$ref":"#/components/schemas/PlatformChartRange"},"grain":{"$ref":"#/components/schemas/ChartGrain"},"points":{"type":"array","items":{"$ref":"#/components/schemas/UserEventActivityPoint"},"description":"Zero-filled and never longer than the requested maxPoints."},"prior":{"type":"array","items":{"$ref":"#/components/schemas/UserEventActivityPoint"},"description":"The prior period, one entry per point. Each entry carries the date of the point it aligns with."},"events":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartEvent"}},"refs":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartRef"}},"projection":{"type":"array","items":{"$ref":"#/components/schemas/PlatformChartProjectionPoint"}},"figure":{"$ref":"#/components/schemas/PlatformChartFigure"},"meta":{"$ref":"#/components/schemas/PlatformChartMeta"},"peak":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The most events any one bucket holds, EVM and Canton together. 0 when the window has no events. A client scales a heatmap by it.","examples":[12]}},"required":["range","grain","points","figure","meta","peak"],"additionalProperties":false,"description":"The events of the authenticated user's wallets over a window, in hour, day or week buckets chosen from the window and its point budget, under the same filters as the events read. Every bucket of the window is present, with 0 where nothing happened. `figure.current` is the total of the window."},"UserEventActivityPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"evm":{"type":"number","description":"EVM events recorded in the bucket. 0 for a bucket with none."},"canton":{"type":"number","description":"Canton events recorded in the bucket. 0 for a bucket with none."}},"required":["t","evm","canton"],"additionalProperties":false,"description":"The events of one bucket, split by family."},"UserEventFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"asset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockNumber":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"projectionFamily":{"anyOf":[{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"action":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"toParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ledgerOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"UserEventCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UserEventV2Item"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Events matching the request's filters. Present on the first page, the request without `page[cursor]`, and absent on a page read with `page[cursor]`, so that a page at any depth costs the same as the first. Keep the first page's value while paging."},"facets":{"$ref":"#/components/schemas/UserEventFacets"},"totalsSkipped":{"$ref":"#/components/schemas/UserEventTotalsSkipped"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinksOfUncountedPage"}},"required":["data","meta","links"],"additionalProperties":false},"CollectionPaginationLinksOfUncountedPage":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string","description":"Link to the last page. Left out when the page carries no `meta.total`, so the last page is unknown."}},"required":["self","first","prev","next"],"additionalProperties":false},"UserEventTotalsSkipped":{"type":"string","enum":["timeout"],"description":"Present, as `timeout`, on a first page whose `meta.total` and `meta.facets` ran past their time budget and were left out. The rows and `meta.nextCursor` are complete. An absent total with this field means the count was not computed, not that it is zero. Narrow the date range or search to get the totals back, because reading the same window again meets the same budget. Absent on every other page, including `counts=false` reads."},"UserEventFacets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/UserEventFacetBucket"}},"description":"Counts for the `eventName`, `asset` and `network` filters. `network` lists every network this deployment serves, with a count of 0 where the caller has no events. Present on the first page, the request without `page[cursor]`, and absent on a page read with `page[cursor]`."},"UserEventFacetBucket":{"type":"object","properties":{"value":{"type":"string","description":"The value to send in the matching `filter[...]` parameter."},"count":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Events with this value under every other filter of the request, so a facet keeps listing the values its own filter excludes."},"label":{"type":"string","description":"Name to show for the value, such as an asset's symbol."}},"required":["value","count"],"additionalProperties":false},"UserEventV2Item":{"anyOf":[{"$ref":"#/components/schemas/EvmUserEventV2Item"},{"$ref":"#/components/schemas/CantonActivityItem"}],"description":"One event involving the authenticated user. Discriminated on `family`: an `evm` row is an indexed contract event, a `canton` row is a ledger event named by its offset, update id, and node index.","discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmUserEventV2Item","canton":"#/components/schemas/CantonActivityItem"}}},"CantonActivityItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"],"description":"Chain family of this event. Present so a cross-family client can tell the rows apart."},"id":{"type":"string","minLength":1,"description":"Stable identifier of the activity row."},"networkIdentity":{"$ref":"#/components/schemas/NetworkId_1"},"ledgerOffset":{"$ref":"#/components/schemas/LedgerOffset_1"},"updateId":{"type":"string","minLength":1,"description":"Ledger update that produced this row. Pairs with the offset to name an exact ledger coordinate."},"nodeId":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Node index of the event inside its update. With the offset and update id it names one event exactly."},"projectionFamily":{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},"action":{"type":"string","minLength":1,"description":"What happened, as the projection classified it."},"contractId":{"type":"string","minLength":1,"description":"Ledger contract identifier of the projected contract."},"instrumentAdmin":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Instrument admin the event concerns. Null for events with no instrument."},"instrumentId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Instrument the event concerns. Null for events with no instrument."},"fromParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party value moved from. Null when the event moves no value."},"toParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party value moved to. Null when the event moves no value."},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"A Canton token amount as an exact decimal string.","examples":["1000","0","12.5"]},{"type":"null"}],"description":"Amount moved. Null when the event moves no value."},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","id","networkIdentity","ledgerOffset","updateId","nodeId","projectionFamily","action","contractId","instrumentAdmin","instrumentId","fromParty","toParty","amount","recordTime"],"additionalProperties":false},"LedgerOffset_1":{"type":"string","pattern":"^\\d+$","description":"Ledger offset of the update that produced the event."},"NetworkId_1":{"type":"string","minLength":1,"description":"Platform network identity this row was projected from. Canton networks have no numeric chain id."},"EvmUserEventV2Item":{"type":"object","properties":{"family":{"type":"string","enum":["evm"],"description":"Chain family of this event. Present so a cross-family client can tell the rows apart."},"id":{"type":"string"},"eventName":{"type":"string"},"txIndex":{"type":"string"},"blockNumber":{"type":"string"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emitter":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"sender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"metaTxSigner":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"EOA attribution for meta-transactions. Null for directly-submitted transactions and for events indexed before attribution was available."},"displaySender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Canonical originator address."},"relayerKind":{"anyOf":[{"type":"string","enum":["forwarder","user-operation"]},{"type":"null"}],"description":"Relayer type that submitted the meta-transaction. Null for a directly-submitted transaction."},"relayer":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Relayer EOA that submitted the meta-transaction."},"userOpHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"UserOperation hash from the ERC-4337 EntryPoint."},"paymaster":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Paymaster that sponsored the UserOperation's gas."},"actualGasCost":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"EntryPoint-charged gas cost in wei for this UserOperation.","examples":["128054388000000"]},"paymasterName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name the indexer holds for the paymaster. Null when the event has no paymaster or none is known."},"involved":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false}},"values":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"}},"required":["id","name","value"],"additionalProperties":false}},"endpoints":{"$ref":"#/components/schemas/UserEventEndpoints"},"amount":{"anyOf":[{"$ref":"#/components/schemas/UserEventAmount"},{"type":"null"}],"description":"The amount the event moved, scaled by the asset's decimals. Null when the event moves no amount."},"asset":{"anyOf":[{"$ref":"#/components/schemas/UserEventAsset"},{"type":"null"}],"description":"The asset the event concerns. Null for events that concern no asset, such as an identity update."},"confirmation":{"anyOf":[{"$ref":"#/components/schemas/UserEventConfirmation"},{"type":"null"}],"description":"The confirmation of this movement, once the chain can no longer undo it. Null for every other event and for a movement still open to reorganisation."},"swap":{"$ref":"#/components/schemas/TradingVenueSwap"}},"required":["family","id","eventName","txIndex","blockNumber","blockTimestamp","transactionHash","emitter","sender","metaTxSigner","displaySender","relayerKind","relayer","userOpHash","paymasterName","involved","endpoints","amount","asset","confirmation"],"additionalProperties":false},"TradingVenueSwap":{"type":"object","properties":{"tradeId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Venue trade id. Null for a trade settled before the venue emitted trade ids."},"marketId":{"type":"string"},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"seller":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The seller's wallet. Null when the caller is not the seller and does not operate the venue, so a trader never sees the counterparty."},"buyer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The buyer's wallet. Null when the caller is not the buyer and does not operate the venue, so a trader never sees the counterparty."},"base":{"$ref":"#/components/schemas/TradingVenueSwapAsset"},"quote":{"$ref":"#/components/schemas/TradingVenueSwapAsset"},"buyerFee":{"type":"string","pattern":"^-?\\d+$"},"legs":{"type":"array","items":{"$ref":"#/components/schemas/TradingVenueSwapLeg"},"description":"Token transfers that settled the trade, in chain order."}},"required":["tradeId","marketId","venueAddress","seller","buyer","base","quote","buyerFee","legs"],"additionalProperties":false,"description":"The trade a venue settled in this event: the caller's own side, both amounts, and the transfers that moved them. A venue operator also sees the counterparty."},"TradingVenueSwapLeg":{"type":"object","properties":{"leg":{"type":"string","enum":["base","quote","fee"],"description":"Which part of the trade the transfer carried: `base` delivers the base asset to the buyer, `quote` pays the seller, `fee` pays the venue's fee account."},"token":{"$ref":"#/components/schemas/EvmAddress"},"from":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Party whose units the transfer moved, also when an escrow contract paid them out. Null when the caller is neither that party nor a venue operator."},"to":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Party the transfer paid. Null when the caller is neither that party nor a venue operator, except that a fee leg always names the venue's fee account."},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["leg","token","from","to","amount"],"additionalProperties":false},"TradingVenueSwapAsset":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol the indexer holds for the asset."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Decimals the indexer holds for the asset."},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["address","symbol","decimals","amount"],"additionalProperties":false},"UserEventConfirmation":{"type":"object","properties":{"id":{"type":"string","pattern":"^0x[0-9a-f]{64}-(?:0|[1-9][0-9]{0,8})-0x[0-9a-f]{40}$","description":"Identifies one confirmation: the movement's transaction hash, its log index and the confirmed wallet, joined by hyphens in lowercase hex.","examples":["0xabababababababababababababababababababababababababababababababab-3-0xcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcdcd"]},"account":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["id","account","chainId"],"additionalProperties":false,"description":"The confirmation of a final token movement on one of the caller's wallets. Download it from the reporting confirmations resource with this id."},"UserEventAsset":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["address","name","symbol"],"additionalProperties":false,"description":"The asset the event concerns."},"UserEventAmount":{"type":"object","properties":{"value":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"The amount in whole units of the asset, as an exact decimal string.","examples":["50000","12.5"]},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol of the asset. Null when it is not known."},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Decimals the asset's base units are scaled by."}},"required":["value","symbol","decimals"],"additionalProperties":false,"description":"The amount the event moved, scaled by the asset's decimals."},"UserEventEndpoints":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/UserEventEndpoint"},"destination":{"$ref":"#/components/schemas/UserEventEndpoint"}},"required":["source","destination"],"additionalProperties":false,"description":"Where the event moved from and to. A mint starts at the minting system, a burn ends at the zero address, and a contract call ends at the contract."},"UserEventEndpoint":{"type":"object","properties":{"kind":{"type":"string","enum":["account","contract","minting-system","zero-address"],"description":"What stands at one end of the movement: an `account` (a wallet), the `contract` the call went to, the `minting-system` that creates new supply, or the `zero-address` that destroys it."},"id":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Address at this end. Null for the minting system, which has no address."}},"required":["kind","id"],"additionalProperties":false},"UserSecurityTransitionBody":{"anyOf":[{"$ref":"#/components/schemas/WalletPinResetTransition"},{"$ref":"#/components/schemas/TwoFactorResetTransition"},{"$ref":"#/components/schemas/SessionsRevokeTransition"}],"description":"A state change on a member's security record. The Console's user Security tab sends it when an identity manager resets a member's wallet PIN, resets a member's two-factor authentication, or ends a member's sessions.","discriminator":{"propertyName":"transition","mapping":{"reset-wallet-pin":"#/components/schemas/WalletPinResetTransition","reset-two-factor":"#/components/schemas/TwoFactorResetTransition","revoke-sessions":"#/components/schemas/SessionsRevokeTransition"}}},"SessionsRevokeTransition":{"type":"object","properties":{"transition":{"type":"string","enum":["revoke-sessions"],"description":"Ends the member's active sessions in this organization, so the member must sign in again to this organization on every device. Sessions in other organizations stay."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}],"description":"The caller's own wallet step-up proof, required for a session caller."}},"required":["transition"],"additionalProperties":false},"TwoFactorResetTransition":{"type":"object","properties":{"transition":{"type":"string","enum":["reset-two-factor"],"description":"Removes the member's two-factor authentication, so the member signs in without a second factor until the member enrolls again."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}],"description":"The caller's own wallet step-up proof, required for a session caller."}},"required":["transition"],"additionalProperties":false},"WalletPinResetTransition":{"type":"object","properties":{"transition":{"type":"string","enum":["reset-wallet-pin"],"description":"Clears the member's wallet PIN. Recovery codes and one-time codes stay, all of the member's sessions end in every organization, and the member is emailed."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}],"description":"The caller's own wallet step-up proof, required for a session caller."}},"required":["transition"],"additionalProperties":false},"UserSecurityView":{"type":"object","properties":{"twoFactorEnabled":{"type":"boolean"},"walletPincodeEnabled":{"type":"boolean"},"walletTwoFactorEnabled":{"type":"boolean"},"walletSecretCodesConfirmed":{"type":"boolean"},"sessions":{"type":"array","items":{"$ref":"#/components/schemas/AdminSession"}}},"required":["twoFactorEnabled","walletPincodeEnabled","walletTwoFactorEnabled","walletSecretCodesConfirmed","sessions"],"additionalProperties":false},"AdminSession":{"type":"object","properties":{"id":{"type":"string","minLength":1},"userId":{"$ref":"#/components/schemas/UserId"},"ipAddress":{"anyOf":[{"type":"string"},{"type":"null"}]},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","userId","ipAddress","userAgent","createdAt","updatedAt","expiresAt"],"additionalProperties":false},"UserListMember":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/UserRole_1"},{"type":"null"}]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"$ref":"#/components/schemas/ResidencyStatus"},{"type":"null"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastLoginAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"participantId":{"$ref":"#/components/schemas/ParticipantId_4"},"roles":{"$ref":"#/components/schemas/AccessControlRoles"},"rolesPending":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isAdmin":{"anyOf":[{"type":"boolean"},{"type":"null"},{"type":"null"}]},"personalInfoCompleted":{"type":"boolean","description":"True when the member's latest profile revision holds the fixed fields and every required user-filled field of this organization's visible profile sections."},"imageUrl":{"type":"string","description":"Path of the mark route that serves this subject's image at small or hero size."},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"},"registrationStatus":{"anyOf":[{"$ref":"#/components/schemas/IdentityStatus"},{"type":"null"}],"description":"The member's identity registration on the active system's identity registry: `registered` when the identity is active there, `pending` when it is not, and null when the member has no account on the active network."},"registeredCountry":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 3166-1 alpha-2 country the active system's identity registry holds for the member's active registration, or null when there is none. Compliance rules read this registry value. `country` is the member's KYC profile country, and the `country` filter, sort and facet read only that; show this value when `country` is null."},"kycStatus":{"anyOf":[{"$ref":"#/components/schemas/UserKycStatus"},{"type":"null"}],"description":"Status of the member's KYC profile in the active organization, or null when the member has no profile."}},"required":["id","name","participantId","roles","personalInfoCompleted","imageUrl","imageProvenance","registrationStatus","registeredCountry","kycStatus"],"additionalProperties":false,"description":"`registrationStatus` says whether the member's identity is registered on the active network."},"UserKycStatus":{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"],"description":"Status of the member's KYC profile: `submitted` and `under_review` wait for a reviewer, `update_required` waits for the member."},"IdentityStatus":{"type":"string","enum":["pending","registered"],"description":"On-chain identity registration status"},"PartyAdminFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"email":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lastLoginAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"roles":{"anyOf":[{"$ref":"#/components/schemas/AccessControlRole"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"PartyUserCreateAccepted":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"state":{"type":"string","enum":["running"]},"statusUrl":{"type":"string","minLength":1}},"required":["requestId","state","statusUrl"],"additionalProperties":false},"PartyCustodyLifecycleAccepted":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"statusUrl":{"type":"string","minLength":1}},"required":["requestId","state","statusUrl"],"additionalProperties":false},"CustodyAccountLifecycleRequestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Durable custody account lifecycle request identifier"},"UserCreated":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"type":"string","minLength":1},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"activationStatus":{"anyOf":[{"type":"string","enum":["pending","active"]},{"type":"null"}]},"custodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}]},"identity":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]}},"required":["id","name","email","participantId","activationStatus","custodyAccountId","identity"],"additionalProperties":false},"UserCreateCommand":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":255},{"type":"null"}]},"email":{"type":"string","minLength":1},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["email","providerConfigurationId"],"additionalProperties":false},"CustodyProviderConfigurationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody provider configuration identifier"},"UserListReadItem":{"anyOf":[{"$ref":"#/components/schemas/UserListMember"},{"$ref":"#/components/schemas/UserListSummaryItem"}],"description":"One organization member. Without `view=summary` or `fields[user]` the row carries `roles`, the on-chain access-control roles its scoped executor holds; with either, the row carries only the named members."},"UserListSummaryItem":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/UserRole_1"},{"type":"null"}]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"$ref":"#/components/schemas/ResidencyStatus"},{"type":"null"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastLoginAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"participantId":{"$ref":"#/components/schemas/ParticipantId_4"},"roles":{"$ref":"#/components/schemas/AccessControlRoles"},"rolesPending":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isAdmin":{"anyOf":[{"type":"boolean"},{"type":"null"},{"type":"null"}]},"personalInfoCompleted":{"type":"boolean","description":"True when the member's latest profile revision holds the fixed fields and every required user-filled field of this organization's visible profile sections."},"imageUrl":{"type":"string","description":"Path of the mark route that serves this subject's image at small or hero size."},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"},"registrationStatus":{"anyOf":[{"$ref":"#/components/schemas/IdentityStatus"},{"type":"null"}],"description":"The member's identity registration on the active system's identity registry: `registered` when the identity is active there, `pending` when it is not, and null when the member has no account on the active network."},"registeredCountry":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO 3166-1 alpha-2 country the active system's identity registry holds for the member's active registration, or null when there is none. Compliance rules read this registry value. `country` is the member's KYC profile country, and the `country` filter, sort and facet read only that; show this value when `country` is null."},"kycStatus":{"anyOf":[{"$ref":"#/components/schemas/UserKycStatus"},{"type":"null"}],"description":"Status of the member's KYC profile in the active organization, or null when the member has no profile."}},"additionalProperties":false,"description":"One organization member carrying only the members the request named: without the access-control `roles` map unless the request names it."},"userFieldsQuery":{"type":"object","properties":{"user":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the user resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"user":"id,name,email,role,firstName,lastName,nationalId,country,residencyStatus,createdAt,lastLoginAt,participantId,rolesPending,isAdmin,personalInfoCompleted,imageUrl,imageProvenance,registrationStatus,registeredCountry,kycStatus"}]},"UserFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"email":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"transactionWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"signingWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"nationalId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"country":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"dob":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"residencyStatus":{"anyOf":[{"$ref":"#/components/schemas/ResidencyStatus"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"registrationStatus":{"anyOf":[{"$ref":"#/components/schemas/IdentityStatus"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kycStatus":{"anyOf":[{"$ref":"#/components/schemas/UserKycStatus"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"UserDetail":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/UserRole_1"},{"type":"null"}]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"$ref":"#/components/schemas/ResidencyStatus"},{"type":"null"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastLoginAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"participantId":{"$ref":"#/components/schemas/ParticipantId_4"},"roles":{"$ref":"#/components/schemas/AccessControlRoles"},"rolesPending":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"isAdmin":{"anyOf":[{"type":"boolean"},{"type":"null"},{"type":"null"}]},"personalInfoCompleted":{"type":"boolean","description":"True when the member's latest profile revision holds the fixed fields and every required user-filled field of this organization's visible profile sections."},"imageUrl":{"type":"string","description":"Path of the mark route that serves this subject's image at small or hero size."},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"},"roleExpiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","participantId","roles","personalInfoCompleted","imageUrl","imageProvenance"],"additionalProperties":false},"UserMe":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/UserId"},"name":{"type":"string"},"email":{"anyOf":[{"type":"string"},{"type":"null"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/UserRole_1"},{"type":"null"}]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"dob":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"$ref":"#/components/schemas/ResidencyStatus"},{"type":"null"},{"type":"null"}]},"createdAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"lastLoginAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"verificationTypes":{"type":"array","items":{"$ref":"#/components/schemas/VerificationType"}},"onboardingState":{"$ref":"#/components/schemas/OnboardingState"},"remainingRecoveryCodes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"hasRelevantAddons":{"type":"boolean"},"personalInfoCompleted":{"type":"boolean"},"hasKycProfile":{"type":"boolean","description":"True when the user has a KYC profile in the active organization. When false, the user's KYC profile read answers not found."},"isUserSecure":{"type":"boolean"},"systemAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"baseCurrency":{"anyOf":[{"$ref":"#/components/schemas/FiatCurrency"},{"type":"null"}]},"onboardingCompletedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"language":{"anyOf":[{"type":"string","enum":["en-US","de-DE","ar-SA","ja-JP","fr-FR","nl-NL","ms-MY","id-ID","th-TH","ko-KR"]},{"type":"null"},{"type":"null"}],"description":"The language the user chose for the product and for the email they receive. Null until the user chooses one; the product then uses English."},"organizationName":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"imageUrl":{"type":"string","description":"Path of the mark route that serves this subject's image at small or hero size."},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"}},"required":["id","name","verificationTypes","onboardingState","hasRelevantAddons","personalInfoCompleted","hasKycProfile","isUserSecure","systemAddress","baseCurrency","imageUrl","imageProvenance"],"additionalProperties":false},"OnboardingState":{"type":"object","properties":{"wallet":{"type":"boolean"},"walletSecurity":{"type":"boolean"},"walletRecoveryCodes":{"type":"boolean"},"system":{"type":"boolean"},"systemSettings":{"type":"boolean"},"systemAssets":{"type":"boolean"},"systemAddons":{"type":"boolean"},"identitySetup":{"type":"boolean"}},"required":["wallet","walletSecurity","walletRecoveryCodes","system","systemSettings","systemAssets","systemAddons","identitySetup"],"additionalProperties":false},"VerificationType":{"type":"string","enum":["OTP","PINCODE","SECRET_CODES","OIDC_MFA"],"description":"Type of verification. OIDC_MFA is the authenticator the user holds at the identity provider; DALP stores no secret for it."},"UserMeChange":{"type":"object","properties":{"language":{"type":"string","enum":["en-US","de-DE","ar-SA","ja-JP","fr-FR","nl-NL","ms-MY","id-ID","th-TH","ko-KR"]}},"required":["language"],"additionalProperties":false,"description":"The changes a user makes to their own record. `language` is the language the product and the email they receive use; setting the value the user already has changes nothing."},"Contact":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"name":{"type":"string","minLength":1,"maxLength":120},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","wallet","createdAt","updatedAt"],"additionalProperties":false},"ContactUpsert":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Contact to overwrite. Omit it to add a new contact."},"name":{"type":"string","minLength":1,"maxLength":120},"wallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","wallet"],"additionalProperties":false},"ContactV2":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"name":{"type":"string","minLength":1,"maxLength":120},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"imageUrl":{"type":"string","description":"Path of the mark route that serves this subject's image at small or hero size."},"imageProvenance":{"$ref":"#/components/schemas/ImageProvenance"}},"required":["id","name","wallet","createdAt","updatedAt","imageUrl","imageProvenance"],"additionalProperties":false},"EligibleForTokenFilter":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"action":{"anyOf":[{"type":"string","enum":["mint","transfer","burn"]},{"type":"null"}]},"reveal":{"type":"string","enum":["true","false"]}},"required":["tokenAddress"],"additionalProperties":false},"ContactFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"PartyMultisigFinalizeAccepted":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"state":{"type":"string","enum":["running"]},"statusUrl":{"type":"string","minLength":1}},"required":["requestId","state","statusUrl"],"additionalProperties":false,"description":"The draft's finalization is running as a durable command. Poll `statusUrl`, also sent as `Location`, until it answers the finalized participant and smart wallet, another custody handle, or a failure. Do not submit the transition again."},"MultisigFinalized":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"smartWalletAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["participantId","smartWalletAddress"],"additionalProperties":false},"MultisigFinalize":{"type":"object","properties":{"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerConfigurationId"],"additionalProperties":false},"InviteRevoked":{"type":"object","properties":{"revoked":{"type":"boolean"}},"required":["revoked"],"additionalProperties":false},"MultisigWalletInvite":{"type":"object","properties":{"id":{"type":"string","minLength":1},"walletId":{"$ref":"#/components/schemas/WalletId"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"status":{"type":"string","enum":["pending","waiting-for-cosign","joined","ended","revoked","expired"],"description":"`pending` until someone accepts, `waiting-for-cosign` once the accepted key's add-signer change waits for the wallet's signers, `joined` once the key holds a seat, `ended` once the key holds no seat and no add-signer change for it waits, because the seat was removed or the change did not land."},"deliveryEmail":{"anyOf":[{"type":"string"},{"type":"null"}]},"signer":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Key the accepting person bound, or null while the invite is unaccepted."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","walletId","weight","status","deliveryEmail","signer","expiresAt"],"additionalProperties":false},"WalletId":{"type":"string","minLength":1,"description":"Persisted wallet identifier"},"MultisigWalletInviteFilters":{"type":"object","additionalProperties":true},"MultisigWalletInviteIssued":{"type":"object","properties":{"inviteId":{"type":"string","minLength":1},"token":{"type":"string"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["inviteId","token","expiresAt"],"additionalProperties":false},"MultisigWalletInviteRequest":{"type":"object","properties":{"walletId":{"$ref":"#/components/schemas/WalletId"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"Weight the new seat should carry. Above 1, the wallet card offers a second co-signed weight change."},"deliveryEmail":{"type":"string","minLength":1},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["walletId","weight"],"additionalProperties":false},"SeatJoined":{"type":"object","properties":{"joined":{"type":"boolean"},"address":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["joined","address","weight"],"additionalProperties":false},"InviteAccept":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["participantId","address"],"additionalProperties":false},"MultisigEligibleKey":{"type":"object","properties":{"walletId":{"type":"string","description":"Identifier of the caller's wallet this row offers as a signer seat."},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Label the participant carries, or null when it has none."},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletType":{"anyOf":[{"type":"string","enum":["eoa"]}]},"eligible":{"type":"boolean","description":"Whether this organization can drive the wallet on this chain."},"reason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}],"description":"The capability this organization lacks, `null` exactly when `eligible` is true."}},"required":["walletId","participantId","displayName","address","walletType","eligible","reason"],"additionalProperties":false},"MultisigEligibleKeyFilters":{"type":"object","properties":{"participantId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletType":{"anyOf":[{"type":"string","enum":["eoa"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"MultisigInviteView":{"type":"object","properties":{"target":{"type":"string","enum":["draft","wallet"],"description":"`draft` when the invite offers a seat on a multisig draft, `wallet` when it adds a signer to a live multisig wallet."},"name":{"type":"string","description":"Name of the draft, or of the participant that holds the live wallet."},"creator":{"$ref":"#/components/schemas/MultisigDraftCreatorRef"},"assignedWeight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"Weight the seat this invite offers contributes toward the threshold."},"threshold":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"Weight the wallet requires: on a draft, counting the seat this invite offers."},"members":{"type":"array","items":{"$ref":"#/components/schemas/MultisigInviteMember"},"description":"Seats already on the draft or the live wallet, as addresses and weights."},"status":{"type":"string","enum":["pending","waiting-for-cosign","joined","revoked","void","expired"]},"alreadySigning":{"type":"boolean","description":"Whether a key the caller holds already signs for the live wallet or joins it through an unsettled change, or already holds a seat on the draft."}},"required":["target","name","creator","assignedWeight","threshold","members","status","alreadySigning"],"additionalProperties":false},"MultisigInviteMember":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["address","weight"],"additionalProperties":false},"MultisigDraftCreatorRef":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Always null on the invite read: the invitee is not told who the creator is."}},"required":["participantId","displayName"],"additionalProperties":false},"MultisigSignerAdditionQueued":{"type":"object","properties":{"status":{"type":"string","enum":["waiting-for-cosign"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"transactionId":{"type":"string","minLength":1,"description":"Add-signer request that executes once the wallet's signers co-sign it. Follow it on the transaction status route."}},"required":["status","address","weight","transactionId"],"additionalProperties":false},"InviteIssued":{"type":"object","properties":{"inviteId":{"type":"string","minLength":1},"seatId":{"type":"string","minLength":1},"token":{"type":"string"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["inviteId","seatId","token","expiresAt"],"additionalProperties":false},"InviteRequest":{"type":"object","properties":{"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"deliveryEmail":{"type":"string","minLength":1}},"required":["weight"],"additionalProperties":false},"SeatRemoved":{"type":"object","properties":{"removed":{"type":"boolean"}},"required":["removed"],"additionalProperties":false},"DraftDiscarded":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Always `true` when the draft was removed."}},"required":["deleted"],"additionalProperties":false,"description":"Confirmation that the draft was removed and its unused invites are void."},"MultisigDraftView":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Identifier of the multisig draft, assigned by the platform."},"kind":{"type":"string","enum":["multisig"]},"name":{"type":"string"},"threshold":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"status":{"type":"string","enum":["open","finalizing","finalized"]},"memberSetVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"creator":{"$ref":"#/components/schemas/MultisigDraftCreator"},"seats":{"type":"array","items":{"$ref":"#/components/schemas/MultisigDraftSeat"}},"achievability":{"$ref":"#/components/schemas/MultisigAchievability"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"finalizedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","kind","name","threshold","status","memberSetVersion","creator","seats","achievability","createdAt","updatedAt","finalizedAt"],"additionalProperties":false},"MultisigAchievability":{"type":"object","properties":{"totalWeight":{"type":"integer","minimum":0,"maximum":9007199254740991},"collectableWeight":{"type":"integer","minimum":0,"maximum":9007199254740991},"pendingWeight":{"type":"integer","minimum":0,"maximum":9007199254740991},"thresholdAchievable":{"type":"boolean"},"collectableThresholdAchievable":{"type":"boolean"}},"required":["totalWeight","collectableWeight","pendingWeight","thresholdAchievable","collectableThresholdAchievable"],"additionalProperties":false},"MultisigDraftSeat":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["own"]},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participant":{"$ref":"#/components/schemas/MultisigDraftCreator"}},"required":["id","kind","weight","address","walletId","participant"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["invited"]},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"walletId":{"anyOf":[{"type":"string"},{"type":"null"}]},"participant":{"anyOf":[{"$ref":"#/components/schemas/MultisigDraftCreator"},{"type":"null"}]},"invite":{"type":"object","properties":{"id":{"type":"string"},"tokenPrefix":{"type":"string"},"status":{"type":"string","enum":["pending","revoked","void","joined","expired"],"description":"The invite's state. A pending invite reads as `expired` once its `expiresAt` passes: it no longer holds up creating the smart wallet, and the seat is left empty."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"deliveryEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The email address the invite link was sent to, so the draft's creator can see whom they invited. Null for an invite shared as a link only."}},"required":["id","tokenPrefix","status","expiresAt","deliveryEmail"],"additionalProperties":false}},"required":["id","kind","weight","address","participant","invite"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["external"]},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id","kind","weight","address"],"additionalProperties":false}]},"MultisigDraftCreator":{"type":"object","properties":{"participantId":{"type":"string"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["participantId","displayName"],"additionalProperties":false},"ExternalSeatInput":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["address","weight"],"additionalProperties":false},"OwnSeatInput":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"address":{"$ref":"#/components/schemas/EvmAddress"},"weight":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["participantId","address","weight"],"additionalProperties":false},"MultisigDraftUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Display name for the draft, between 1 and 255 characters."},"threshold":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"additionalProperties":false},"MultisigDraftCreate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"Display name for the draft, between 1 and 255 characters."},"threshold":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantId":{"$ref":"#/components/schemas/ParticipantId_3"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["name","participantId","address"],"additionalProperties":false},"ParticipantId_3":{"type":"string","minLength":1,"description":"Participant taking the first seat. The session must be allowed to act as it."},"MultisigDraftFilters":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["open","finalizing","finalized"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"RegistrationRejected":{"type":"object","properties":{"registrationId":{"type":"string","minLength":1},"status":{"type":"string","enum":["rejected"]}},"required":["registrationId","status"],"additionalProperties":false},"RegistrationActivated":{"type":"object","properties":{"registrationId":{"type":"string","minLength":1},"status":{"type":"string","enum":["active"]}},"required":["registrationId","status"],"additionalProperties":false},"DirectRegistration":{"type":"object","properties":{"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"country":{"$ref":"#/components/schemas/IsoAlpha2Country"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["identityAddress","country"],"additionalProperties":false},"IsoAlpha2Country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code recorded for every account registered by this request.","examples":["BE"]},"RegistrationAccepted":{"anyOf":[{"$ref":"#/components/schemas/PendingRegistrationAccepted"},{"$ref":"#/components/schemas/CantonIdentityOperationAccepted"}],"description":"What the route accepted. The EVM arm returns the pending registration; the Canton arm returns the settled identity operation, with `operationId` equal to the submission id the transaction-request read reports."},"PendingRegistrationAccepted":{"type":"object","properties":{"registrationId":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending"]}},"required":["registrationId","status"],"additionalProperties":false},"RegistrationCreate":{"anyOf":[{"$ref":"#/components/schemas/EvmRegistrationCreate"},{"$ref":"#/components/schemas/CantonPartyIdentityRegisterCreate"},{"$ref":"#/components/schemas/CantonPartyIdentityDeleteCreate"},{"$ref":"#/components/schemas/CantonPartyIdentityMarkLostCreate"},{"$ref":"#/components/schemas/CantonPartyIdentityUpdateCountryCreate"},{"$ref":"#/components/schemas/CantonRecoveryProposalWithdrawCreate"}],"description":"The registration to request, or one party-identity registry choice to run. A body carrying `cantonPartyId` and `kind` is read on the Canton arm; a body carrying neither is the EVM registration, and it must name the participant and the organization."},"CantonRecoveryProposalWithdrawCreate":{"type":"object","properties":{"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_10"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"kind":{"type":"string","enum":["withdraw-recovery-proposal"],"description":"Withdraws a recovery proposal by the contract id the party-onboardings list published."},"proposalContractId":{"type":"string","minLength":1,"description":"Contract id of the recovery proposal to withdraw, as the party-onboardings list returned it on a row of kind recovery-proposal."}},"required":["cantonPartyId","kind","proposalContractId"],"additionalProperties":false},"CantonPartyId_10":{"type":"string","minLength":1,"description":"Canton party this choice is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"CantonPartyIdentityUpdateCountryCreate":{"type":"object","properties":{"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_9"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"kind":{"type":"string","enum":["update-identity-country"],"description":"Restates one registered identity's country."},"entryContractId":{"type":"string","minLength":1,"description":"Contract id of the registered identity to restate, as the party-onboardings list returned it on a row of kind identity."},"newCountry":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$","description":"ISO 3166-1 numeric country code as a Daml `Int64` decimal string: no leading zeros and no JSON number. Belgium is numeric 056, so send \"56\". 0 means unset.","examples":["56"]}},"required":["cantonPartyId","kind","entryContractId","newCountry"],"additionalProperties":false},"CantonPartyId_9":{"type":"string","minLength":1,"description":"Canton party this choice is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"CantonPartyIdentityMarkLostCreate":{"type":"object","properties":{"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_7"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"kind":{"type":"string","enum":["mark-identity-lost"],"description":"Flags a registered identity as lost, as the recovery agent. Its verification fails permanently afterwards."},"walletParty":{"$ref":"#/components/schemas/CantonPartyId_8"}},"required":["cantonPartyId","kind","walletParty"],"additionalProperties":false},"CantonPartyId_8":{"type":"string","minLength":1,"description":"Registered party to mark lost."},"CantonPartyId_7":{"type":"string","minLength":1,"description":"Canton party this choice is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"CantonPartyIdentityDeleteCreate":{"type":"object","properties":{"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_6"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"kind":{"type":"string","enum":["delete-identity"],"description":"Removes a registered identity and archives its entry."},"entryContractId":{"type":"string","minLength":1,"description":"Contract id of the registered identity to remove, as the party-onboardings list returned it on a row of kind identity."}},"required":["cantonPartyId","kind","entryContractId"],"additionalProperties":false},"CantonPartyId_6":{"type":"string","minLength":1,"description":"Canton party this choice is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"CantonPartyIdentityRegisterCreate":{"type":"object","properties":{"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId_4"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"kind":{"type":"string","enum":["register-identity"],"description":"Admits the subject party to the identity registry, with its country of record."},"subjectParty":{"$ref":"#/components/schemas/CantonPartyId_5"},"country":{"type":"string","pattern":"^-?(0|[1-9]\\d*)$","description":"ISO 3166-1 numeric country code as a Daml `Int64` decimal string: no leading zeros and no JSON number. Belgium is numeric 056, so send \"56\". 0 means unset.","examples":["56"]}},"required":["cantonPartyId","kind","subjectParty","country"],"additionalProperties":false},"CantonPartyId_5":{"type":"string","minLength":1,"description":"Party to register in the registry."},"CantonPartyId_4":{"type":"string","minLength":1,"description":"Canton party this choice is submitted as. It must be a party wallet of the active organization; a party the organization does not hold answers not-found."},"EvmRegistrationCreate":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId_2"},"organizationId":{"$ref":"#/components/schemas/OrganizationId_2"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"cantonPartyId":{"not":{}},"kind":{"not":{}}},"required":["participantId","organizationId"],"additionalProperties":false},"OrganizationId_2":{"type":"string","minLength":1,"description":"Identifier of the organization whose identity registry the participant should join. The session must be a member of it."},"ParticipantId_2":{"type":"string","minLength":1,"description":"Identifier of the participant to register. The session must be allowed to act as it."},"RegistrationListItem":{"anyOf":[{"$ref":"#/components/schemas/EvmRegistrationListItem"},{"$ref":"#/components/schemas/CantonPartyOnboardingItem"}],"description":"One registration. Discriminated on `family`: an `evm` row is an identity registration awaiting a decision, a `canton` row is one party-onboarding step on the selected Canton network.","discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmRegistrationListItem","canton":"#/components/schemas/CantonPartyOnboardingItem"}}},"CantonPartyOnboardingItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"],"description":"Chain family of this party-onboarding row. Present so a cross-family client can tell the rows apart."},"networkIdentity":{"$ref":"#/components/schemas/NetworkId_3"},"contractId":{"type":"string","minLength":1,"description":"Registry contract that recorded this onboarding step."},"kind":{"type":"string","enum":["registry","identity","verification","recovery-proposal"],"description":"How far onboarding has progressed: the registry that will hold the identity, the registered identity, its verification, or the recovery proposal a recovery agent can withdraw."},"adminParty":{"$ref":"#/components/schemas/CantonPartyId_3"},"subjectParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party being onboarded. Null on a registry row."},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Recorded country of the subject."},"createdOffset":{"$ref":"#/components/schemas/LedgerOffset_3"},"updateId":{"type":"string","minLength":1,"description":"Ledger update that produced this row. Pairs with the offset to name an exact ledger coordinate."},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","contractId","kind","adminParty","subjectParty","country","createdOffset","updateId","recordTime"],"additionalProperties":false},"LedgerOffset_3":{"type":"string","pattern":"^\\d+$","description":"Ledger offset at which the projected contract was created."},"CantonPartyId_3":{"type":"string","minLength":1,"description":"Party administering the identity registry."},"NetworkId_3":{"type":"string","minLength":1,"description":"Platform network identity this row was projected from. Canton networks have no numeric chain id."},"EvmRegistrationListItem":{"type":"object","properties":{"family":{"type":"string","enum":["evm"],"description":"Chain family of this registration row. Every row carries it, so a page holding more than one family is narrowed on a field rather than guessed from which columns are present."},"registrationId":{"type":"string","minLength":1},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name to show for the participant. Null when the participant carries no name."},"kind":{"type":"string","enum":["person","company","fund","spv","department","joint_account","asset","organisation","claim_issuer","addon","agent"]},"requestedByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"Identifier of the user who requested the registration. Null after that user is deleted."},"requestedAt":{"type":"string"},"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Account address this request registers: the participant's first held address for a `registration`, and the bound wallet still awaiting its own registration for a `new-wallet`. Null while the participant's identity is still being indexed."},"identityAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Address of the participant's on-chain identity contract. Null while that identity is still being indexed."},"requestKind":{"type":"string","enum":["registration","new-wallet"],"description":"What the identity manager is asked to approve. `registration` is a participant that is not registered yet. `new-wallet` is a wallet bound to an identity this registry already registers, which still needs its own registration."},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"description":"ISO 3166-1 alpha-2 country to prefill the approval: for a `new-wallet` request, the country the identity is already registered with; for a `registration` request, the nationality a participant import proposed. Null when neither is known.","examples":["BE"]}},"required":["family","registrationId","participantId","displayName","kind","requestedByUserId","requestedAt","walletAddress","identityAddress","requestKind","country"],"additionalProperties":false},"RegistrationFilters":{"type":"object","properties":{"kind":{"anyOf":[{"type":"string","enum":["registry","identity","verification","recovery-proposal"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"adminParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"subjectParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"country":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"createdOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ParticipantStatusHistoryRow":{"type":"object","properties":{"id":{"type":"string"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"status":{"$ref":"#/components/schemas/ParticipantAccountStatus"},"restrictions":{"$ref":"#/components/schemas/ParticipantStatusRestrictions"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"},"actor":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"supersededAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","participantId","status","restrictions","effectiveAt","reason","actor","createdAt","supersededAt"],"additionalProperties":false},"ParticipantStatusSchedulePatch":{"type":"object","properties":{"effectiveAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["effectiveAt"],"additionalProperties":false},"ParticipantStatusChange":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ParticipantAccountStatus"},"restrictions":{"$ref":"#/components/schemas/ParticipantStatusRestrictions"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"}},"required":["status","reason"],"additionalProperties":false},"ParticipantStatus":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/ParticipantAccountStatus"},"restrictions":{"$ref":"#/components/schemas/ParticipantStatusRestrictions"},"reason":{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,498}\\S)?\\s*$"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["status","restrictions","reason","effectiveAt"],"additionalProperties":false},"ParticipantAnchor":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["person","company","fund","spv","department","joint_account","asset","organisation","claim_issuer","addon","agent"]},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"userId":{"$ref":"#/components/schemas/UserId"},"country":{"anyOf":[{"type":"string","pattern":"^\\d{1,3}$"},{"type":"number","multipleOf":1,"minimum":0,"maximum":999}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name the participant carries of its own. Null until someone names it."}},"required":["id","kind","name"],"additionalProperties":false},"ParticipantNameUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"description":"The participant's new name. Leading and trailing spaces are dropped; a name that is blank after that is refused.","examples":["Treasury desk"]}},"required":["name"],"additionalProperties":false},"ParticipantChainIdentityState":{"anyOf":[{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"state":{"type":"string","enum":["absent","installing","present"],"description":"`absent` while no identity exists on this chain and no install was started (only the read answers it); `installing` while the identity, the wallet binding and the pending registration in the organization's identity registry are being created on this chain, including while another identity create for the same participant in that registry has to finish first; `present` once the install finished and the identity exists there."}},"required":["participantId","chainId","state"],"additionalProperties":false},{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"state":{"type":"string","enum":["refused"],"description":"The identity cannot be installed on this chain for the named `reason`; nothing was started."},"reason":{"type":"string","enum":["self-custody-key","multi-signer-wallet","provider-not-on-chain","chain-not-connected","no-chain-key"],"description":"Why the identity cannot be installed on this chain: `self-custody-key` when the participant's key is held in self custody and must sign for this chain itself, `multi-signer-wallet` when its smart wallet has more than one signer, `provider-not-on-chain` when the organization has not enabled the participant's custody provider on this chain, `chain-not-connected` when the organization is not connected to this chain, `no-chain-key` when the participant holds no managed key on another chain to carry here."}},"required":["participantId","chainId","state","reason"],"additionalProperties":false},{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"state":{"type":"string","enum":["failed"],"description":"The install run on this chain ended before it finished, even when the identity itself was already created; `message` says why. A repeated install starts a fresh attempt."},"message":{"type":"string","description":"Why the install run on this chain did not finish."}},"required":["participantId","chainId","state","message"],"additionalProperties":false}]},"ParticipantChainIdentityInstallBody":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["walletVerification"],"additionalProperties":false},"CustodyAccountLifecycleStatusOutputEncoded":{"type":"string","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/CustodyAccountLifecycleStatusOutput"}},"CustodyAccountLifecycleStatusOutput":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"operation":{"type":"string","enum":["onboard","add","revoke","archive"]},"state":{"type":"string","enum":["awaiting-proof","awaiting-existing-approval","claimed","awaiting-aa-reconciliation","reconciling","awaiting-external-message-authorization","awaiting-external-authorization","succeeded","failed","expired"]},"externalPreparationId":{"anyOf":[{"$ref":"#/components/schemas/TransactionPreparationId"},{"type":"null"}],"description":"Prepared transaction this request is waiting to have authorized. Null on a managed path and until the request reaches an external-authorization state."},"externalAuthorizingCustodyAccountId":{"anyOf":[{"$ref":"#/components/schemas/CustodyAccountId"},{"type":"null"}],"description":"Account whose signature the request is waiting for. Null on a managed path and until the request reaches an external-authorization state."},"externalMessageDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHexEncoded"},{"type":"null"}],"description":"Digest of the message the external account must sign. Null on a managed path and until the request reaches an external-authorization state."},"terminalResult":{"anyOf":[{"type":"string","enum":["succeeded","failed","expired"]},{"type":"null"}],"description":"How the request ended. Null while it is still running, which is what tells a poller to ask again."},"terminalCode":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Machine-readable reason a request failed or expired. Null for a request that has not ended, and for one that succeeded."}},"required":["requestId","custodyAccountId","organizationContextId","operation","state","externalPreparationId","externalAuthorizingCustodyAccountId","externalMessageDigest","terminalResult","terminalCode"],"additionalProperties":false},"TransactionPreparationId":{"type":"string","minLength":1,"description":"Server-prepared transaction authorization identifier"},"CustodyAccountOrganizationContextId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Custody account organization context identifier"},"ParticipantHoldingListItem":{"anyOf":[{"$ref":"#/components/schemas/ParticipantHoldingV2Item"},{"type":"object","properties":{"family":{"type":"string","enum":["evm","canton"]},"id":{"type":"string","description":"Identifier of this row: the token address and the account address, separated by a colon."},"token":{"$ref":"#/components/schemas/HoldingTokenV2Item"},"assetClass":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the asset class."},"slug":{"type":"string","description":"Stable slug of the asset class, for grouping holdings by class."},"name":{"type":"string","description":"Name of the asset class, for display."}},"required":["id","slug","name"],"additionalProperties":false},{"type":"null"}],"description":"The token's asset class. Null for an externally registered token, which has no asset class template."},"organization":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the issuing organization."},"name":{"type":"string","description":"Name of the issuing organization, for display."}},"required":["id","name"],"additionalProperties":false},{"type":"null"}],"description":"The organization that issued the token, resolved from the token's system. Null when none resolves, which is the usual case for an externally registered token."},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletType":{"type":"string","enum":["eoa","smart"]},"balance":{"$ref":"#/components/schemas/BigDecimal"},"frozen":{"$ref":"#/components/schemas/BigDecimal"},"available":{"$ref":"#/components/schemas/BigDecimal"},"valueInBaseCurrency":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"The available balance valued in the base currency. Null when no price and exchange-rate path resolves for the token."},"priceInBaseCurrencyReliable":{"type":"boolean","description":"Whether every step used to reach the base-currency price was fresh. False when no price resolved at all, and false when any step fell back to a stale exchange rate."},"transferVerdict":{"type":"string","enum":["transferable","restricted"]},"restrictionReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the holding cannot be transferred. Null for a transferable holding, and also null when a restricted holding carries no more specific reason."},"networkIdentity":{"$ref":"#/components/schemas/NetworkId_2"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_1"},"instrumentId":{"type":"string","minLength":1,"description":"Instrument identifier under its admin. The other half of a Canton instrument's key."},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId_2"},"totalAmount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"Total balance of the party in this instrument.","examples":["1000","0","12.5"]},"lockedAmount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"Locked portion of the party's balance.","examples":["1000","0","12.5"]},"holdingCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedOffset":{"$ref":"#/components/schemas/LedgerOffset_2"},"updateId":{"type":"string","minLength":1,"description":"Ledger update that produced this row. Pairs with the offset to name an exact ledger coordinate."},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"additionalProperties":false}]},"LedgerOffset_2":{"type":"string","pattern":"^\\d+$","description":"Ledger offset the balance was last recomputed at."},"CantonPartyId_2":{"type":"string","minLength":1,"description":"Party whose balance this row rolls up."},"CantonPartyId_1":{"type":"string","minLength":1,"description":"Party that administers the instrument. Half of a Canton instrument's key."},"NetworkId_2":{"type":"string","minLength":1,"description":"Platform network identity this row was projected from. Canton networks have no numeric chain id."},"HoldingTokenV2Item":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string","description":"Name of the token.","examples":["Acme Bond 2030"]},"symbol":{"type":"string","minLength":1,"allOf":[{"description":"Ticker symbol of the token.","examples":["ACMB30"]}]},"type":{"$ref":"#/components/schemas/AssetTypeOrSlug_1"},"isExternal":{"type":"boolean","description":"True when the token was registered as an external token rather than issued by the organization's system."},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"}},"required":["id","name","symbol","type","isExternal","decimals"],"additionalProperties":false,"description":"The token this holding is denominated in."},"AssetTypeOrSlug_1":{"anyOf":[{"$ref":"#/components/schemas/AssetType"},{"$ref":"#/components/schemas/AssetTypeTemplateSlug"}],"description":"The asset type: one of the built-in types, or the slug of a custom asset type template."},"ParticipantHoldingV2Item":{"anyOf":[{"$ref":"#/components/schemas/EvmParticipantHoldingV2Item"},{"$ref":"#/components/schemas/CantonHolderItem"}],"description":"One position the participant holds. Discriminated on `family`: an `evm` row is one token held by one account, a `canton` row is one party's position in one instrument.","discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmParticipantHoldingV2Item","canton":"#/components/schemas/CantonHolderItem"}}},"CantonHolderItem":{"type":"object","properties":{"family":{"type":"string","enum":["canton"],"description":"Chain family of this holder row. Present so a cross-family client can tell the rows apart."},"networkIdentity":{"$ref":"#/components/schemas/NetworkId_2"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId_1"},"instrumentId":{"type":"string","minLength":1,"description":"Instrument identifier under its admin. The other half of a Canton instrument's key."},"ownerParty":{"$ref":"#/components/schemas/CantonPartyId_2"},"totalAmount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"Total balance of the party in this instrument.","examples":["1000","0","12.5"]},"lockedAmount":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"Locked portion of the party's balance.","examples":["1000","0","12.5"]},"holdingCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"updatedOffset":{"$ref":"#/components/schemas/LedgerOffset_2"},"updateId":{"type":"string","minLength":1,"description":"Ledger update that produced this row. Pairs with the offset to name an exact ledger coordinate."},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["family","networkIdentity","instrumentAdmin","instrumentId","ownerParty","totalAmount","lockedAmount","holdingCount","updatedOffset","updateId","updatedAt"],"additionalProperties":false},"EvmParticipantHoldingV2Item":{"type":"object","properties":{"family":{"type":"string","enum":["evm"],"description":"Chain family of this holding. Every row carries it, so a page holding more than one family is narrowed on a field rather than guessed from which columns are present."},"id":{"type":"string","description":"Identifier of this row: the token address and the account address, separated by a colon."},"token":{"$ref":"#/components/schemas/HoldingTokenV2Item"},"assetClass":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the asset class."},"slug":{"type":"string","description":"Stable slug of the asset class, for grouping holdings by class."},"name":{"type":"string","description":"Name of the asset class, for display."}},"required":["id","slug","name"],"additionalProperties":false},{"type":"null"}],"description":"The token's asset class. Null for an externally registered token, which has no asset class template."},"organization":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the issuing organization."},"name":{"type":"string","description":"Name of the issuing organization, for display."}},"required":["id","name"],"additionalProperties":false},{"type":"null"}],"description":"The organization that issued the token, resolved from the token's system. Null when none resolves, which is the usual case for an externally registered token."},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletType":{"type":"string","enum":["eoa","smart"]},"balance":{"$ref":"#/components/schemas/BigDecimal"},"frozen":{"$ref":"#/components/schemas/BigDecimal"},"available":{"$ref":"#/components/schemas/BigDecimal"},"valueInBaseCurrency":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}],"description":"The available balance valued in the base currency. Null when no price and exchange-rate path resolves for the token."},"priceInBaseCurrencyReliable":{"type":"boolean","description":"Whether every step used to reach the base-currency price was fresh. False when no price resolved at all, and false when any step fell back to a stale exchange rate."},"transferVerdict":{"type":"string","enum":["transferable","restricted"]},"restrictionReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the holding cannot be transferred. Null for a transferable holding, and also null when a restricted holding carries no more specific reason."}},"required":["family","id","token","assetClass","organization","walletAddress","walletType","balance","frozen","available","valueInBaseCurrency","priceInBaseCurrencyReliable","transferVerdict","restrictionReason"],"additionalProperties":false},"participantHoldingFieldsQuery":{"type":"object","properties":{"participantHolding":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the participantHolding resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"participantHolding":"id,family"}]},"ParticipantHoldingFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"tokenAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"tokenSymbol":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"walletType":{"anyOf":[{"type":"string","enum":["eoa","smart"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ownerParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"totalAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"lockedAmount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"holdingCount":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"updatedOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ParticipantActivityListItem":{"anyOf":[{"$ref":"#/components/schemas/ParticipantActivityEventV2Item"},{"type":"object","properties":{"family":{"type":"string","enum":["evm","canton"]},"id":{"type":"string","minLength":1,"description":"Stable identifier of the activity row."},"eventName":{"type":"string","description":"Name of the contract event.","examples":["TransferCompleted","MintCompleted"]},"txIndex":{"type":"string","description":"Log index inside the transaction, carried as text for parity with v1.","examples":["0","5"]},"blockNumber":{"type":"string","description":"Block the event was mined in, as a decimal string so a number past 2^53 keeps its digits.","examples":["12345678"]},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emitter":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Contract that emitted the event, named by its address."},"sender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Address that triggered the event, taken from its sender or account. Falls back to the emitting contract when the event records neither."},"metaTxSigner":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Key account attributed for a meta-transaction. Null for a directly submitted transaction and for a row indexed before attribution existed."},"displaySender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Canonical originator: the meta-transaction signer when there is one, the sender otherwise."},"relayerKind":{"anyOf":[{"type":"string","enum":["forwarder","user-operation"]},{"type":"null"}],"description":"How the meta-transaction reached the chain. Null for a directly submitted transaction."},"relayer":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Relayer key account that submitted the meta-transaction."},"userOpHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"UserOperation hash from the ERC-4337 entry point."},"paymaster":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Paymaster that sponsored the UserOperation gas."},"actualGasCost":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Gas cost in wei the entry point charged for this UserOperation.","examples":["128054388000000"]},"involved":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"description":"Every address the event involved, the sender and the emitting contract included."},"values":{"type":"array","items":{"$ref":"#/components/schemas/RuntimeActivityEventV2Value"},"description":"Decoded event parameters as name and value pairs."},"networkIdentity":{"$ref":"#/components/schemas/NetworkId_1"},"ledgerOffset":{"$ref":"#/components/schemas/LedgerOffset_1"},"updateId":{"type":"string","minLength":1,"description":"Ledger update that produced this row. Pairs with the offset to name an exact ledger coordinate."},"nodeId":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Node index of the event inside its update. With the offset and update id it names one event exactly."},"projectionFamily":{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},"action":{"type":"string","minLength":1,"description":"What happened, as the projection classified it."},"contractId":{"type":"string","minLength":1,"description":"Ledger contract identifier of the projected contract."},"instrumentAdmin":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Instrument admin the event concerns. Null for events with no instrument."},"instrumentId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Instrument the event concerns. Null for events with no instrument."},"fromParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party value moved from. Null when the event moves no value."},"toParty":{"anyOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"type":"null"}],"description":"Party value moved to. Null when the event moves no value."},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"A Canton token amount as an exact decimal string.","examples":["1000","0","12.5"]},{"type":"null"}],"description":"Amount moved. Null when the event moves no value."},"recordTime":{"$ref":"#/components/schemas/TimestampEncoded"}},"additionalProperties":false}]},"RuntimeActivityEventV2Value":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"value":{"type":"string"}},"required":["id","name","value"],"additionalProperties":false},"ParticipantActivityEventV2Item":{"anyOf":[{"$ref":"#/components/schemas/EvmParticipantActivityEventV2Item"},{"$ref":"#/components/schemas/CantonActivityItem"}],"description":"One event involving the participant. Discriminated on `family`: an `evm` row is an indexed contract event, a `canton` row is a ledger event named by its offset, update id, and node index.","discriminator":{"propertyName":"family","mapping":{"evm":"#/components/schemas/EvmParticipantActivityEventV2Item","canton":"#/components/schemas/CantonActivityItem"}}},"EvmParticipantActivityEventV2Item":{"type":"object","properties":{"family":{"type":"string","enum":["evm"],"description":"Chain family this event came from. Every row carries it, so a page holding more than one family is narrowed on a field rather than guessed from which columns are present."},"id":{"type":"string","description":"Stable identifier of the event row.","examples":["evt_123abc"]},"eventName":{"type":"string","description":"Name of the contract event.","examples":["TransferCompleted","MintCompleted"]},"txIndex":{"type":"string","description":"Log index inside the transaction, carried as text for parity with v1.","examples":["0","5"]},"blockNumber":{"type":"string","description":"Block the event was mined in, as a decimal string so a number past 2^53 keeps its digits.","examples":["12345678"]},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"emitter":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Contract that emitted the event, named by its address."},"sender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Address that triggered the event, taken from its sender or account. Falls back to the emitting contract when the event records neither."},"metaTxSigner":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Key account attributed for a meta-transaction. Null for a directly submitted transaction and for a row indexed before attribution existed."},"displaySender":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false,"description":"Canonical originator: the meta-transaction signer when there is one, the sender otherwise."},"relayerKind":{"anyOf":[{"type":"string","enum":["forwarder","user-operation"]},{"type":"null"}],"description":"How the meta-transaction reached the chain. Null for a directly submitted transaction."},"relayer":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Relayer key account that submitted the meta-transaction."},"userOpHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"UserOperation hash from the ERC-4337 entry point."},"paymaster":{"anyOf":[{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},{"type":"null"}],"description":"Paymaster that sponsored the UserOperation gas."},"actualGasCost":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Gas cost in wei the entry point charged for this UserOperation.","examples":["128054388000000"]},"involved":{"type":"array","items":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id"],"additionalProperties":false},"description":"Every address the event involved, the sender and the emitting contract included."},"values":{"type":"array","items":{"$ref":"#/components/schemas/RuntimeActivityEventV2Value"},"description":"Decoded event parameters as name and value pairs."}},"required":["family","id","eventName","txIndex","blockNumber","blockTimestamp","transactionHash","emitter","sender","metaTxSigner","displaySender","relayerKind","relayer","userOpHash","involved","values"],"additionalProperties":false},"participantActivityFieldsQuery":{"type":"object","properties":{"participantActivity":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the participantActivity resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"participantActivity":"id,family"}]},"ParticipantActivityFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"eventName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"blockTimestamp":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"projectionFamily":{"anyOf":[{"type":"string","enum":["holdings","transfers","allocations","allowances","compliance","identity"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"action":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentAdmin":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"instrumentId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"toParty":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ledgerOffset":{"anyOf":[{"type":"string","pattern":"^-?\\d+$","maxLength":80},{"type":"object","properties":{"eq":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"ne":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"gte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lt":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"lte":{"type":"string","pattern":"^-?\\d+$","maxLength":80},"between":{"type":"string","maxLength":161},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"recordTime":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"recordedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"family":{"anyOf":[{"type":"string","enum":["evm","canton"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"network":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"AssumableParticipantRead":{"anyOf":[{"$ref":"#/components/schemas/AssumableParticipant"},{"$ref":"#/components/schemas/AssumableParticipantSummary"}],"description":"One participant the session can act as. Without `view=summary` or `fields[assumableParticipant]` this carries the identity status and address, the registered organizations, and the account count; with either, it carries only the named switcher members."},"AssumableParticipantSummary":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["person","organisation"]},"ownership":{"type":"string","enum":["owned","other"],"description":"`owned` for a person participant your account holds; `other` for every participant you act as through your organization or a wallet you sign for."},"gatingRole":{"anyOf":[{"type":"string","enum":["organisationIdentityManager","admin"]},{"type":"null"}],"description":"The role that qualifies this organization participant. Null for every kind other than `organisation`, which needs no such role."},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name to show for the participant. Null when the participant carries no name."},"actAvailability":{"$ref":"#/components/schemas/ActAvailability"},"signerThreshold":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Signer weight the participant's multisig wallet needs before it acts, as a whole number. Null when the participant is not a multisig wallet on the active chain."},"walletAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Addresses of the participant's wallets that are not revoked: every EOA, and the smart wallets on the active chain. A role granted to one of these addresses belongs to this participant."}},"additionalProperties":false,"description":"A participant the session can act as, without the fields the switcher does not render: no identity status or address, no registered organizations, and no account count. It keeps the ownership and the signer threshold so the switcher can say what each participant is and how you hold it, and the wallet addresses so a role granted to a wallet can name the participant that owns it."},"ActAvailability":{"type":"object","properties":{"actable":{"type":"boolean","description":"Whether the session can act as this participant right now."},"reason":{"type":"string","enum":["ok","noSmartWallet","noEoa","multipleEoa","noIdentity","multisigThreshold"]},"eoaCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many EOA keys the participant holds; set only with the multipleEoa reason."}},"required":["actable","reason"],"additionalProperties":false},"AssumableParticipant":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["person","organisation"]},"ownership":{"type":"string","enum":["owned","other"],"description":"`owned` for a person participant your account holds; `other` for every participant you act as through your organization or a wallet you sign for."},"displayName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name to show for the participant. Null when the participant carries no name."},"gatingRole":{"anyOf":[{"type":"string","enum":["organisationIdentityManager","admin"]},{"type":"null"}],"description":"The role that qualifies this organization participant. Null for every kind other than `organisation`, which needs no such role."},"actAvailability":{"$ref":"#/components/schemas/ActAvailability"},"identityStatus":{"type":"string","enum":["verified","pending","none"]},"identityAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Address of the participant's on-chain identity contract, or null when no identity has been created. Set independently of `identityStatus`: an identity that exists but is not registered yet still reports its address here with an `identityStatus` of `none`."},"registeredOrganizations":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantOrganizationRegistration"},"description":"Organizations you belong to whose identity registry already holds this participant, and whether that entry is `pending` acceptance or `active`. Registering the participant into one of these has no effect."},"identities":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantChainIdentity"},"description":"The participant's identity on each chain your organization is connected to, your organization's default chain first. Each entry says whether the identity exists on that chain and, separately, whether your organization's identity registry there has approved it."},"accountCount":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many accounts belong to the participant. Zero or more."},"signerThreshold":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Signer weight the participant's multisig wallet needs before it acts, as a whole number. Null when the participant is not a multisig wallet on the active chain."},"walletAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Addresses of the participant's wallets that are not revoked: every EOA, and the smart wallets on the active chain. A role granted to one of these addresses belongs to this participant."},"userId":{"allOf":[{"$ref":"#/components/schemas/UserId"},{"description":"The user who owns this `person` participant, for linking to that user's page. Present only when the session may read that user: always for a participant your own account holds, and for any other person participant only when your organization's executor holds a directory role. Absent for an `organisation` participant, and on every row when the list is read with `view=summary` or `fields[assumableParticipant]`."}]}},"required":["id","kind","ownership","displayName","gatingRole","actAvailability","identityStatus","identityAddress","registeredOrganizations","identities","accountCount","signerThreshold","walletAddresses"],"additionalProperties":false},"ParticipantChainIdentity":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"identityAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Address of the participant's on-chain identity contract on this chain. Null until the identity contract exists on this chain."},"registration":{"type":"string","enum":["none","pending","rejected","approved"],"description":"Where your organization's identity registry on this chain stands on this identity: `approved` when an entry is active, `pending` while it awaits acceptance, `rejected` when your organization declined the registration request and no entry is active, `none` when the registry holds no entry. Read per identity in your organization's registry, so it can differ from `identityStatus`, which reads the participant's accounts in any registry."}},"required":["chainId","identityAddress","registration"],"additionalProperties":false},"ParticipantOrganizationRegistration":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"state":{"type":"string","enum":["pending","active"],"description":"`pending` awaits acceptance by that organization; `active` is accepted."},"requestFiled":{"type":"boolean","description":"Whether a registration request for this participant already awaits that organization's decision. A new request is refused while one is filed. A `pending` entry without a filed request was written on chain without a request, so the participant can still file one."}},"required":["organizationId","state","requestFiled"],"additionalProperties":false},"assumableParticipantFieldsQuery":{"type":"object","properties":{"assumableParticipant":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the assumableParticipant resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"assumableParticipant":"id,displayName,kind,ownership,gatingRole,actAvailability,signerThreshold,walletAddresses"}]},"AssumableFilters":{"type":"object","properties":{"id":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"kind":{"anyOf":[{"type":"string","enum":["person","organisation"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"ownership":{"anyOf":[{"type":"string","enum":["owned","other"],"description":"`owned` for a person participant your account holds; `other` for every participant you act as through your organization or a wallet you sign for."},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ParticipantImportBatch":{"type":"object","properties":{"batchId":{"$ref":"#/components/schemas/ParticipantImportBatchId"},"state":{"type":"string","enum":["running","completed"]},"rows":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantImportBatchRow"}}},"required":["batchId","state","rows"],"additionalProperties":false,"examples":[{"batchId":"019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e","state":"completed","rows":[{"index":0,"externalRef":"onboarding-1001","status":"created","code":null,"issues":[],"participantId":"0194b2cb-8f02-7d19-a4c6-1e90b35d7a48"},{"index":1,"externalRef":"onboarding-1002","status":"failed","code":"row-invalid","issues":[{"field":"nationality","reason":"Expected an ISO 3166-1 alpha-2 country code"}],"participantId":null}]}]},"ParticipantImportBatchRow":{"type":"object","properties":{"index":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"externalRef":{"type":"string"},"status":{"type":"string","enum":["pending","created","updated","unchanged","failed"]},"code":{"anyOf":[{"type":"string","enum":["row-invalid","external-ref-duplicate","email-in-use","email-change-refused","participant-create-refused","kyc-fields-rejected","kyc-transition-refused","kyc-version-refused","kyc-draft-open","classification-not-issued","classification-change-refused","dependency-unavailable"],"description":"Why a row failed, or which later step did not finish for a row whose participant was created or updated. email-change-refused means the reference is already imported with another login email; the import never changes a login email. classification-not-issued means the participant class claim could not be written; send the row again to retry it. classification-change-refused means the participant already holds another class; the import never changes a class, and a change needs the holder of the participant identity's key. dependency-unavailable is retryable: send the row again once the platform is healthy."},{"type":"null"}]},"issues":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"reason":{"type":"string"}},"required":["field","reason"],"additionalProperties":false}},"participantId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["index","externalRef","status","code","issues","participantId"],"additionalProperties":false},"ParticipantImportBatchId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"Participant import batch identifier"},"ParticipantImportBatchAccepted":{"type":"object","properties":{"batchId":{"$ref":"#/components/schemas/ParticipantImportBatchId"},"state":{"type":"string","enum":["running"]},"statusUrl":{"type":"string","minLength":1}},"required":["batchId","state","statusUrl"],"additionalProperties":false,"examples":[{"batchId":"019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e","state":"running","statusUrl":"/api/v2/participants/import-batches/019c4d2e-7a10-7b3c-9e21-5f8a6b4c3d2e"}]},"ParticipantImportBatchCreate":{"type":"object","properties":{"rows":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantImportRowInput"},"minItems":1,"maxItems":500},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["rows"],"additionalProperties":false},"ParticipantImportRowInput":{"type":"object","properties":{"externalRef":{"type":"string","maxLength":1024,"description":"The caller's own reference for this participant, unique within the organisation (1-255 characters)."},"name":{"type":"string","maxLength":1024,"description":"Display name, 1-255 characters."},"email":{"type":"string","maxLength":1024,"description":"Email address. For a new reference it must not belong to an existing user; for a reference already imported it must match the participant's login email."},"providerConfigurationId":{"type":"string","maxLength":1024,"description":"Custody provider configuration for the user's wallet."},"nationality":{"type":"string","maxLength":1024,"description":"ISO 3166-1 alpha-2 country of nationality. The import proposes it as the identity registry country on the participant's pending registration; an identity manager confirms it when accepting the registration."},"residence":{"type":"string","maxLength":1024,"description":"ISO 3166-1 alpha-2 country of residence, recorded as the KYC profile country."},"kyc":{"$ref":"#/components/schemas/ParticipantImportKycInput"},"classification":{"type":"string","maxLength":1024,"description":"One of retail, institutional or proprietary. The import issues it as the organisation identity's claim on the matching participant class topic, only when the participant holds no class yet; venues read the class through their class topic mapping. A row naming a different class from the one held fails alone with classification-change-refused. A batch that carries it also needs the claim issuer role. Leave it out to keep the current claims."}},"required":["externalRef","name","email","providerConfigurationId","nationality","residence","kyc"],"additionalProperties":false,"description":"One participant. A row that fails its field rules fails alone; the other rows still import."},"ParticipantImportKycInput":{"type":"object","properties":{"firstName":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"},{"type":"null"}]},"dob":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"},{"type":"null"}],"description":"Date of birth, ISO 8601."},"residencyStatus":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"},{"type":"null"}],"description":"One of resident, non_resident, dual_resident or unknown."},"nationalId":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"},{"type":"null"}]}},"additionalProperties":false},"PendingParticipantCreated":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"activationStatus":{"anyOf":[{"type":"string","enum":["pending"]}],"description":"Always `pending`: the participant cannot act with this key until its owner proves control of it.","examples":["pending"]},"proofUrl":{"type":"string","description":"The route where the participant's owner starts the key proof, in a session of their own: `POST` it with the provider configuration, the participant and the wallet address to get the message to sign, then send the signed proof to `POST /api/v2/users/me/custody-accounts/lifecycles`.","examples":["/api/v2/users/me/custody-account-control-preparations"]}},"required":["id","activationStatus","proofUrl"],"additionalProperties":false},"ParticipantCreated":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["eoa","smart"],"description":"The account provisioned for the participant.","examples":["smart"]},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"identity":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id","kind","wallet","identity"],"additionalProperties":false},"ParticipantCreate":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId_1"},"name":{"type":"string","maxLength":255,"description":"Name to show for the participant. Omit it to leave the participant unnamed.","examples":["Treasury desk"]},"forUserId":{"type":"string","minLength":1,"description":"The user the participant belongs to. Omit it to create one for yourself. Naming somebody else needs the identity-manager role and a session of your own, and the user must already be a member of the active organization.","examples":["usr_01J8Z3M4N5P6Q7R8S9T0V1W2X3"]},"walletType":{"type":"string","enum":["eoa","smart"],"description":"Account to provision directly. Omit it and the organization's own account type stands: `smart` where the organization drives account abstraction on this network, `eoa` everywhere else. Sending a type the organization does not drive is refused with `party.participant.WALLET_TYPE_CONFLICT`; sending the matching one is accepted. Multisig accounts are created through the multisig-draft finalize operation.","examples":["smart"]},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerConfigurationId","walletVerification"],"additionalProperties":false},"OrganizationId_1":{"type":"string","minLength":1,"description":"The organization the participant is created in. Omit it to use your active organization. Naming another one is how somebody joining on an invitation creates the participant they will join as, before the membership that would make it active exists; you must belong to it or hold an open invitation to it."},"ParticipantListTotalIsLowerBound":{"type":"boolean","enum":[true],"description":"Present, and `true`, when `eligibleForToken` filtered the list and this page filled before every matching participant was checked against the token's rule. `total` then counts only the eligible participants found so far: always more than this page reaches, so a next page exists, and `links.last` points at that next page rather than the end of the list. `eligibilityHiddenCount` is left out, because the refused participants were not all counted. Narrow the list with `filter[q]` for an exact count."},"Participant":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/ParticipantId"},"kind":{"type":"string","enum":["person","company","fund","spv","department","joint_account","asset","organisation","claim_issuer","addon","agent"]},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The address the requested `purpose` selected. Null only for the `participant` purpose, when the participant has no address of that kind yet."},"displayName":{"type":"string","description":"Name to show for the participant. A participant with no name of its own falls back to the linked user's name, then that user's email, then the organization name, then the claim issuer's provider, and last to an address."},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Ticker symbol of the token behind an `asset` participant. Null for every other kind."},"status":{"$ref":"#/components/schemas/ParticipantAccountStatus"}},"required":["id","kind","address","displayName","symbol"],"additionalProperties":false},"ParticipantFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"kind":{"anyOf":[{"type":"string","enum":["person","company","fund","spv","department","joint_account","asset","organisation","claim_issuer","addon","agent"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"displayName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"status":{"anyOf":[{"$ref":"#/components/schemas/ParticipantAccountStatus"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"OperationsCaseFilters":{"type":"object","properties":{"kind":{"type":"string","enum":["funding-shortfall","screening-outage","screening-freeze","reorg-compensation","revocation-fan-out","withdrawal-parked","custody-outflow","bank-payload-conflict","reconciliation-break","security","stale-feed","credential-rollback","role-expiry","accounting-event-blocked","accounting-posting-failed","accounting-xero-connection","custodian-privileged-action","custodian-upgrade-notice"]},"severity":{"type":"string","enum":["info","warning","critical"]},"state":{"type":"string","enum":["open","acknowledged","resolved","expired"]},"date":{"type":"string","maxLength":64}},"additionalProperties":false},"ApprovalPolicyView":{"type":"object","properties":{"families":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalPolicyFamilyView"}}},"required":["families"],"additionalProperties":false},"ApprovalPolicyFamilyView":{"type":"object","properties":{"family":{"type":"string","enum":["offerings","corporate-actions","trading-venue","reporting","bank-rail","custody-ops","withdrawals","prices","wallets","admin-mutations"]},"enabled":{"type":"boolean","description":"Whether some kind of the family asks for a second person's approval organization-wide."},"requiredApprovals":{"type":"integer","minimum":1,"maximum":10,"description":"The highest organization-wide count among the family's kinds. 1 until it is set."},"defaultEnabled":{"type":"boolean"},"scoped":{"type":"boolean","description":"Whether the family accepts rows scoped to one venue, obligation or group."},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalPolicyScopeView"}},"kinds":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalPolicyKindView"}},"turnOffRequest":{"anyOf":[{"$ref":"#/components/schemas/ApprovalPolicyTurnOffRequest"},{"type":"null"}],"description":"The request to switch every kind of the family off, made for the whole organization, that is still waiting for an owner's decision, or null. The kinds keep asking for approval until that request is approved."},"updatedByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["family","enabled","requiredApprovals","defaultEnabled","scoped","scopes","kinds","turnOffRequest","updatedByUserId","updatedAt"],"additionalProperties":false},"ApprovalPolicyTurnOffRequest":{"type":"object","properties":{"approvalRequestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The held approval an owner decides in Actions to apply or refuse the switch-off."},"requestedByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The user who asked for the switch-off, or null when no user made it."},"requestedByName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member name of the user who asked for the switch-off, or null when it is not known."},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["approvalRequestId","requestedByUserId","requestedByName","requestedAt","expiresAt"],"additionalProperties":false},"ApprovalPolicyKindView":{"type":"object","properties":{"kind":{"type":"string","enum":["token-sale","corporate-action","trading-venue-config","reporting-obligation-publish","reporting-venue-legal-hold-release","bank-rail-cash-out","bank-rail-park-resolution","bank-rail-credit-mint","bank-rail-wallet-rotation","bank-rail-reserve-adjustment","bank-rail-mint-limit","bank-rail-supply-managers","bank-rail-client-delivery","custody-ops-reconciliation-break-resolution","withdrawal-approval","price-source-held-price","entitlement-push","admin-mutation"]},"enabled":{"type":"boolean","description":"Whether the kind asks for a second person's approval when no scoped row overrides it."},"requiredApprovals":{"type":"integer","minimum":1,"maximum":10,"description":"The organization-wide count of distinct approvers, none of them the maker. 1 until it is set."},"approverRoles":{"anyOf":[{"type":"array","items":{"type":"string","enum":["owner","member"]},"minItems":1},{"type":"null"}],"description":"The organization-wide approver roles, or null when each action names its own approvers."},"expiryHours":{"anyOf":[{"type":"integer","minimum":1,"maximum":720},{"type":"null"}],"description":"The organization-wide expiry in hours, or null when each action keeps its own deadline."},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalPolicyKindScopeView"}},"turnOffRequest":{"anyOf":[{"$ref":"#/components/schemas/ApprovalPolicyTurnOffRequest"},{"type":"null"}],"description":"The organization-wide request to switch the kind, or its whole family, off that is still waiting for an owner's decision, or null."},"updatedByUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"updatedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["kind","enabled","requiredApprovals","approverRoles","expiryHours","scopes","turnOffRequest","updatedByUserId","updatedAt"],"additionalProperties":false},"ApprovalPolicyKindScopeView":{"type":"object","properties":{"scopeId":{"type":"string","minLength":1},"enabled":{"type":"boolean"},"requiredApprovals":{"anyOf":[{"type":"integer","minimum":1,"maximum":10},{"type":"null"}],"description":"The scope's own count, or null when it follows the organization-wide count."},"approverRoles":{"anyOf":[{"type":"array","items":{"type":"string","enum":["owner","member"]},"minItems":1},{"type":"null"}],"description":"The scope's own approver roles, or null when it follows the organization-wide roles."},"expiryHours":{"anyOf":[{"type":"integer","minimum":1,"maximum":720},{"type":"null"}],"description":"The scope's own expiry, or null when it follows the organization-wide expiry."}},"required":["scopeId","enabled","requiredApprovals","approverRoles","expiryHours"],"additionalProperties":false},"ApprovalPolicyScopeView":{"type":"object","properties":{"scopeId":{"type":"string","minLength":1},"enabled":{"type":"boolean","description":"Whether some kind of the family asks for approval in this scope."}},"required":["scopeId","enabled"],"additionalProperties":false},"ApprovalPolicyUpdate":{"anyOf":[{"type":"object","properties":{"family":{"type":"string","enum":["offerings","corporate-actions","bank-rail","custody-ops","withdrawals","prices","wallets"]},"kind":{"type":"string","enum":["token-sale","corporate-action","trading-venue-config","reporting-obligation-publish","reporting-venue-legal-hold-release","bank-rail-cash-out","bank-rail-park-resolution","bank-rail-credit-mint","bank-rail-wallet-rotation","bank-rail-reserve-adjustment","bank-rail-mint-limit","bank-rail-supply-managers","bank-rail-client-delivery","custody-ops-reconciliation-break-resolution","withdrawal-approval","price-source-held-price","entitlement-push","admin-mutation"],"description":"The action kind this write decides. It must belong to the family. Omit it to apply the write to every kind of the family."},"enabled":{"type":"boolean","description":"true asks for a second person's approval on every action of the kind, or of every kind in the family when kind is omitted. false lets the action run directly. Switching off needs a different organization owner's approval, or the owner's wallet step-up when the organization has one owner. Switching on takes effect at once. Requests already waiting for a decision keep the policy they started under."},"requiredApprovals":{"type":"integer","minimum":1,"maximum":10,"description":"How many distinct people, none of them the person who made the request, must approve before the action goes ahead. From 1 to 10. Omit it to keep the stored count. A row scoped to one venue, obligation or group carries its own count; without one it follows the organization-wide count, which is 1 until it is set. A request asks for the higher of this count and the count its action asks for itself. Raising it takes effect at once. Lowering it while the kind asks for approval needs a different organization owner's approval, or the owner's wallet step-up when the organization has one owner. Requests already waiting for a decision keep the count they started under."},"approverRoles":{"anyOf":[{"type":"array","items":{"type":"string","enum":["owner","member"]},"minItems":1},{"type":"null"}],"description":"The organization roles whose members may approve. null clears the row's roles, so a scoped row follows the organization-wide roles and the organization-wide row lets each action name its own approvers. Omit it to keep the stored roles. Widening or clearing the roles while the kind asks for approval needs the same owner approval as switching it off."},"expiryHours":{"anyOf":[{"type":"integer","minimum":1,"maximum":720},{"type":"null"}],"description":"How many hours a request waits for its approvals before it lapses. From 1 to 720. null clears the row's expiry, so a scoped row follows the organization-wide expiry and the organization-wide row lets each action keep its own deadline. Omit it to keep the stored expiry. Lengthening or clearing it while the kind asks for approval needs the same owner approval as switching it off."},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["family","enabled"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["trading-venue","reporting"]},"kind":{"type":"string","enum":["token-sale","corporate-action","trading-venue-config","reporting-obligation-publish","reporting-venue-legal-hold-release","bank-rail-cash-out","bank-rail-park-resolution","bank-rail-credit-mint","bank-rail-wallet-rotation","bank-rail-reserve-adjustment","bank-rail-mint-limit","bank-rail-supply-managers","bank-rail-client-delivery","custody-ops-reconciliation-break-resolution","withdrawal-approval","price-source-held-price","entitlement-push","admin-mutation"],"description":"The action kind this write decides. It must belong to the family. Omit it to apply the write to every kind of the family."},"scopeId":{"type":"string","minLength":1,"description":"The venue (trading-venue, as <chain id>:<venue address>) or the reporting obligation (reporting) this row decides. Omit it to set the organization-wide row."},"enabled":{"type":"boolean","description":"true asks for a second person's approval on every action of the kind, or of every kind in the family when kind is omitted. false lets the action run directly. Switching off needs a different organization owner's approval, or the owner's wallet step-up when the organization has one owner. Switching on takes effect at once. Requests already waiting for a decision keep the policy they started under."},"requiredApprovals":{"type":"integer","minimum":1,"maximum":10,"description":"How many distinct people, none of them the person who made the request, must approve before the action goes ahead. From 1 to 10. Omit it to keep the stored count. A row scoped to one venue, obligation or group carries its own count; without one it follows the organization-wide count, which is 1 until it is set. A request asks for the higher of this count and the count its action asks for itself. Raising it takes effect at once. Lowering it while the kind asks for approval needs a different organization owner's approval, or the owner's wallet step-up when the organization has one owner. Requests already waiting for a decision keep the count they started under."},"approverRoles":{"anyOf":[{"type":"array","items":{"type":"string","enum":["owner","member"]},"minItems":1},{"type":"null"}],"description":"The organization roles whose members may approve. null clears the row's roles, so a scoped row follows the organization-wide roles and the organization-wide row lets each action name its own approvers. Omit it to keep the stored roles. Widening or clearing the roles while the kind asks for approval needs the same owner approval as switching it off."},"expiryHours":{"anyOf":[{"type":"integer","minimum":1,"maximum":720},{"type":"null"}],"description":"How many hours a request waits for its approvals before it lapses. From 1 to 720. null clears the row's expiry, so a scoped row follows the organization-wide expiry and the organization-wide row lets each action keep its own deadline. Omit it to keep the stored expiry. Lengthening or clearing it while the kind asks for approval needs the same owner approval as switching it off."},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["family","enabled"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["admin-mutations"]},"kind":{"type":"string","enum":["token-sale","corporate-action","trading-venue-config","reporting-obligation-publish","reporting-venue-legal-hold-release","bank-rail-cash-out","bank-rail-park-resolution","bank-rail-credit-mint","bank-rail-wallet-rotation","bank-rail-reserve-adjustment","bank-rail-mint-limit","bank-rail-supply-managers","bank-rail-client-delivery","custody-ops-reconciliation-break-resolution","withdrawal-approval","price-source-held-price","entitlement-push","admin-mutation"],"description":"The action kind this write decides. It must belong to the family. Omit it to apply the write to every kind of the family."},"scopeId":{"type":"string","enum":["role-management","compliance-configuration","approval-policy","freeze","pause","forced-transfer","recovery","token-administration","system-administration","custody-administration","venue-administration","platform-settings"],"description":"The protection group this row decides. Omit it to set the organization-wide row that covers every group without its own row."},"enabled":{"type":"boolean","description":"true asks for a second person's approval on every action of the kind, or of every kind in the family when kind is omitted. false lets the action run directly. Switching off needs a different organization owner's approval, or the owner's wallet step-up when the organization has one owner. Switching on takes effect at once. Requests already waiting for a decision keep the policy they started under."},"requiredApprovals":{"type":"integer","minimum":1,"maximum":10,"description":"How many distinct people, none of them the person who made the request, must approve before the action goes ahead. From 1 to 10. Omit it to keep the stored count. A row scoped to one venue, obligation or group carries its own count; without one it follows the organization-wide count, which is 1 until it is set. A request asks for the higher of this count and the count its action asks for itself. Raising it takes effect at once. Lowering it while the kind asks for approval needs a different organization owner's approval, or the owner's wallet step-up when the organization has one owner. Requests already waiting for a decision keep the count they started under."},"approverRoles":{"anyOf":[{"type":"array","items":{"type":"string","enum":["owner","member"]},"minItems":1},{"type":"null"}],"description":"The organization roles whose members may approve. null clears the row's roles, so a scoped row follows the organization-wide roles and the organization-wide row lets each action name its own approvers. Omit it to keep the stored roles. Widening or clearing the roles while the kind asks for approval needs the same owner approval as switching it off."},"expiryHours":{"anyOf":[{"type":"integer","minimum":1,"maximum":720},{"type":"null"}],"description":"How many hours a request waits for its approvals before it lapses. From 1 to 720. null clears the row's expiry, so a scoped row follows the organization-wide expiry and the organization-wide row lets each action keep its own deadline. Omit it to keep the stored expiry. Lengthening or clearing it while the kind asks for approval needs the same owner approval as switching it off."},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["family","enabled"],"additionalProperties":false},{"type":"object","properties":{"family":{"type":"string","enum":["trading-venue","reporting","admin-mutations"]},"kind":{"type":"string","enum":["token-sale","corporate-action","trading-venue-config","reporting-obligation-publish","reporting-venue-legal-hold-release","bank-rail-cash-out","bank-rail-park-resolution","bank-rail-credit-mint","bank-rail-wallet-rotation","bank-rail-reserve-adjustment","bank-rail-mint-limit","bank-rail-supply-managers","bank-rail-client-delivery","custody-ops-reconciliation-break-resolution","withdrawal-approval","price-source-held-price","entitlement-push","admin-mutation"],"description":"The action kind this write decides. It must belong to the family. Omit it to apply the write to every kind of the family."},"scopeId":{"type":"string","minLength":1,"description":"The venue (trading-venue, as <chain id>:<venue address>), the reporting obligation (reporting) or the protection group (admin-mutations) whose own row is removed."},"reset":{"type":"boolean","enum":[true],"description":"Removes the row of this one scope, for the kind or for every kind of the family, so the scope follows the organization-wide row again. When that makes the scope ask for less approval than its row did, the reset needs a different organization owner's approval like any other switch-off."},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"required":["family","scopeId","reset"],"additionalProperties":false}]},"CheckerApprovalWithdrawal":{"type":"object","properties":{"approvalId":{"type":"string","description":"The withdrawn approval"},"state":{"type":"string","enum":["cancelled"],"description":"The approval's state after the withdrawal: nobody can decide it any more and the held change never runs"}},"required":["approvalId","state"],"additionalProperties":false},"CheckerApprovalDecision":{"type":"object","properties":{"approvalId":{"type":"string","description":"The decided approval"},"status":{"type":"string","enum":["approved","rejected"],"description":"The recorded decision. An approval that does not yet complete the number of approvers the request needs is recorded and answers 200 too; the request stays pending until the last approver decides."}},"required":["approvalId","status"],"additionalProperties":false},"OptionalUserVerification_1":{"anyOf":[{"$ref":"#/components/schemas/UserVerification"},{"type":"null"}],"description":"The deciding checker's wallet step-up proof. An approval whose change the checker's wallet signs is refused with `wallet-verification-required` without it","examples":[{"secretVerificationCode":"847291","verificationType":"OTP"}]},"CheckerApprovalRead":{"type":"object","properties":{"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"kind":{"type":"string","minLength":1,"description":"What the approval gates, such as `admin-mutation` for a held privileged change"},"state":{"type":"string","enum":["pending","partially-approved","approved","rejected","expired","cancelled"],"description":"Where the approval stands: pending until a second user decides"},"executionState":{"anyOf":[{"type":"string","enum":["pending","running","completed","failed","reconciliation-required"]},{"type":"null"}],"description":"Whether the approved change ran: `pending`, `running`, `completed`, `failed`, or `reconciliation-required` when it ran in part; null when the approval runs no change of its own"},"digest":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Digest of the held change; send it back with the decision to bind the decision to what was read"},"summary":{"anyOf":[{"$ref":"#/components/schemas/AdminMutationSummary"},{"type":"null"}],"description":"What the held change does, with secrets redacted, so the second user decides on what the change sets; null for other kinds"},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the approval was rejected or expired, in English. `rejectionReasonCode` names a reason the platform wrote."},"rejectionReasonCode":{"anyOf":[{"$ref":"#/components/schemas/CheckerApprovalRejectionReasonCode"},{"type":"null"}]}},"required":["approvalId","kind","state","executionState","digest","summary","requestedAt","expiresAt","decidedAt","rejectionReason","rejectionReasonCode"],"additionalProperties":false},"CheckerApprovalRejectionReasonCode":{"anyOf":[{"type":"string","enum":["approval-expired"]}],"description":"Stable code for a `rejectionReason` the platform wrote: `approval-expired` when the held change expired before a checker decided. Null when a checker wrote the reason or there is none. Clients show their own wording for a code they know and fall back to `rejectionReason` for one they do not."},"AdminMutationSummary":{"type":"object","properties":{"operation":{"type":"string","description":"The endpoint the held request calls","examples":["roleGrant"]},"method":{"type":"string"},"path":{"type":"string","description":"Path the request calls once approved"},"target":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the request","examples":["role"]},"value":{"type":"string","description":"The value the request sets, rendered as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":false},"description":"Path and query values that pick what the request acts on"},"changes":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the request","examples":["role"]},"value":{"type":"string","description":"The value the request sets, rendered as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":false},"description":"What the request body sets, secrets redacted, at most 40 rows"},"before":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Dotted path of the value inside the request","examples":["role"]},"value":{"type":"string","description":"The value the request sets, rendered as text; a secret is replaced by `[REDACTED]`"}},"required":["field","value"],"additionalProperties":false},"description":"What the setting the request changes held when the request was held, in the same rows as changes. Present only on approval policy changes."},"truncated":{"type":"boolean","description":"Whether rows beyond the first 40 were left out"},"digest":{"type":"string","description":"Digest of the full held request; send it back with the decision to bind the decision to it"}},"required":["operation","method","path","target","changes","truncated","digest"],"additionalProperties":false},"UserRoleEncoded":{"anyOf":[{"$ref":"#/components/schemas/UserRole"},{"type":"null"}]},"UserRole":{"type":"string","enum":["admin","owner","member"],"description":"User role in the system"},"CustodySignerProviderIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","ibm-haven"],"description":"The provider the configuration was added as: its provider kind, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven."},"ManagedCustodyProviderKind":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil"]},"StatusTransactionsList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"transactionId":{"type":"string"},"kind":{"type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/TransactionRequestState"},"subStatus":{"anyOf":[{"type":"string"},{"type":"null"}]},"fromAddress":{"type":"string"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"nonce":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"gasPrice":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The gas price the platform set when it signed the write, in wei."},"gasUsed":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Gas the mined transaction consumed, from its receipt. Null until the receipt is stored."},"effectiveGasPrice":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The gas price the chain charged, in wei, from the receipt. Null until the receipt is stored."},"blockNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Block that mined the transaction, from its receipt. Null until the receipt is stored."},"transactionHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"confirmationChecks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]},"revertReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"contractErrorCode":{"anyOf":[{"type":"string"},{"type":"null"}]},"revertData":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Raw revert data of the failed write, a custom error selector plus its encoded arguments."},"decodedRevert":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The revert in words, a custom error name with its arguments, when the platform knows the selector."},"traceId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["transactionId","kind","description","status","subStatus","fromAddress","chainId","nonce","gasPrice","gasUsed","effectiveGasPrice","blockNumber","transactionHash","confirmationChecks","errorMessage","revertReason","contractErrorCode","revertData","decodedRevert","traceId","createdAt","updatedAt"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"StatusTransactionListFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"$ref":"#/components/schemas/TransactionRequestState"},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"operationType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fromAddress":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"chainId":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"OpsCaseRefusedEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"reason":{"type":"string","enum":["already-resolved","already-acknowledged","expired","row-version-moved"]}},"required":["_tag","message","reason"],"additionalProperties":false},"OpsCaseNotFoundEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsCaseNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsApprovalRefusedEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalRefused"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]},"violation":{"type":"string","enum":["same-actor","already-decided","wrong-kind","wrong-state","impersonated-session","digest-moved","row-version-moved","expired","approver-role-not-permitted","quorum-not-met","not-named-approver","rejection-reason-required","state-drift","maker-revoked","wallet-verification-required","executor-not-registered"]},"storedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"submittedDigest":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["_tag","message","violation","storedDigest","submittedDigest"],"additionalProperties":false},"OpsApprovalNotFoundEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsApprovalNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsBundleWindowInvalidEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsBundleWindowInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsMetadataNotFoundEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsMetadataNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsIndexerUnreachableEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsIndexerUnreachable"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsReindexInvalidEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexInvalid"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsReindexConflictEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsReindexConflict"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsAdminRequiredEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsAdminRequired"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"OpsLogNotFoundEncoded":{"type":"object","properties":{"_tag":{"type":"string","enum":["OpsLogNotFound"]},"message":{"type":"string","minLength":1},"cause":{"anyOf":[{},{"type":"null"}]}},"required":["_tag","message"],"additionalProperties":false},"ApiHealthTotals":{"type":"object","properties":{"requests":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Every 2xx, 4xx and 5xx request counted in the window's buckets."},"clientErrors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Requests answered with a 4xx status, 401 and 403 included."},"serverErrors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Requests answered with a 5xx status."},"errorRate":{"type":"number","description":"Client and server errors as a share of requests, from 0 to 1. 0 when the window holds no request."}},"required":["requests","clientErrors","serverErrors","errorRate"],"additionalProperties":false,"description":"The current window's totals. They equal figure.current, summed over every bucket of the window before any point is dropped, and never include the prior window of a compare request, so a summary beside the chart agrees with it."},"ApiHealthPoint":{"type":"object","properties":{"t":{"$ref":"#/components/schemas/TimestampEncoded"},"success":{"type":"number","description":"Requests answered with a 2xx status in the bucket. An empty bucket is 0."},"clientErrors":{"type":"number","description":"Requests answered with a 4xx status in the bucket. An empty bucket is 0."},"serverErrors":{"type":"number","description":"Requests answered with a 5xx status in the bucket. An empty bucket is 0."},"serverErrorRate":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The 5xx share of the bucket's requests, in percent. Null for a bucket that saw no request, so a quiet minute is a gap, not a healthy zero."}},"required":["t","success","clientErrors","serverErrors","serverErrorRate"],"additionalProperties":false,"description":"The requests of one bucket, split by status class, with the share that failed on the server."},"PriceSourceEvidenceOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceEvidence"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceEvidence":{"type":"object","properties":{"heldPriceId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The held price the evidence was read through, or null when it was read through the observation."},"observationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"audience":{"type":"string","enum":["full_payload","producing_record"],"description":"full_payload is the whole delivery a feeds manager may read. producing_record is only the record that produced the observation, which a token governor may read."},"contentHash":{"type":"string"},"recordLocator":{"anyOf":[{"type":"string"},{"type":"null"}]},"content":{"type":"string","format":"byte","contentEncoding":"base64","examples":["SVNJTixwcmljZSxjdXJyZW5jeSxhc09mClVTMDM3ODMzMTAwNSwxODkuMjUsVVNELDIwMjYtMDgtMjE="]}},"required":["heldPriceId","observationId","audience","contentHash","recordLocator","content"],"additionalProperties":false,"description":"The raw message behind an observation, with the hash recorded when it arrived."},"HeldPriceOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/HeldPriceView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"HeldPriceView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"instrumentId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"reason":{"$ref":"#/components/schemas/PriceSourceHeldPriceReason"},"status":{"$ref":"#/components/schemas/PriceSourceHeldPriceStatus"},"excludedUserIds":{"type":"array","items":{"$ref":"#/components/schemas/UserId"}},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decisionReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"source":{"$ref":"#/components/schemas/HeldPriceSource"},"instrument":{"$ref":"#/components/schemas/HeldPriceInstrument"},"reviewed":{"$ref":"#/components/schemas/HeldPriceCandidate"},"latestCandidate":{"$ref":"#/components/schemas/HeldPriceCandidate"},"guidance":{"type":"array","items":{"type":"string"},"description":"Message keys that explain why nobody can decide this held price yet. Empty when an eligible approver exists."},"observations":{"$ref":"#/components/schemas/HeldPriceObservations"}},"required":["id","sourceId","instrumentId","chainId","tokenAddress","topicId","reason","status","excludedUserIds","decidedBy","decidedAt","decisionReason","failureReason","rowVersion","createdAt","updatedAt","source","instrument","reviewed","latestCandidate","guidance"],"additionalProperties":false,"description":"A price a publish gate held for review, with the evidence digests a decision must name. excludedUserIds lists everyone who may not decide it."},"HeldPriceObservations":{"type":"object","properties":{"reviewed":{"$ref":"#/components/schemas/PriceSourceObservationView"},"latestCandidate":{"$ref":"#/components/schemas/PriceSourceObservationView"}},"required":["reviewed","latestCandidate"],"additionalProperties":false},"PriceSourceObservationView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"deliveryId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"instrumentId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}]},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"priceType":{"type":"string","minLength":1,"maxLength":64},"price":{"$ref":"#/components/schemas/BigDecimal"},"currency":{"type":"string","minLength":1,"maxLength":8},"observedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"msgSeqNum":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"recordLocator":{"anyOf":[{"type":"string"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/PriceSourceObservationStatus"},"outcomeDetail":{"anyOf":[{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},{"type":"null"}]},"publishedTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"recordedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"outcomeAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","deliveryId","instrumentId","isin","priceType","price","currency","observedAt","msgSeqNum","recordLocator","status","outcomeDetail","publishedTxHash","recordedAt","outcomeAt"],"additionalProperties":false,"description":"One price a source delivered for an ISIN, with the outcome the publish gates recorded."},"PriceSourceObservationStatus":{"type":"string","enum":["received","publishing","published","held","duplicate","out_of_order","future_dated","invalid","unmapped","currency_mismatch","correction_held","skipped_policy","superseded","publish_failed","publisher_not_authorized","rejected_unmapped_entry_type","conflicting_rows"],"description":"received until the gates run, publishing while its keyed workflow runs, then the outcome the gates or the publisher recorded."},"HeldPriceCandidate":{"type":"object","properties":{"observationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"evidenceDigest":{"type":"string","description":"SHA-256 over the delivery hash and the observation's price, currency, type, time and record locator. Send it back with the decision to bind the decision to what was reviewed.","examples":["9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"]}},"required":["observationId","evidenceDigest"],"additionalProperties":false},"HeldPriceInstrument":{"type":"object","properties":{"basis":{"$ref":"#/components/schemas/PriceBasis"},"parAmount":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]}},"required":["basis","parAmount"],"additionalProperties":false,"description":"What a reviewer of a held price needs from the instrument mapping without being allowed to read the source: the basis the received price is quoted in and the par amount a percent-of-par price is read against."},"PriceBasis":{"type":"string","enum":["per_unit","percent_of_par"],"description":"per_unit quotes the price of one token; percent_of_par quotes a percentage of the token's par amount."},"HeldPriceSource":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200,"description":"The name of the source that delivered the held price."},"holdToleranceBps":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"The source's hold tolerance in basis points as it stands now, the one a decision checks the move since review against. A later edit of the source changes it."}},"required":["name","holdToleranceBps"],"additionalProperties":false,"description":"What a reviewer of a held price needs from its source without being allowed to read the source: its name and the tolerance in force."},"PriceSourceHeldPriceStatus":{"type":"string","enum":["held","approved","rejected","superseded","cancelled","publishing","published","publish_failed"],"description":"Where a held price stands: held awaits a decision, and the rest follow the decision and its publish."},"PriceSourceHeldPriceReason":{"type":"string","enum":["held","correction_held"],"description":"held moved beyond the hold-for-review tolerance; correction_held corrects an earlier observation."},"LowercaseEvmAddressEncoded":{"type":"string"},"HeldPriceTransitionPayload":{"type":"object","properties":{"transition":{"type":"string","enum":["retry_publish"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition"],"additionalProperties":false,"description":"Publishes an approved price again after its publish failed. Carries a wallet verification."},"HeldPriceDecisionPayload":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","rejected"]},"reviewedObservationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"The observation the decider reviewed, from the held price's reviewed block."},"evidenceDigest":{"type":"string","description":"The evidenceDigest of the candidate the decider reviewed."},"reason":{"type":"string","minLength":1,"maxLength":1000},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["decision","reviewedObservationId","evidenceDigest"],"additionalProperties":false,"description":"Approves or rejects a held price. Needs a signed-in person who may decide it, and a wallet verification. An approval of a price that moved past the hold tolerance since review is refused."},"HeldPriceListOutput":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/HeldPriceRead"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"HeldPriceRead":{"anyOf":[{"$ref":"#/components/schemas/HeldPriceView"},{"$ref":"#/components/schemas/HeldPriceSummary"}]},"HeldPriceSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"instrumentId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"reason":{"$ref":"#/components/schemas/PriceSourceHeldPriceReason"},"status":{"$ref":"#/components/schemas/PriceSourceHeldPriceStatus"},"excludedUserIds":{"type":"array","items":{"$ref":"#/components/schemas/UserId"}},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decisionReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"source":{"$ref":"#/components/schemas/HeldPriceSource"},"instrument":{"$ref":"#/components/schemas/HeldPriceInstrument"},"reviewed":{"$ref":"#/components/schemas/HeldPriceCandidate"},"latestCandidate":{"$ref":"#/components/schemas/HeldPriceCandidate"},"guidance":{"type":"array","items":{"type":"string"},"description":"Message keys that explain why nobody can decide this held price yet. Empty when an eligible approver exists."},"observations":{"$ref":"#/components/schemas/HeldPriceObservations"}},"additionalProperties":false},"heldPriceFieldsQuery":{"type":"object","properties":{"heldPrice":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the heldPrice resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"heldPrice":"id,sourceId,chainId,tokenAddress,status,reason,createdAt"}]},"HeldPriceListFilters":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/PriceSourceHeldPriceStatus"},"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid","description":"Keep the held prices that this price source delivered."}},"additionalProperties":false,"description":"filter[status] keeps one status and filter[sourceId] one price source. meta.total counts the held prices that match both and that the caller may see, so filter[status]=held with filter[sourceId] is the open-hold count of that source. Held prices the caller may not see are never listed."},"PriceSourceObservationListOutput":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceObservationView"}},"meta":{"type":"object","properties":{"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"PriceSourceObservationListFilters":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/PriceSourceObservationStatus"},"isin":{"$ref":"#/components/schemas/ISINEncoded"}},"additionalProperties":false},"PriceSourceDeliveryOperationOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceDeliveryOperationView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceDeliveryOperationView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"requestedBy":{"$ref":"#/components/schemas/UserId"},"status":{"$ref":"#/components/schemas/PriceSourceDeliveryOperationStatus"},"result":{"anyOf":[{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"startedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"finishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","sourceId","requestedBy","status","result","createdAt","startedAt","finishedAt"],"additionalProperties":false,"description":"A fetch a feeds manager asked a price source to run now. Read it until its status is succeeded or failed; the delivery it produces appears in the source's delivery list with the requester named."},"PriceSourceDeliveryOperationStatus":{"type":"string","enum":["queued","running","succeeded","failed"],"description":"queued until the scheduler picks the request up, running while the source fetches, then succeeded or failed."},"PriceSourceDeliveryListOutput":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceDeliveryListRow"}},"meta":{"type":"object","properties":{"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"PriceSourceDeliveryListRow":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"contentHash":{"$ref":"#/components/schemas/PriceSourceEvidenceContentHash"},"status":{"$ref":"#/components/schemas/PriceSourceDeliveryStatus"},"evidenceSizeBytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"evidenceExpiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"remoteName":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"failureClass":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceFailureClass"},{"type":"null"}]},"failureDetail":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"rejectedCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"outcomes":{"$ref":"#/components/schemas/PriceSourceDeliveryOutcomes"}},"required":["id","contentHash","status","evidenceSizeBytes","evidenceExpiresAt","remoteName","requestedBy","failureClass","failureDetail","recordCount","rejectedCount","receivedAt","outcomes"],"additionalProperties":false,"description":"A delivery with the counts of how its observations settled."},"PriceSourceDeliveryOutcomes":{"type":"object","properties":{"accepted":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Observations the gates took in: everything not rejected and not dropped, including those held or published and those still publishing."},"rejected":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Observations a gate refused: invalid, currency_mismatch, future_dated, rejected_unmapped_entry_type and conflicting_rows."},"dropped":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Observations a gate discarded without a refusal: duplicate, out_of_order and superseded."},"held":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Observations held for review: held and correction_held."},"published":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Observations published to the feed."}},"required":["accepted","rejected","dropped","held","published"],"additionalProperties":false,"description":"How the observations of one delivery settled. Observations still in received are in no group, and accepted overlaps held and published."},"PriceSourceFailureClass":{"type":"string","enum":["transient","credential","config","data"],"description":"transient failures retry; credential, config and data failures stop retrying until someone changes the credential, the configuration or the provider's data."},"PriceSourceDeliveryStatus":{"type":"string","enum":["received","failed_validation","rejected_malformed_file","evidence_lost","blocked_egress"],"description":"How a delivery from a price source settled."},"PriceSourceEvidenceContentHash":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"The lowercase hex SHA-256 of the raw evidence a delivery carried."},"PriceSourceUnmatchedIsinListOutput":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceUnmatchedIsinView"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"PriceSourceUnmatchedIsinView":{"type":"object","properties":{"isin":{"$ref":"#/components/schemas/ISINEncoded"},"priceType":{"type":"string","minLength":1,"maxLength":64},"price":{"$ref":"#/components/schemas/BigDecimal"},"currency":{"type":"string","minLength":1,"maxLength":8},"observedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"lastSeenAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["isin","priceType","price","currency","observedAt","lastSeenAt"],"additionalProperties":false,"description":"The latest price a source delivered for an ISIN that no live mapping covers."},"PriceSourceInstrumentUnmapOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceInstrumentUnmapResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceInstrumentUnmapResult":{"type":"object","properties":{"instrument":{"$ref":"#/components/schemas/PriceSourceInstrumentView"},"cancelledHeldPriceId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["instrument","cancelledHeldPriceId"],"additionalProperties":false},"PriceSourceInstrumentView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"tokenAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"priceField":{"type":"string","minLength":1,"maxLength":64},"basis":{"$ref":"#/components/schemas/PriceBasis"},"parAmount":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"endedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","isin","chainId","tokenAddress","topicId","priceField","basis","parAmount","currency","endedAt","createdBy","createdAt"],"additionalProperties":false,"description":"An ISIN a price source delivers, mapped to a token's price topic.","examples":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","isin":"US0378331005","chainId":11155111,"tokenAddress":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f","topicId":"1","priceField":"close","basis":"per_unit","parAmount":null,"currency":"USD","endedAt":null,"createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-08-01T09:00:00.000Z"}]},"PriceSourceInstrumentOperationOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceInstrumentOperationView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceInstrumentOperationView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"status":{"$ref":"#/components/schemas/PriceSourceInstrumentOperationStatus"},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"items":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceInstrumentOperationItemView"},"description":"The mappings of the request in list order."}},"required":["id","status","createdBy","createdAt","items"],"additionalProperties":false,"description":"A request to map instruments to token price topics. Read it until its status is completed or failed; feeds are created in the background.","examples":[{"id":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb2","status":"in_progress","createdBy":"7f1c2b90-3f4a-4b6f-9a1e-5c8d0e2f6a41","createdAt":"2026-08-01T09:00:00.000Z","items":[{"position":0,"instrumentId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb1","isin":"US0378331005","tokenAddress":"0x71c7656ec7ab88b098defb751b7401b5f6d8976f","state":"completed","result":{"feed":{"chainId":11155111,"address":"0x71C7656EC7ab88b098defB751B7401B5f6d8976F"},"created":true,"firstPrice":"sent"},"failure":null},{"position":1,"instrumentId":"0198f1c4-5e6f-7a80-bc13-4d5e6f7a8bb3","isin":"US5949181045","tokenAddress":"0x2b5ad5c4795c026514f8317c7a215e218dccd6cf","state":"mapped","result":null,"failure":null}]}]},"PriceSourceInstrumentOperationItemView":{"type":"object","properties":{"position":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The index of the mapping in the request list."},"instrumentId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"isin":{"$ref":"#/components/schemas/ISINEncoded"},"tokenAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"state":{"$ref":"#/components/schemas/PriceSourceInstrumentOperationItemState"},"result":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceInstrumentOperationFeed"},{"type":"null"}],"description":"The feed the mapping publishes to, once the feed work completed. Null while it runs, after it failed, and for a mapping attached to a feed that already existed."},"failure":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceInstrumentOperationFailure"},{"type":"null"}],"description":"Why the feed work ended, once the mapping failed. Null otherwise."}},"required":["position","instrumentId","isin","tokenAddress","state","result","failure"],"additionalProperties":false,"description":"One mapping of the request and how far its feed work has come."},"PriceSourceInstrumentOperationFailure":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"additionalProperties":false},"PriceSourceInstrumentOperationFeed":{"type":"object","properties":{"feed":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"created":{"type":"boolean","description":"Whether this request deployed the feed."},"firstPrice":{"$ref":"#/components/schemas/MapInstrumentFirstPrice"}},"required":["feed","created","firstPrice"],"additionalProperties":false},"MapInstrumentFirstPrice":{"type":"string","enum":["sent","waiting","settled"],"description":"sent: the retained delivery passed the gates and went to the feed's publish lane. waiting: no retained delivery, or the gates could not decide yet, so the next delivery publishes. settled: the gates recorded an outcome on the retained delivery and published nothing."},"PriceSourceInstrumentOperationItemState":{"type":"string","enum":["pending","mapped","completed","failed"],"description":"pending: the mapping does not exist yet. mapped: the mapping is live and the feed work continues. completed: the mapping is live and nothing is left to do. failed: the feed work ended with a refusal and the failure names it."},"PriceSourceInstrumentOperationStatus":{"type":"string","enum":["in_progress","completed","failed"],"description":"in_progress while any mapping is pending or mapped. Otherwise failed when any mapping failed, and completed when none did."},"PriceSourceInstrumentMapPayload":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceInstrumentMappingItem"},"minItems":1,"maxItems":50},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["items"],"additionalProperties":false,"description":"Maps up to 50 ISINs to token price topics in one unit of work. One refused item refuses the list, and no feed is created."},"PriceSourceInstrumentMappingItem":{"type":"object","properties":{"isin":{"$ref":"#/components/schemas/ISINEncoded"},"tokenAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"priceField":{"type":"string","minLength":1,"maxLength":64},"basis":{"$ref":"#/components/schemas/PriceBasis"},"parAmount":{"anyOf":[{"$ref":"#/components/schemas/BigDecimal"},{"type":"null"}]},"currency":{"$ref":"#/components/schemas/FiatCurrency"}},"required":["isin","tokenAddress","priceField","basis","parAmount","currency"],"additionalProperties":false,"description":"One ISIN to map to a token's price feed, with the price field, the price basis, the par amount a percent-of-par basis needs and the currency the feed is quoted in."},"PriceSourceInstrumentListOutput":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceInstrumentView"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"PriceSourceInstrumentListFilters":{"type":"object","properties":{"live":{"type":"string","enum":["true","false"]}},"additionalProperties":false},"PriceSourceConnectionTestOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceConnectionTestView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceConnectionTestView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"requestedBy":{"$ref":"#/components/schemas/UserId"},"status":{"$ref":"#/components/schemas/PriceSourceConnectionTestStatus"},"result":{"anyOf":[{"type":"object","additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"startedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"finishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["id","sourceId","requestedBy","status","result","createdAt","startedAt","finishedAt"],"additionalProperties":false,"description":"A connection test the scheduler runs from its own host. Read it until its status is succeeded or failed."},"PriceSourceConnectionTestStatus":{"type":"string","enum":["queued","running","succeeded","failed"]},"PriceSourceOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"state":{"$ref":"#/components/schemas/PriceSourceState"},"definition":{"$ref":"#/components/schemas/PriceSourceDefinition"},"credentialVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"credentialSet":{"type":"boolean","description":"Whether the source holds a credential. The credential itself is never returned."},"credentialHint":{"anyOf":[{"type":"string","maxLength":3},{"type":"null"}],"description":"The last characters of the stored credential, for the Console to recognise it by: up to three, fewer for a secret under nine characters, and an empty string for a secret of one or two characters. A private key shows the last characters of the hex SHA-256 digest of the key text, never of the key, and not the fingerprint that ssh-keygen prints. Null when the source holds no credential."},"hostKeyFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureClass":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceFailureClass"},{"type":"null"}]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"latestDelivery":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceDeliveryView"},{"type":"null"}]},"metrics":{"$ref":"#/components/schemas/PriceSourceMetrics"}},"required":["id","state","definition","credentialVersion","credentialSet","credentialHint","hostKeyFingerprint","failureClass","rowVersion","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"An organisation's price source: its protocol and non-secret settings, its state and the health the delivery log derived. Credentials are write-only and never appear."},"PriceSourceMetrics":{"type":"object","properties":{"instruments":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Live mappings: instruments no one has unmapped."},"publishedToday":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Observations of this source published since 00:00:00 UTC of the current UTC day, counted by the time the publish settled."},"held":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Held prices of this source still awaiting a decision."},"lastDeliveryAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the most recent delivery was received, or null before the first."}},"required":["instruments","publishedToday","held","lastDeliveryAt"],"additionalProperties":false,"description":"The counts and the last delivery time the source detail header shows."},"PriceSourceDeliveryView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"contentHash":{"$ref":"#/components/schemas/PriceSourceEvidenceContentHash"},"status":{"$ref":"#/components/schemas/PriceSourceDeliveryStatus"},"evidenceSizeBytes":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"evidenceExpiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"remoteName":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"failureClass":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceFailureClass"},{"type":"null"}]},"failureDetail":{"anyOf":[{"type":"string"},{"type":"null"}]},"recordCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"rejectedCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","contentHash","status","evidenceSizeBytes","evidenceExpiresAt","remoteName","requestedBy","failureClass","failureDetail","recordCount","rejectedCount","receivedAt"],"additionalProperties":false,"description":"One file, message or fetched result a price source delivered, and how it settled."},"PriceSourceDefinition":{"anyOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"publishThresholdBps":{"type":"integer","minimum":0,"maximum":10000},"heartbeatSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"holdToleranceBps":{"type":"integer","minimum":1,"maximum":100000},"expectedEverySeconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"expectedLagSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"staleAfterSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"protocol":{"type":"string","enum":["sftp_csv"]},"config":{"$ref":"#/components/schemas/SftpCsvConfig"}},"required":["name","publishThresholdBps","heartbeatSeconds","holdToleranceBps","expectedEverySeconds","expectedLagSeconds","staleAfterSeconds","protocol","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"publishThresholdBps":{"type":"integer","minimum":0,"maximum":10000},"heartbeatSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"holdToleranceBps":{"type":"integer","minimum":1,"maximum":100000},"expectedEverySeconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"expectedLagSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"staleAfterSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"protocol":{"type":"string","enum":["sftp_reda001"]},"config":{"$ref":"#/components/schemas/SftpReda001Config"}},"required":["name","publishThresholdBps","heartbeatSeconds","holdToleranceBps","expectedEverySeconds","expectedLagSeconds","staleAfterSeconds","protocol","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"publishThresholdBps":{"type":"integer","minimum":0,"maximum":10000},"heartbeatSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"holdToleranceBps":{"type":"integer","minimum":1,"maximum":100000},"expectedEverySeconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"expectedLagSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"staleAfterSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"protocol":{"type":"string","enum":["fix"]},"config":{"$ref":"#/components/schemas/FixConfig"}},"required":["name","publishThresholdBps","heartbeatSeconds","holdToleranceBps","expectedEverySeconds","expectedLagSeconds","staleAfterSeconds","protocol","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"publishThresholdBps":{"type":"integer","minimum":0,"maximum":10000},"heartbeatSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"holdToleranceBps":{"type":"integer","minimum":1,"maximum":100000},"expectedEverySeconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"expectedLagSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"staleAfterSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"protocol":{"type":"string","enum":["bloomberg_data_license"]},"config":{"$ref":"#/components/schemas/BloombergDataLicenseConfig"}},"required":["name","publishThresholdBps","heartbeatSeconds","holdToleranceBps","expectedEverySeconds","expectedLagSeconds","staleAfterSeconds","protocol","config"],"additionalProperties":false},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"publishThresholdBps":{"type":"integer","minimum":0,"maximum":10000},"heartbeatSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"holdToleranceBps":{"type":"integer","minimum":1,"maximum":100000},"expectedEverySeconds":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"expectedLagSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991},"staleAfterSeconds":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}]},"protocol":{"type":"string","enum":["lseg_datascope"]},"config":{"$ref":"#/components/schemas/LsegDatascopeConfig"}},"required":["name","publishThresholdBps","heartbeatSeconds","holdToleranceBps","expectedEverySeconds","expectedLagSeconds","staleAfterSeconds","protocol","config"],"additionalProperties":false}],"description":"A price source's protocol with its non-secret connection settings, publish policy and timing. Credentials are written separately and never appear here."},"LsegDatascopeConfig":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":128},"fields":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":64},"schedule":{"$ref":"#/components/schemas/VendorSchedule"}},"required":["username","fields","schedule"],"additionalProperties":false},"VendorSchedule":{"type":"object","properties":{"timesOfDay":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceTimeOfDay"},"minItems":1,"maxItems":24},"timeZone":{"$ref":"#/components/schemas/PriceSourceTimeZone"}},"required":["timesOfDay","timeZone"],"additionalProperties":false,"description":"The clock times each day the vendor request runs."},"PriceSourceTimeZone":{"type":"string"},"PriceSourceTimeOfDay":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$","description":"A 24-hour clock time written HH:mm."},"BloombergDataLicenseConfig":{"type":"object","properties":{"account":{"type":"string","minLength":1,"maxLength":128},"catalog":{"type":"string","minLength":1,"maxLength":128},"requestFields":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128},"minItems":1,"maxItems":64},"schedule":{"$ref":"#/components/schemas/VendorSchedule"}},"required":["account","catalog","requestFields","schedule"],"additionalProperties":false},"FixConfig":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"description":"The provider's DNS name or literal IP address, without a scheme or port.","examples":["sftp.northwind-data.example"]},"port":{"type":"integer","minimum":1,"maximum":65535},"senderCompId":{"type":"string","pattern":"^[!-~]{1,64}$","description":"A FIX CompID: 1 to 64 printable ASCII characters."},"targetCompId":{"type":"string","pattern":"^[!-~]{1,64}$","description":"A FIX CompID: 1 to 64 printable ASCII characters."},"version":{"type":"string","enum":["FIXT.1.1","FIX.4.4"],"description":"FIXT.1.1 runs FIX 5.0 SP2 application messages; FIX.4.4 runs FIX 4.4."},"transport":{"$ref":"#/components/schemas/FixTransport"},"sessionHours":{"$ref":"#/components/schemas/FixSessionHours"},"resetSeqNum":{"$ref":"#/components/schemas/FixResetSeqNumPolicy"},"entryTypeMapping":{"type":"array","items":{"$ref":"#/components/schemas/FixEntryTypeMapping"},"minItems":1,"maxItems":16}},"required":["host","port","senderCompId","targetCompId","version","transport","sessionHours","resetSeqNum","entryTypeMapping"],"additionalProperties":false},"FixEntryTypeMapping":{"type":"object","properties":{"entryType":{"type":"string","pattern":"^[0-9A-Za-z]{1,2}$"},"priceType":{"type":"string","minLength":1,"maxLength":128}},"required":["entryType","priceType"],"additionalProperties":false},"FixResetSeqNumPolicy":{"type":"string","enum":["never","every_logon","session_start"],"description":"When the session sends ResetSeqNumFlag=Y: never, on every logon, or on the first logon of a session."},"FixSessionHours":{"type":"object","properties":{"startTime":{"$ref":"#/components/schemas/PriceSourceTimeOfDay"},"endTime":{"$ref":"#/components/schemas/PriceSourceTimeOfDay"},"timeZone":{"$ref":"#/components/schemas/PriceSourceTimeZone"}},"required":["startTime","endTime","timeZone"],"additionalProperties":false},"FixTransport":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","enum":["tls"]},"serverName":{"type":"string","minLength":1,"maxLength":253,"description":"The provider's DNS name or literal IP address, without a scheme or port.","examples":["sftp.northwind-data.example"]}},"required":["mode","serverName"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","enum":["plaintext"]}},"required":["mode"],"additionalProperties":false}],"description":"tls verifies the counterparty certificate against serverName. plaintext is accepted only for a host inside the deployment endpoint allow-list."},"SftpReda001Config":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"description":"The provider's DNS name or literal IP address, without a scheme or port.","examples":["sftp.northwind-data.example"]},"port":{"type":"integer","minimum":1,"maximum":65535},"username":{"type":"string","minLength":1,"maxLength":128,"examples":["northwind-prices"]},"remotePath":{"type":"string","minLength":1,"maxLength":1024,"examples":["/outbound/prices"]},"tempSuffix":{"anyOf":[{"type":"string","minLength":1,"maxLength":16},{"type":"null"}]},"timeZone":{"$ref":"#/components/schemas/PriceSourceTimeZone"}},"required":["host","port","username","remotePath","tempSuffix","timeZone"],"additionalProperties":false},"SftpCsvConfig":{"type":"object","properties":{"host":{"type":"string","minLength":1,"maxLength":253,"description":"The provider's DNS name or literal IP address, without a scheme or port.","examples":["sftp.northwind-data.example"]},"port":{"type":"integer","minimum":1,"maximum":65535},"username":{"type":"string","minLength":1,"maxLength":128,"examples":["northwind-prices"]},"remotePath":{"type":"string","minLength":1,"maxLength":1024,"examples":["/outbound/prices"]},"tempSuffix":{"anyOf":[{"type":"string","minLength":1,"maxLength":16},{"type":"null"}]},"timeZone":{"$ref":"#/components/schemas/PriceSourceTimeZone"},"columnMap":{"$ref":"#/components/schemas/CsvColumnMap"}},"required":["host","port","username","remotePath","tempSuffix","timeZone","columnMap"],"additionalProperties":false},"CsvColumnMap":{"type":"object","properties":{"isin":{"type":"string","minLength":1,"maxLength":128,"examples":["ISIN"]},"price":{"type":"string","minLength":1,"maxLength":128,"examples":["PRICE"]},"currency":{"type":"string","minLength":1,"maxLength":128,"examples":["CURRENCY"]},"asOf":{"type":"string","minLength":1,"maxLength":128,"examples":["AS_OF"]},"priceType":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]}},"required":["isin","price","currency","asOf","priceType"],"additionalProperties":false,"description":"The CSV header that carries each field. priceType is null when the file holds one price type."},"PriceSourceState":{"type":"string","enum":["draft","active","paused","retired"],"description":"draft until activated, active while the scheduler fetches, paused by a manager, retired for good."},"PriceSourceHostKeyPayload":{"type":"object","properties":{"fingerprint":{"$ref":"#/components/schemas/HostKeyFingerprint"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["fingerprint"],"additionalProperties":false,"description":"Accepts the SFTP host key a feeds manager verified out of band. Carries a wallet verification."},"HostKeyFingerprint":{"type":"string","pattern":"^SHA256:[A-Za-z0-9+/]{43}$","description":"An SSH host key fingerprint in the form OpenSSH prints, SHA256: and 43 base64 characters."},"PriceSourceCredentialTransitionPayload":{"type":"object","properties":{"transition":{"type":"string","enum":["remove"]},"expectedCredentialVersion":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The credentialVersion the manager read. The removal is refused if the credential changed since. A source that already holds no credential answers success whatever the version."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition","expectedCredentialVersion"],"additionalProperties":false,"description":"Removes the source's credential: the secret is deleted, the hint cleared and the credentialVersion advanced. Refused while the source is active. Carries a wallet verification."},"PriceSourceCredentialUpdatePayload":{"type":"object","properties":{"credential":{"$ref":"#/components/schemas/PriceSourceCredential"},"expectedCredentialVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["credential","expectedCredentialVersion"],"additionalProperties":false,"description":"Replaces the source's credential. Write-only: the response never returns it. Carries a wallet verification."},"PriceSourceCredential":{"anyOf":[{"$ref":"#/components/schemas/PriceSourcePasswordCredential"},{"$ref":"#/components/schemas/PriceSourcePrivateKeyCredential"},{"$ref":"#/components/schemas/PriceSourceLogonCredential"},{"$ref":"#/components/schemas/PriceSourceClientCredentials"}],"description":"The secret a provider connection needs. It is stored in the platform's secret store, never in the source, and never returned.","discriminator":{"propertyName":"kind","mapping":{"password":"#/components/schemas/PriceSourcePasswordCredential","private_key":"#/components/schemas/PriceSourcePrivateKeyCredential","logon":"#/components/schemas/PriceSourceLogonCredential","client_credentials":"#/components/schemas/PriceSourceClientCredentials"}}},"PriceSourceClientCredentials":{"type":"object","properties":{"kind":{"type":"string","enum":["client_credentials"]},"clientId":{"type":"string","minLength":1,"maxLength":256},"clientSecret":{"type":"string","minLength":1,"maxLength":1024},"expiresAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the provider expires these credentials, as Bloomberg prints it in the credential file. The scheduler warns before this time and stops using the credentials after it. Absent or null when the provider states no expiry."}},"required":["kind","clientId","clientSecret"],"additionalProperties":false},"PriceSourceLogonCredential":{"type":"object","properties":{"kind":{"type":"string","enum":["logon"]},"username":{"type":"string","minLength":1,"maxLength":128},"password":{"type":"string","minLength":1,"maxLength":256}},"required":["kind","username","password"],"additionalProperties":false},"PriceSourcePrivateKeyCredential":{"type":"object","properties":{"kind":{"type":"string","enum":["private_key"]},"privateKey":{"type":"string","minLength":1,"maxLength":16384},"passphrase":{"anyOf":[{"type":"string","minLength":1,"maxLength":1024},{"type":"null"}]}},"required":["kind","privateKey","passphrase"],"additionalProperties":false},"PriceSourcePasswordCredential":{"type":"object","properties":{"kind":{"type":"string","enum":["password"]},"password":{"type":"string","minLength":1,"maxLength":1024}},"required":["kind","password"],"additionalProperties":false},"PriceSourceTransitionOutput":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PriceSourceTransitionResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"PriceSourceTransitionResult":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/PriceSourceView"},"noEligibleApprover":{"type":"boolean","description":"True when a mapped token has no one who may approve a held price for it."},"tokensWithoutEligibleApprover":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceUncoveredToken"}}},"required":["source","noEligibleApprover","tokensWithoutEligibleApprover"],"additionalProperties":false},"PriceSourceUncoveredToken":{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"tokenAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["chainId","tokenAddress"],"additionalProperties":false,"description":"A mapped token that nobody can approve a held price for."},"PriceSourceTransitionPayload":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceActivation"},{"$ref":"#/components/schemas/PriceSourceStop"}]},"PriceSourceStop":{"type":"object","properties":{"transition":{"type":"string","enum":["pause","retire"]}},"required":["transition"],"additionalProperties":false,"description":"Pause an active source, or retire a source for good. Both only stop publishing, so a session or an API key may request them."},"PriceSourceActivation":{"type":"object","properties":{"transition":{"type":"string","enum":["activate"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition"],"additionalProperties":false,"description":"Activate a draft or paused source. Needs a signed-in session and a wallet verification."},"PriceSourceUpdatePayload":{"type":"object","properties":{"expectedRowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"The rowVersion the manager read. The edit is refused if the source changed since."},"definition":{"$ref":"#/components/schemas/PriceSourceDefinition"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["expectedRowVersion","definition"],"additionalProperties":false,"description":"Replaces the source's non-secret settings. The protocol is fixed once created. Every edit steers unattended signing, so it carries a wallet verification."},"PriceSourceListOutput":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PriceSourceRead"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"PriceSourceRead":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceView"},{"$ref":"#/components/schemas/PriceSourceSummary"}]},"PriceSourceSummary":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"state":{"$ref":"#/components/schemas/PriceSourceState"},"definition":{"$ref":"#/components/schemas/PriceSourceDefinition"},"credentialVersion":{"type":"integer","minimum":0,"maximum":9007199254740991},"credentialSet":{"type":"boolean","description":"Whether the source holds a credential. The credential itself is never returned."},"credentialHint":{"anyOf":[{"type":"string","maxLength":3},{"type":"null"}],"description":"The last characters of the stored credential, for the Console to recognise it by: up to three, fewer for a secret under nine characters, and an empty string for a secret of one or two characters. A private key shows the last characters of the hex SHA-256 digest of the key text, never of the key, and not the fingerprint that ssh-keygen prints. Null when the source holds no credential."},"hostKeyFingerprint":{"anyOf":[{"type":"string"},{"type":"null"}]},"failureClass":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceFailureClass"},{"type":"null"}]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"latestDelivery":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceDeliveryView"},{"type":"null"}]},"metrics":{"$ref":"#/components/schemas/PriceSourceMetrics"}},"additionalProperties":false},"sourceFieldsQuery":{"type":"object","properties":{"source":{"type":"string"}},"additionalProperties":false,"description":"Sparse fieldset for the source resource this response carries. Only named members are present, and a member this resource does not publish is refused.","examples":[{"source":"id,state,credentialSet,failureClass,rowVersion"}]},"PriceSourceListFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"state":{"$ref":"#/components/schemas/PriceSourceState"}},"additionalProperties":false,"description":"filter[q] matches the source name; filter[state] keeps one state."},"FiniteDecimalFromStringEncoded":{"type":"string"},"CantonIdentityOperationOutput":{"type":"object","properties":{"operationId":{"type":"string","minLength":1,"description":"Durable operation identifier. It is also the submission identifier, so `/api/v2/transaction-requests` reports this operation's progress under the same id."},"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1},"contractId":{"type":"string","description":"Contract id the submission created, when the operation created one."}},"required":["operationId","submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false},"FeedOrigin":{"type":"string","enum":["issuer-signed","aggregator-adapter","external"],"description":"How the feed came to exist. issuer-signed: a trusted issuer signs its values, whether or not an adapter exists for it, so the platform can publish to it. external: a registered oracle contract. aggregator-adapter: a registered oracle contract that has an adapter. adapterAddress says whether an adapter exists."},"FeedListItem":{"type":"object","properties":{"ref":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["chainId","address"],"additionalProperties":false},"subject":{"$ref":"#/components/schemas/EvmAddress"},"topicId":{"type":"string","pattern":"^-?\\d+$"},"kind":{"type":"string","enum":["issuer-signed-scalar","aggregator-adapter","external"]},"origin":{"$ref":"#/components/schemas/FeedOrigin"},"description":{"type":"string","minLength":1},"decimals":{"$ref":"#/components/schemas/DecimalsEncoded"},"driftAllowance":{"type":"number","minimum":0},"active":{"type":"boolean"},"registeredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"scope":{"type":"string","enum":["global","identity","asset","other"]},"adapterAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"latestRound":{"type":"string","enum":["indexed","none","chain"],"description":"Where the latest round comes from: indexed when the index holds one, none when the feed has no round yet (the latest read answers FEED_ROUND_NOT_FOUND), chain when the latest read asks the feed contract."},"provenance":{"anyOf":[{"$ref":"#/components/schemas/FeedProvenance"},{"type":"null"}],"description":"The price source behind the feed, or null for a feed maintained by hand."}},"required":["ref","subject","topicId","kind","origin","description","decimals","driftAllowance","active","registeredAt","scope","adapterAddress","latestRound","provenance"],"additionalProperties":false},"FeedProvenance":{"type":"object","properties":{"sourceId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"sourceName":{"type":"string","minLength":1},"protocol":{"$ref":"#/components/schemas/PriceSourceProtocol"},"vendor":{"anyOf":[{"$ref":"#/components/schemas/PriceSourceVendor"},{"type":"null"}],"description":"The vendor behind a REST source, or null for an SFTP or FIX source."},"priceField":{"type":"string","minLength":1,"description":"The field of the source's record the feed's price is read from."},"priceType":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The price type of the latest price the source published to the feed, or null before the first one."},"observationId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},{"type":"null"}],"description":"The observation that produced the latest published price, or null before the first one. GET /price-sources/{sourceId}/observations/{observationId}/evidence opens its evidence."},"observedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the source observed the latest published price, or null before the first one."},"recordedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the platform recorded the latest published price from the source's delivery, or null before the first one. It is not the publish time: publishedAt is."},"publishedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the latest price was published to the feed: the moment its publish settled after the transaction. Null before the first one."},"signedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The operations signer that signed and submitted the latest published price, read from the FeedUpdated event the indexer holds. Null before the first price, and while the indexer has not yet seen the transaction."},"approvedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The approver who released the latest price after a gate held it, or null when no approval was needed."}},"required":["sourceId","sourceName","protocol","vendor","priceField","priceType","observationId","observedAt","recordedAt","publishedAt","signedBy","approvedBy"],"additionalProperties":false,"description":"The price source that feeds this feed and the latest price it published."},"PriceSourceVendor":{"type":"string","enum":["bloomberg","lseg"],"description":"bloomberg is Bloomberg Data License and lseg is LSEG DataScope Select."},"PriceSourceProtocol":{"type":"string","enum":["sftp_csv","sftp_reda001","fix","bloomberg_data_license","lseg_datascope"],"description":"How the source delivers prices."},"FxRateHistoryFilters":{"type":"object","properties":{"rate":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"effectiveAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"FxRateListFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"baseCurrency":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"quoteCurrency":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"rate":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"effectiveAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"SystemAaSplitterHistoryCollectionFilters":{"type":"object","additionalProperties":true},"SplitterUpdateInput":{"anyOf":[{"type":"object","properties":{"warnDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"criticalDays":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"bps":{"not":{}}},"required":["warnDays","criticalDays"],"additionalProperties":false},{"type":"object","properties":{"bps":{"type":"integer","minimum":0,"maximum":10000},"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"},"warnDays":{"not":{}},"criticalDays":{"not":{}}},"required":["bps"],"additionalProperties":false}],"description":"Changes one refund-splitter knob per request: either the runway thresholds (`warnDays` and `criticalDays` together) or the refund share `bps`. A body naming both, or neither, is refused."},"BundlerBalance":{"type":"object","properties":{"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Bundler wallet whose native balance was read. Null when no managed bundler wallet is bound."},"balance":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Native-token balance of the bundler wallet at the latest block, in wei, as a decimal string, so a funding shows on the first read after it confirms. Null when no managed bundler wallet is bound."},"nativeTokenSymbol":{"type":"string","description":"Native token symbol on the selected chain, such as ETH.","examples":["ETH"]},"nativeTokenDecimals":{"type":"integer","minimum":0,"maximum":18,"description":"Base units per whole unit of the chain's native token, as a power of ten."}},"required":["address","balance","nativeTokenSymbol","nativeTokenDecimals"],"additionalProperties":false},"BundlerStatus":{"type":"object","properties":{"address":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"Configured bundler wallet for the organization. Null when no bundler wallet address is stored."}},"required":["address"],"additionalProperties":false,"description":"Whether a bundler wallet is configured for the organization. This is an organization setting, not a live chain probe."},"PayerWithdrawal":{"type":"object","properties":{"payerAddress":{"$ref":"#/components/schemas/EvmAddress"},"destination":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","description":"The withdrawn amount, in wei, as a decimal string."}},"required":["payerAddress","destination","amount"],"additionalProperties":false},"PayerWithdrawable":{"type":"object","properties":{"payerAddress":{"$ref":"#/components/schemas/EvmAddress"},"balance":{"type":"string","description":"The wallet's native balance at the latest block, or the paymaster's EntryPoint deposit the indexer last observed, in wei, as a decimal string."},"reserve":{"type":"string","description":"What the wallet keeps to pay for the withdrawal itself, including a replacement at a raised fee, in wei. It is priced for a one-wei transfer and for sending the whole withdrawable amount to the destination, and the higher of the two is kept. Zero for the paymaster deposit."},"inFlightReserve":{"type":"string","description":"The worst-case cost of the wallet's own signed writes that have not settled, plus, for the bundler wallet, what bundles in flight have reserved, in wei. It can exceed the balance. Zero for the paymaster deposit."},"withdrawable":{"type":"string","description":"The most a withdrawal can move now: the balance less the reserve and the in-flight reserve, never below zero, in wei. The withdrawal applies the same rule when it is sent, so it accepts this amount unless the balance, the fee or the wallet's own writes changed since, or, for the paymaster, the EntryPoint deposit on the network is lower than the indexed one."}},"required":["payerAddress","balance","reserve","inFlightReserve","withdrawable"],"additionalProperties":false},"MutationInput":{"type":"object","properties":{"walletVerification":{"$ref":"#/components/schemas/OptionalUserVerification"}},"additionalProperties":false,"description":"Shared mutation body fields. `walletVerification` carries the step-up secret the signer must present before a chain write is queued.","examples":[{"walletVerification":{"secretVerificationCode":"847291","verificationType":"OTP"}}]},"SystemAaPaymasterCollectionFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"address":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"NetworkId":{"type":"string","minLength":1,"description":"Stable platform network identifier"},"ExecutionChainStepOutcome":{"type":"object","properties":{"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"status":{"$ref":"#/components/schemas/TransactionRequestState"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["transactionId","status","transactionHash","errorMessage"],"additionalProperties":false,"description":"One call of a chained write: its own transaction request id (readable alone), its queue state (COMPLETED landed on chain; FAILED and CANCELLED did not; DEAD_LETTER may still land, so read the request's mayStillLand), its hash once broadcast, and its failure text."},"TimestampEncoded_1":{"anyOf":[{"type":"string","description":"Epoch milliseconds as a digit string, or a readable datetime.","format":"timestamp"},{"type":"number","minimum":0}]},"CustodyApprovalProviderIdentity":{"type":"string","enum":["dfns","fireblocks","luna","ripple","utila","ibm-haven"],"description":"The provider the configuration holding the request was added as: `provider`, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven. Name the provider to a user by this value."},"CustodyApprovalProviderKind":{"type":"string","enum":["dfns","fireblocks","luna","ripple","utila"]},"TransactionStatusOutput":{"anyOf":[{"$ref":"#/components/schemas/EvmTransactionStatusOutput"},{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"submissionId":{"type":"string","minLength":1},"networkIdentity":{"$ref":"#/components/schemas/NetworkId"},"submittingParty":{"$ref":"#/components/schemas/CantonPartyId"},"submissionStatus":{"type":"string","enum":["intent","approved","executed","projecting","settled","expired","failed"]},"approvalStatus":{"type":"string","enum":["none","pending","approved","denied"]},"approvalDecidedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvalDecidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded_1"},{"type":"null"}]},"ledgerSubmissionId":{"type":"string"},"settlementOffset":{"$ref":"#/components/schemas/LedgerOffset"},"contractId":{"type":"string","minLength":1,"allOf":[{"description":"Contract the settled submission created or rotated, when the operation reports one."}]},"failureReason":{"type":"object","properties":{"category":{"type":"string","enum":["ledger-rejected","approval-denied","approval-expired","no-longer-applies","signing-denied","not-entitled","internal"]},"code":{"type":"string","minLength":1},"message":{"type":"string","minLength":1}},"required":["category","code","message"],"additionalProperties":false},"pendingApproval":{"type":"object","properties":{"step":{"type":"string","minLength":1},"submissionId":{"type":"string","minLength":1}},"required":["step","submissionId"],"additionalProperties":false,"description":"The step of a native instrument creation that waits for its approval, and the child submission to decide through POST /api/v2/wallets/submissions/{submissionId}/decision. Present only once that child is admitted."},"kind":{"type":"string","minLength":1,"allOf":[{"description":"The operation the submission runs, in the same vocabulary as an EVM request's `kind` (for example `token.transfer`). Absent when the submitted Daml choice has no operation name."}]},"instrumentId":{"type":"string","minLength":1,"allOf":[{"description":"The instrument the submitted command names, when it names exactly one."}]},"instrumentAdmin":{"allOf":[{"$ref":"#/components/schemas/CantonPartyId"},{"description":"The admin party of that instrument, when the command names it."}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded_1"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded_1"}},"required":["family","submissionId","networkIdentity","submittingParty","submissionStatus","approvalStatus","approvalDecidedBy","approvalDecidedAt","createdAt","updatedAt"],"additionalProperties":false}]},"EvmTransactionStatusOutput":{"type":"object","properties":{"family":{"type":"string","enum":["evm"],"description":"Chain family of this row."},"transactionId":{"type":"string","description":"Queue identifier of the transaction request, assigned when the mutation was accepted."},"kind":{"type":"string","description":"Submitted mutation kind, such as token.mint or token.create."},"status":{"$ref":"#/components/schemas/TransactionRequestState_1"},"subStatus":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Finer queue progress or failure detail when the processor recorded one. Null otherwise."},"transactionHash":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary blockchain transaction hash after broadcast. Null until the request is sent to the chain."},"transactionHashes":{"type":"array","items":{"type":"string"},"description":"Every blockchain hash this request produced. Present only when the operation submitted more than one transaction."},"blockNumber":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Decimal block number after confirmation. Null until the transaction is mined."},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Plain failure or timeout text when the request did not complete. Null on success or while in flight, and null unless one of the caller's wallets signed the request or the caller holds a repair role."},"contractError":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Stable catalog code for the decoded contract revert, such as DALP-1106."},"args":{"type":"object","additionalProperties":{"type":"string"},"description":"Decoded revert arguments as raw base-unit strings, keyed by the catalog template name."},"why":{"type":"string","description":"Explanation of why the contract reverted."},"message":{"type":"string","description":"Short headline for the contract revert."},"fix":{"type":"string","description":"Suggested next action when the catalog entry provides one."}},"required":["id","args","why","message"],"additionalProperties":false},{"type":"null"}],"description":"Decoded catalog revert, present only after an async-settled failure maps to a catalog entry."},"result":{"type":"object","properties":{"tokenAddress":{"type":"string","description":"Created token contract address. Present only for a completed token.create request."}},"required":["tokenAddress"],"additionalProperties":false,"description":"Kind-scoped terminal result after the request completes."},"activeRequirement":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","description":"Identifier of the open funding requirement."},"role":{"type":"string","description":"Which wallet the chain refused, in operator terms. For a day-two write this is `queued-write-eoa`."},"subjectOwner":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Whose wallet must be funded: `caller`, `organisation`, or `platform`. Null for rows recorded before ownership was tracked."},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chain the refused broadcast targeted."},"address":{"type":"string","description":"Address whose balance settles the ask."},"nativeCurrency":{"type":"object","properties":{"name":{"type":"string","description":"Full name of the chain's native currency."},"symbol":{"type":"string","description":"Ticker of the chain's native currency."},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Decimal places that scale a base-unit amount into a display amount."}},"required":["name","symbol","decimals"],"additionalProperties":false,"description":"The currency both amounts below are denominated in, when the caller may read them."},"shortfall":{"type":"string","description":"What the refused operation itself needs, in base units, as a decimal integer string. Absent unless one of the caller's wallets signed the request or the caller holds a repair role."},"recommendedTotal":{"type":"string","description":"What to send, in base units, including any ongoing-ops allowance the gate advised. Absent unless one of the caller's wallets signed the request or the caller holds a repair role."}},"required":["id","role","subjectOwner","chainId","address","nativeCurrency"],"additionalProperties":false},{"type":"null"}],"description":"The open gas funding requirement blocking this request, when one exists."},"activeRequirementUnavailable":{"type":"boolean","description":"True when the funding requirement could not be read, so `activeRequirement` reports nothing."},"custodyApproval":{"type":"object","properties":{"provider":{"$ref":"#/components/schemas/CustodyApprovalProviderKind"},"providerIdentity":{"$ref":"#/components/schemas/CustodyApprovalProviderIdentity"},"approvalReference":{"type":"string","description":"The provider's own reference for the held request, as its approval console shows it."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded_1"},"approvals":{"type":"object","properties":{"approved":{"type":"integer","minimum":0,"maximum":9007199254740991},"required":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["approved","required"],"additionalProperties":false,"description":"The approvals the provider has counted so far and the number it needs, as it last reported them. Absent until the provider reports a count."},"progress":{"type":"string","description":"The approval progress as English text: the count in `approvals` as \"N of M approved\", or, while `leftOpen` is true, why the request is still open at the provider. Absent when there is neither."},"leftOpen":{"type":"boolean","description":"True once `expiresAt` passed at a provider that cannot withdraw the request: the request is still open there and an approver must reject it in the provider's approval console. Absent otherwise."},"withdrawable":{"type":"boolean","description":"True when cancelling the transaction withdraws this request. DALP withdraws it at the custody provider, or ends it in DALP when the request waits for approval there. False when an approver must reject it in the provider's approval console instead."},"cancelRequested":{"type":"boolean","description":"True once someone cancelled the transaction and DALP asked the custody provider to withdraw this request. The request ends when the provider confirms the withdrawal. Until then an approver can still approve it. Absent when nobody cancelled the transaction, and again once the provider refused to withdraw the request."}},"required":["provider","providerIdentity","approvalReference","expiresAt","withdrawable"],"additionalProperties":false,"description":"The custody approval this request waits on while a custody provider holds it, with `provider` naming that provider and `providerIdentity` the provider its configuration was added as. Absent when no provider holds it, and absent unless one of the caller's wallets signed the request or the caller holds a repair role."},"custodyApprovalUnavailable":{"type":"boolean","description":"True when the custody approval could not be read, so `custodyApproval` reports nothing. Absent unless one of the caller's wallets signed the request or the caller holds a repair role."},"indexerRebuild":{"anyOf":[{"type":"object","properties":{"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Chain whose history the indexer is replaying."},"blockNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Block the write waits for. The rebuild has to pass it before the request completes."}},"required":["chainId","blockNumber"],"additionalProperties":false},{"type":"null"}],"description":"The indexer rebuild this request is parked on, when one runs."},"indexerRebuildUnavailable":{"type":"boolean","description":"True when the deployment registry could not be read, so `indexerRebuild` reports nothing."},"steps":{"type":"array","items":{"$ref":"#/components/schemas/ExecutionChainStepOutcome_1"},"description":"The calls sent before this request when it is the final call of a chained write, in the order they ran. Each carries its own status, so a chain whose last call failed shows which earlier calls landed. Absent when the request sent a single call."},"mayStillLand":{"type":"boolean","description":"Present only on a `DEAD_LETTER` request. True when the call was broadcast or filed with a custody provider and can still reach the chain: do not send it again while it is true. False when nothing can land, so a new idempotency key is safe."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded_1"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded_1"}},"required":["family","transactionId","kind","status","subStatus","transactionHash","blockNumber","errorMessage","createdAt","updatedAt"],"additionalProperties":false},"ExecutionChainStepOutcome_1":{"type":"object","properties":{"transactionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"status":{"$ref":"#/components/schemas/TransactionRequestState"},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"errorMessage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["transactionId","status","transactionHash","errorMessage"],"additionalProperties":false,"description":"One call of a chained write: its own transaction request id (readable alone), its queue state (COMPLETED landed on chain; FAILED and CANCELLED did not; DEAD_LETTER may still land, so read the request's mayStillLand), its hash once broadcast, and its failure text."},"TransactionRequestState_1":{"type":"string","enum":["RECEIVED","QUEUED","AWAITING_WORKFLOW","PREPARING","PENDING_APPROVAL","SIGNING","BROADCASTING","CONFIRMING","COMPLETED","FAILED","DEAD_LETTER","CANCELLED"],"description":"Queue state of the request. Terminal values are COMPLETED, FAILED, DEAD_LETTER, and CANCELLED."},"AsyncAcceptedResult_1":{"type":"object","properties":{"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) for this mutation. Send it to the transaction-request routes. Do not treat it as an on-chain transaction hash.","examples":["0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"]},"status":{"type":"string","description":"Queue state at accept time. `QUEUED` means the write is accepted and not yet settled. Poll `statusUrl` until the request reports a terminal state instead of resubmitting.","examples":["QUEUED"]},"statusUrl":{"type":"string","description":"Relative URL for polling this queued mutation. Follow it (or the `Location` header) until settlement finishes. A 202 body is not the created resource.","examples":["/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"]}},"required":["transactionId","status","statusUrl"],"additionalProperties":false,"description":"HTTP 202 accepted handle for an async mutation. The write is queued, not finished. Poll `statusUrl` (also sent as `Location`) and honor `Preference-Applied`. Do not retry the original POST unless the queue reports a retryable failure.","examples":[{"transactionId":"0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b","status":"QUEUED","statusUrl":"/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"}]},"EscrowForcedTransferMutationResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/EscrowForcedTransfer"},"meta":{"$ref":"#/components/schemas/BlockchainMutationMeta_1"},"links":{"$ref":"#/components/schemas/SingleResourceLinks_1"}},"required":["data","meta","links"],"additionalProperties":false,"description":"Synchronous mutation result (HTTP 200). The write settled within the request wait window. `data` is the resulting resource, `meta.txHashes` lists submitted transactions, and `links.self` is the resource URL."},"SingleResourceLinks_1":{"type":"object","properties":{"self":{"type":"string","description":"Canonical relative URL of this resource. Use it for a later read of the same item.","examples":["/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F","/api/v2/transaction-requests/0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"]}},"required":["self"],"additionalProperties":false,"description":"Resource links for a single-item response. `self` is the canonical URL of the returned item.","examples":[{"self":"/api/v2/tokens/0x71C7656EC7ab88b098defB751B7401B5f6d8976F"}]},"BlockchainMutationMeta_1":{"type":"object","properties":{"txHashes":{"type":"array","items":{"type":"string","description":"On-chain transaction hashes produced by this mutation, in submission order. The same hashes are also sent as `X-Transaction-Hash` response headers.","examples":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]},"description":"Hashes of transactions this mutation submitted. Empty only when the route reports success without a chain write. Poll `links.self` or the status URL rather than assuming the first hash is final.","examples":[["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]]},"transactionId":{"type":"string","description":"Queue identifier (UUIDv7) of the transaction request behind this write, the same value a 202 handle carries as `transactionId`. Read its status or retry it through the transaction-request routes. Absent when the route settled without a transaction request.","examples":["0198f1a2-3c4d-7e8f-9a0b-1c2d3e4f5a6b"]}},"required":["txHashes"],"additionalProperties":false,"description":"Settlement metadata on a synchronous (HTTP 200) mutation. `txHashes` are the submitted chain transactions. Use them with a block explorer or the transaction-request status route.","examples":[{"txHashes":["0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"]}]},"EscrowForcedTransfer":{"type":"object","properties":{"escrowAddress":{"$ref":"#/components/schemas/EvmAddress"},"token":{"$ref":"#/components/schemas/EvmAddress"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"lockIds":{"type":"array","items":{"$ref":"#/components/schemas/EscrowLockId"},"maxItems":32,"description":"The owner's locks the transfer may draw from once the free balance is spent, at most 32. Empty moves free balance only."}},"required":["escrowAddress","token","from","to","amount","lockIds"],"additionalProperties":false,"description":"The forced transfer the escrow settled. Its transaction is in `meta.txHashes`."},"EscrowLockId":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"The lock id as a lower-case 32-byte hex string."},"EscrowForcedTransferPayload":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/EvmAddress"},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^-?\\d+$"},"lockIds":{"type":"array","items":{"$ref":"#/components/schemas/EscrowLockId"},"maxItems":32,"description":"The owner's locks the transfer may draw from once the free balance is spent, at most 32. Empty moves free balance only."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["token","from","to","amount","lockIds"],"additionalProperties":false,"description":"A custodian's forced transfer out of an escrow: evacuate a compromised escrow back to its owners, or recover tokens the bank already paid out. The caller's wallet signs it and must hold the token's custodian role."},"EscrowEventList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EscrowEvent"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"EscrowEvent":{"type":"object","properties":{"eventName":{"type":"string"},"blockNumber":{"type":"string","pattern":"^-?\\d+$"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"txHash":{"type":"string"},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"senderAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"values":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"],"additionalProperties":false},"description":"The event's decoded arguments, by name, as strings."}},"required":["eventName","blockNumber","blockTimestamp","txHash","logIndex","senderAddress","values"],"additionalProperties":false},"EscrowLockList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EscrowLock"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"EscrowLock":{"type":"object","properties":{"lockId":{"$ref":"#/components/schemas/EscrowLockId"},"ownerAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The token's symbol, or `null` when the platform has not indexed the token."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The token's decimals, or `null` when the platform has not indexed the token. Amounts are in base units; do not scale them without this value."},"amount":{"type":"string","pattern":"^-?\\d+$"},"reclaimableFrom":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When anyone may book the lock back to the owner's free balance, or `null` when the lock has no owner exit and only its controller can release it."},"status":{"$ref":"#/components/schemas/EscrowLockStatus"},"openedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["lockId","ownerAddress","tokenAddress","symbol","decimals","amount","reclaimableFrom","status","openedAt"],"additionalProperties":false},"EscrowLockStatus":{"type":"string","enum":["open","unlocked","relocked","paid","booked","reclaimed","forced"],"description":"`open` while units remain locked. Once the lock is empty, the move that emptied it: `unlocked` back to free, `relocked` into another lock, `paid` out, `booked` to another owner's free balance (a venue delivery whose receiver could not take the transfer), `reclaimed` by the owner after it expired, or `forced` by a custodian's forced transfer."},"EscrowLockFilters":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/EscrowLockStatus"}},"additionalProperties":false},"EscrowBalanceList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EscrowBalance"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"EscrowBalance":{"type":"object","properties":{"ownerAddress":{"$ref":"#/components/schemas/EvmAddress"},"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The token's symbol, or `null` when the platform has not indexed the token."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The token's decimals, or `null` when the platform has not indexed the token. Amounts are in base units; do not scale them without this value."},"free":{"type":"string","pattern":"^-?\\d+$"},"locked":{"type":"string","pattern":"^-?\\d+$"}},"required":["ownerAddress","tokenAddress","symbol","decimals","free","locked"],"additionalProperties":false},"EscrowSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Escrow"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"Escrow":{"type":"object","properties":{"escrowAddress":{"$ref":"#/components/schemas/EvmAddress"},"label":{"type":"string","description":"The label the add-on gave the escrow when it asked for it."},"addonKind":{"$ref":"#/components/schemas/EscrowAddonKind"},"controllerAddress":{"$ref":"#/components/schemas/EvmAddress"},"factoryAddress":{"$ref":"#/components/schemas/EvmAddress"},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"country":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The ISO 3166-1 numeric country code of the escrow's identity."},"tokenCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many tokens the escrow owes a non-zero amount of."},"openLockCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"held":{"type":"array","items":{"$ref":"#/components/schemas/EscrowHolding"},"description":"What the escrow owes per token, free plus locked, for every token with a non-zero amount."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["escrowAddress","label","addonKind","controllerAddress","factoryAddress","identityAddress","country","tokenCount","openLockCount","held","createdAt"],"additionalProperties":false},"EscrowHolding":{"type":"object","properties":{"tokenAddress":{"$ref":"#/components/schemas/EvmAddress"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The token's symbol, or `null` when the platform has not indexed the token."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The token's decimals, or `null` when the platform has not indexed the token. Amounts are in base units; do not scale them without this value."},"amount":{"type":"string","pattern":"^-?\\d+$"}},"required":["tokenAddress","symbol","decimals","amount"],"additionalProperties":false},"EscrowAddonKind":{"type":"string","enum":["trading-venue","other"],"description":"The kind of add-on that controls the escrow, read from the controller's indexed contract type. `other` is a controller of a type this list does not name yet."},"EscrowList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Escrow"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}}},"required":["total","facets"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false,"description":"One page of the organisation's escrows. `meta.facets.addonKind` counts every escrow in scope per add-on kind, whatever the filter."},"EscrowListFilters":{"type":"object","properties":{"addonKind":{"$ref":"#/components/schemas/EscrowAddonKind"}},"additionalProperties":false},"CustodyGatewayWithdrawalFeeQuoteResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalFeeQuote"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayWithdrawalFeeQuote":{"type":"object","properties":{"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"shares":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},"fee":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The withdrawal fee on the shares, in the coin's base units.","examples":["1000000"]},"feeMode":{"$ref":"#/components/schemas/CustodyGatewayFeeMode"},"gasCeiling":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The most the keeper's network fee quote may recharge, zero when nothing is recharged.","examples":["1000000"]},"net":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"What the shares pay before the network fee: the shares less the fee when deducted, the full shares otherwise.","examples":["1000000"]}},"required":["receiptToken","token","shares","fee","feeMode","gasCeiling","net"],"additionalProperties":false},"CustodyGatewayFeeMode":{"type":"string","enum":["deducted","accounting-only"],"description":"How the gateway charges its fee: deducted takes it from the amount, accounting-only pays the full amount and owes the fee."},"LowercaseEvmAddressEncoded_1":{"type":"string","description":"The custody receipt the withdrawal hands in.","examples":["0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"]},"CustodyGatewayClientTokensPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayClientToken"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayClientToken":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["token","receiptToken"],"additionalProperties":false},"CustodyGatewayRecordFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000}},"additionalProperties":false},"CustodyGatewayPayoutsPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayApprovedPayout"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayApprovedPayout":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"isDefault":{"type":"boolean","description":"Whether the gateway pays here when a request names no payout address."}},"required":["address","isDefault"],"additionalProperties":false},"CustodyGatewayRecordTransition":{"type":"object","properties":{"transition":{"type":"string"},"recordId":{"type":"string"}},"required":["transition","recordId"],"additionalProperties":false},"CustodyGatewayLifecycleTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["pause","unpause","close"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false},"CustodyGatewayUnsupportedTransitionCreate":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["ignore","return","enable","confirm-sender"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["recover"]},"to":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition","to"],"additionalProperties":false}]},"CustodyGatewayUnsupportedPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayUnsupportedDeposit"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayUnsupportedDeposit":{"type":"object","properties":{"recordKey":{"type":"string"},"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"sender":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"amount":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},"status":{"type":"string","enum":["unsupported","returned","enabled","recovered","ignored"]},"senderConfirmed":{"type":"boolean"},"depositId":{"anyOf":[{"$ref":"#/components/schemas/CustodyGatewayDepositId"},{"type":"null"}]},"paidTo":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["recordKey","token","sender","amount","status","senderConfirmed","depositId","paidTo","createdAt"],"additionalProperties":false},"CustodyGatewayDepositId":{"type":"string","pattern":"^0x[0-9a-f]{64}$","description":"The 32-byte deposit id the gateway assigned, as lowercase hex."},"CustodyGatewayDefaultPayoutWritten":{"type":"object","properties":{"payout":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["payout"],"additionalProperties":false},"CustodyGatewayDefaultPayoutPatch":{"type":"object","properties":{"payout":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["payout"],"additionalProperties":false},"CustodyGatewayAutoClaimWritten":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"CustodyGatewayAutoClaimPatch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether a fulfilled request is paid out without a claim."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["enabled"],"additionalProperties":false},"CustodyGatewayRequestId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The withdrawal request id the gateway assigned, as decimal text."},"CustodyGatewayWithdrawalTransitionCreate":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["clear","approve","reject","flag","unfreeze","renew-freeze","report","return","unfulfil","cancel","collect","exit"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["set-payout"]},"payout":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition","payout"],"additionalProperties":false}],"description":"clear, reject and flag are the screener's, reject and flag also the gateway managers'; approve, unfreeze, renew-freeze, report, return and unfulfil are the gateway managers' and need the add-on's checker approval where the contract asks for it; approve releases a request in review at or above the instant limit to wait for funds; cancel, collect, exit and set-payout are the client's."},"CustodyGatewayWithdrawalCreated":{"type":"object","properties":{"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"shares":{"type":"string"},"payout":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["receiptToken","shares","payout"],"additionalProperties":false},"CustodyGatewayWithdrawalCreate":{"type":"object","properties":{"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"shares":{"type":"string","pattern":"^[1-9][0-9]{0,77}$","description":"Receipts in base units. At most the wallet's balance minus the receipts held for custody."},"payout":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["receiptToken","shares","payout"],"additionalProperties":false},"CustodyGatewayWithdrawalResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayWithdrawalDetail":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyGatewayRequestId"},"recordId":{"type":"string","description":"The keeper's record key for this withdrawal, as indexed."},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"token":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}],"description":"The coin the request pays out, once the request is assigned one."},"owner":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"requestedBy":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"shares":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},"stage":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalStage"},"assetsReserved":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},{"type":"null"}]},"assetsPaid":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},{"type":"null"}]},"fee":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},{"type":"null"}]},"payoutAddress":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"returnReason":{"anyOf":[{"type":"string","enum":["refused","rejected","cancelled","time-limit","frozen-return","paused-exit","corporate-action"]},{"type":"null"}]},"autoPayFailure":{"anyOf":[{"type":"string"},{"type":"null"}]},"frozenUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reported":{"type":"boolean"},"everFrozen":{"type":"boolean","description":"Whether the withdrawal was ever frozen. A withdrawal freezes once: after that a freeze is renewed, never placed again."},"needsScreening":{"type":"boolean","description":"Whether the screener still has to clear the request before it can be paid."},"needsApproval":{"type":"boolean","description":"Whether gateway managers still have to approve the request before it can be paid."},"cancelAvailableAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"From when the client may cancel a withdrawal that is waiting for funds: the time it started waiting plus the cancel time limit its terms held when it was requested, so a later settings change does not move it. Null when the withdrawal is not waiting for funds or its terms set no cancel time limit, in which case the gateway refuses the cancel."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayStageEvent"},"description":"The stage history, oldest first."}},"required":["requestId","recordId","receiptToken","token","owner","requestedBy","shares","stage","assetsReserved","assetsPaid","fee","payoutAddress","returnReason","autoPayFailure","frozenUntil","reported","everFrozen","needsScreening","needsApproval","cancelAvailableAt","createdAt","settledAt","stages"],"additionalProperties":false},"CustodyGatewayStageEvent":{"type":"object","properties":{"stage":{"type":"string"},"mover":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}],"description":"The wallet that moved the record to this stage."},"transactionHash":{"type":"string"},"at":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["stage","mover","transactionHash","at"],"additionalProperties":false},"CustodyGatewayWithdrawalStage":{"type":"string","enum":["requested","awaiting-payout","in-review","awaiting-funds","claimable","settled","return-pending","receipt-returned"],"description":"Where a withdrawal request stands: awaiting-payout waits for the client's payout address, in-review is frozen for screening, awaiting-funds waits for the treasury, claimable can be collected, and settled and receipt-returned are final."},"CustodyGatewayWithdrawalsPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayWithdrawal"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayWithdrawal":{"type":"object","properties":{"requestId":{"$ref":"#/components/schemas/CustodyGatewayRequestId"},"recordId":{"type":"string","description":"The keeper's record key for this withdrawal, as indexed."},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"token":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}],"description":"The coin the request pays out, once the request is assigned one."},"owner":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"requestedBy":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"shares":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},"stage":{"$ref":"#/components/schemas/CustodyGatewayWithdrawalStage"},"assetsReserved":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},{"type":"null"}]},"assetsPaid":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},{"type":"null"}]},"fee":{"anyOf":[{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},{"type":"null"}]},"payoutAddress":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"returnReason":{"anyOf":[{"type":"string","enum":["refused","rejected","cancelled","time-limit","frozen-return","paused-exit","corporate-action"]},{"type":"null"}]},"autoPayFailure":{"anyOf":[{"type":"string"},{"type":"null"}]},"frozenUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reported":{"type":"boolean"},"everFrozen":{"type":"boolean","description":"Whether the withdrawal was ever frozen. A withdrawal freezes once: after that a freeze is renewed, never placed again."},"needsScreening":{"type":"boolean","description":"Whether the screener still has to clear the request before it can be paid."},"needsApproval":{"type":"boolean","description":"Whether gateway managers still have to approve the request before it can be paid."},"cancelAvailableAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"From when the client may cancel a withdrawal that is waiting for funds: the time it started waiting plus the cancel time limit its terms held when it was requested, so a later settings change does not move it. Null when the withdrawal is not waiting for funds or its terms set no cancel time limit, in which case the gateway refuses the cancel."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["requestId","recordId","receiptToken","token","owner","requestedBy","shares","stage","assetsReserved","assetsPaid","fee","payoutAddress","returnReason","autoPayFailure","frozenUntil","reported","everFrozen","needsScreening","needsApproval","cancelAvailableAt","createdAt","settledAt"],"additionalProperties":false},"CustodyGatewayRecordProgressFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"progress":{"anyOf":[{"$ref":"#/components/schemas/CustodyGatewayRecordProgress"},{"$ref":"#/components/schemas/CustodyGatewayProgressFilterPredicate"}]}},"additionalProperties":false},"CustodyGatewayProgressFilterPredicate":{"type":"object","properties":{"eq":{"$ref":"#/components/schemas/CustodyGatewayRecordProgress"},"ne":{"$ref":"#/components/schemas/CustodyGatewayRecordProgress"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false},"CustodyGatewayRecordProgress":{"type":"string","enum":["open","done"],"description":"Whether a gateway record is still moving or has reached a final stage."},"CustodyGatewayDepositTransitionCreate":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["confirm-sender","clear","refuse","flag","unfreeze","renew-freeze","report","return","retry","custody-returned","pull-back","exit"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["recover"]},"to":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition","to"],"additionalProperties":false}],"description":"confirm-sender, clear, refuse and flag are the screener's; unfreeze, renew-freeze, report, return, recover and custody-returned are the gateway managers' and need the add-on's checker approval where the contract asks for it; retry is the keeper's; pull-back and exit are the client's. Confirming that the custodian accepted the coins is the keeper's alone and has no transition."},"CustodyGatewayDepositCreated":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"amount":{"type":"string"}},"required":["token","amount"],"additionalProperties":false},"CustodyGatewayDepositCreate":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"amount":{"type":"string","pattern":"^[1-9][0-9]{0,77}$","description":"Amount in base units. Queues an approval first when the allowance is short."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["token","amount"],"additionalProperties":false},"CustodyGatewayDepositResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayDepositDetail"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayDepositDetail":{"type":"object","properties":{"depositId":{"$ref":"#/components/schemas/CustodyGatewayDepositId"},"recordId":{"type":"string","description":"The keeper's record key for this deposit, as indexed."},"kind":{"type":"string","enum":["deposit","reported"]},"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"sender":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"amount":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},"sourceTransactionHash":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEthereumHashEncoded"},{"type":"null"}],"description":"The transaction of the reported transfer, or null for a depositAsset call or a deposit enabled from an unsupported-token record."},"sourceLogIndex":{"anyOf":[{"$ref":"#/components/schemas/LogIndex"},{"type":"null"}],"description":"The Transfer log's index in the source transaction, or null for a depositAsset call or a deposit enabled from an unsupported-token record."},"stage":{"$ref":"#/components/schemas/CustodyGatewayDepositStage"},"returnedBy":{"anyOf":[{"type":"string","enum":["client","screener","managers"]},{"type":"null"}],"description":"Who returned the deposit, once it is returned."},"paidTo":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"senderConfirmed":{"type":"boolean"},"frozenUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reported":{"type":"boolean","description":"Whether the deposit is marked as reported to the authorities, which stops a freeze from expiring."},"everFrozen":{"type":"boolean","description":"Whether the deposit was ever frozen. A deposit freezes once: after that a freeze is renewed, never placed again."},"heldForCustody":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The receipts still held in the client's wallet until the custodian answers, zero once it has.","examples":["1000000"]},"custodyAnswer":{"anyOf":[{"type":"string","enum":["confirmed","return-reported","returned"]},{"type":"null"}],"description":"What the custodian answered, or null while it has not answered."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayStageEvent"},"description":"The stage history, oldest first."}},"required":["depositId","recordId","kind","token","sender","amount","sourceTransactionHash","sourceLogIndex","stage","returnedBy","paidTo","senderConfirmed","frozenUntil","reported","everFrozen","heldForCustody","custodyAnswer","createdAt","settledAt","stages"],"additionalProperties":false},"CustodyGatewayDepositStage":{"type":"string","enum":["quarantined","frozen","mint-refused","awaiting-custody","settled","returned","recovered"],"description":"Where a deposit stands: quarantined awaits the screener, frozen is held under a freeze, mint-refused could not mint its receipt, awaiting-custody waits for the custodian, and settled, returned and recovered are final. A lapsed, unreported freeze reads as the stage the deposit was frozen from."},"LogIndex":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Position of one log inside its transaction, within the int4 column that keys it"},"LowercaseEthereumHashEncoded":{"type":"string","pattern":"^0x[a-fA-F0-9]{64}$"},"CustodyGatewayDepositsPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayDeposit"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayDeposit":{"type":"object","properties":{"depositId":{"$ref":"#/components/schemas/CustodyGatewayDepositId"},"recordId":{"type":"string","description":"The keeper's record key for this deposit, as indexed."},"kind":{"type":"string","enum":["deposit","reported"]},"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"sender":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"amount":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"A whole amount in the coin's base units, as decimal text.","examples":["1000000"]},"sourceTransactionHash":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEthereumHashEncoded"},{"type":"null"}],"description":"The transaction of the reported transfer, or null for a depositAsset call or a deposit enabled from an unsupported-token record."},"sourceLogIndex":{"anyOf":[{"$ref":"#/components/schemas/LogIndex"},{"type":"null"}],"description":"The Transfer log's index in the source transaction, or null for a depositAsset call or a deposit enabled from an unsupported-token record."},"stage":{"$ref":"#/components/schemas/CustodyGatewayDepositStage"},"returnedBy":{"anyOf":[{"type":"string","enum":["client","screener","managers"]},{"type":"null"}],"description":"Who returned the deposit, once it is returned."},"paidTo":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"senderConfirmed":{"type":"boolean"},"frozenUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reported":{"type":"boolean","description":"Whether the deposit is marked as reported to the authorities, which stops a freeze from expiring."},"everFrozen":{"type":"boolean","description":"Whether the deposit was ever frozen. A deposit freezes once: after that a freeze is renewed, never placed again."},"heldForCustody":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The receipts still held in the client's wallet until the custodian answers, zero once it has.","examples":["1000000"]},"custodyAnswer":{"anyOf":[{"type":"string","enum":["confirmed","return-reported","returned"]},{"type":"null"}],"description":"What the custodian answered, or null while it has not answered."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["depositId","recordId","kind","token","sender","amount","sourceTransactionHash","sourceLogIndex","stage","returnedBy","paidTo","senderConfirmed","frozenUntil","reported","everFrozen","heldForCustody","custodyAnswer","createdAt","settledAt"],"additionalProperties":false},"CustodyGatewayDepositFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"progress":{"anyOf":[{"$ref":"#/components/schemas/CustodyGatewayRecordProgress"},{"$ref":"#/components/schemas/CustodyGatewayProgressFilterPredicate"}]},"source":{"type":"string","description":"The reported transfer that recorded the deposit, as a transaction hash and log index joined by a colon.","examples":["0xa9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9a9:3"],"maxLength":80}},"additionalProperties":false},"CustodyGatewayMineResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayMine"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayMine":{"type":"object","properties":{"gateway":{"type":"object","properties":{"gatewayAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"escrow":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"clientIdentity":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"paused":{"type":"boolean"},"defaultPayoutAddress":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"clientWallet":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]}},"required":["gatewayAddress","escrow","clientIdentity","paused","defaultPayoutAddress","clientWallet"],"additionalProperties":false},"autoClaim":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayAutoClaim"}}},"required":["gateway","autoClaim"],"additionalProperties":false,"description":"The gateway that serves the signed-in client, with the auto-claim switches that apply to it."},"CustodyGatewayAutoClaim":{"type":"object","properties":{"token":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}],"description":"The coin the switch applies to, or null for the gateway-wide switch."},"enabled":{"type":"boolean"},"source":{"type":"string","enum":["switch","gateway","profile","addon"],"description":"Which level the answer comes from."}},"required":["token","enabled","source"],"additionalProperties":false},"CustodyGatewaySignersResource":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewaySigner"}},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewaySigner":{"type":"object","properties":{"role":{"type":"string","enum":["keeper","screener"]},"generation":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Starts at 1 and grows by one with each new wallet of the role."},"state":{"type":"string","enum":["pending","granted","active","retired","revoked"],"description":"pending until the role is granted on chain, granted until the platform switches to it, then active. A replaced wallet is retired, a withdrawn one revoked."},"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"providerConfigurationId":{"type":"string","description":"The custody provider configuration holding the key."},"lowBalanceThresholdWei":{"anyOf":[{"type":"string","pattern":"^\\d{1,78}$","description":"A whole amount of the network's native coin in wei, as decimal text.","examples":["50000000000000000"]},{"type":"null"}],"description":"Below this native balance the wallet is reported low. Null means no threshold."},"balanceWei":{"anyOf":[{"type":"string","pattern":"^\\d{1,78}$","description":"A whole amount of the network's native coin in wei, as decimal text.","examples":["50000000000000000"]},{"type":"null"}],"description":"The wallet's last observed native balance, or null when the platform has not observed it yet."},"low":{"type":"boolean","description":"True when the observed balance is below the threshold."}},"required":["role","generation","state","address","providerConfigurationId","lowBalanceThresholdWei","balanceWei","low"],"additionalProperties":false},"CustodyGatewaySignerPatch":{"type":"object","properties":{"lowBalanceThresholdWei":{"anyOf":[{"type":"string","pattern":"^\\d{1,78}$","description":"A whole amount of the network's native coin in wei, as decimal text.","examples":["50000000000000000"]},{"type":"null"}],"description":"The new threshold for every wallet of the role, or null to remove it."}},"required":["lowBalanceThresholdWei"],"additionalProperties":false},"CustodyGatewaySignerSetUpResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewaySignerSetUpResult"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewaySignerSetUpResult":{"type":"object","properties":{"role":{"type":"string","enum":["keeper","screener"]},"generation":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Starts at 1 and grows by one with each new wallet of the role."},"state":{"type":"string","enum":["pending","granted","active","retired","revoked"],"description":"pending until the role is granted on chain, granted until the platform switches to it, then active. A replaced wallet is retired, a withdrawn one revoked."},"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"providerConfigurationId":{"type":"string","description":"The custody provider configuration holding the key."},"lowBalanceThresholdWei":{"anyOf":[{"type":"string","pattern":"^\\d{1,78}$","description":"A whole amount of the network's native coin in wei, as decimal text.","examples":["50000000000000000"]},{"type":"null"}],"description":"Below this native balance the wallet is reported low. Null means no threshold."},"balanceWei":{"anyOf":[{"type":"string","pattern":"^\\d{1,78}$","description":"A whole amount of the network's native coin in wei, as decimal text.","examples":["50000000000000000"]},{"type":"null"}],"description":"The wallet's last observed native balance, or null when the platform has not observed it yet."},"low":{"type":"boolean","description":"True when the observed balance is below the threshold."},"wallet":{"type":"string","enum":["created","reused"],"description":"created when the custody provider minted a new key, reused when the wallet already existed."}},"required":["role","generation","state","address","providerConfigurationId","lowBalanceThresholdWei","balanceWei","low","wallet"],"additionalProperties":false},"CustodyGatewaySignerTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["rotate"]},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"funding":{"type":"string","enum":["auto","skip"],"description":"auto tops the new wallet up with gas where the network allows it; skip leaves funding to you. Defaults to auto."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition","providerConfigurationId"],"additionalProperties":false,"description":"Mints the role's next wallet. The current wallet keeps signing until the new one is granted on chain. Sending it again before that answers the same new wallet."},"CustodyGatewaySignerCreate":{"type":"object","properties":{"role":{"type":"string","enum":["keeper","screener"]},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"funding":{"type":"string","enum":["auto","skip"],"description":"auto tops the new wallet up with gas where the network allows it; skip leaves funding to you. Defaults to auto."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["role","providerConfigurationId"],"additionalProperties":false,"description":"Sets up the role's wallet with the custody provider. Sending it again with the same configuration answers the same wallet."},"CustodyGatewaySignersPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewaySigner"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayAdminFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000}},"additionalProperties":false},"CustodyGatewayRoleMember":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/CustodyGatewayRole"},"account":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["role","account"],"additionalProperties":false},"CustodyGatewayRole":{"type":"string","enum":["manager","keeper","screener"],"description":"A role every gateway of the add-on reads from its access manager: manager creates and configures gateways and proposes and approves checked actions, keeper reports and pays, screener answers screening."},"CustodyGatewayRoleMemberTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["revoke"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false,"description":"Revokes the role from the wallet on every gateway of the add-on, at once."},"CustodyGatewayRoleMemberGrant":{"type":"object","properties":{"role":{"$ref":"#/components/schemas/CustodyGatewayRole"},"account":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["role","account"],"additionalProperties":false},"CustodyGatewayRoleMembersPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayRoleMember"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayRoleMemberFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"role":{"$ref":"#/components/schemas/CustodyGatewayRole"}},"additionalProperties":false},"CustodyGatewayFundingSourcesPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayFundingSourceEntry"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayFundingSourceEntry":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"addedBy":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["address","addedBy"],"additionalProperties":false},"CustodyGatewayApprovedPayoutsPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayApprovedListEntry"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayApprovedListEntry":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"suspended":{"type":"boolean","description":"Whether the address is suspended, so nothing is paid or credited to it until it is reinstated."}},"required":["address","suspended"],"additionalProperties":false},"CustodyGatewayWhitelistListingsPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayWhitelistListing"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayWhitelistListing":{"type":"object","properties":{"entryId":{"type":"string","description":"The whitelist entry the destination belongs to."},"participantId":{"type":"string","description":"The client participant that proved the destination."},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"state":{"type":"string","enum":["proved","active","revoked"],"description":"The whitelist entry's state."},"provedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the client proved control of the destination, or null when it was never proved."},"source":{"type":"string","enum":["active","suspended","absent"],"description":"The destination's standing on the gateway's approved sources."},"payout":{"type":"string","enum":["active","suspended","absent"],"description":"The destination's standing on the gateway's approved payouts."},"sourceAction":{"type":"string","enum":["add","remove","none"],"description":"`add` when a cleared entry is not yet an approved source, `remove` when a revoked entry is still one, otherwise `none`."},"payoutAction":{"type":"string","enum":["add","none"],"description":"`add` when a proved destination is not yet an approved payout address."}},"required":["entryId","participantId","destination","state","provedAt","source","payout","sourceAction","payoutAction"],"additionalProperties":false},"CustodyGatewayApprovedSourcesPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayApprovedListEntry"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayResolvedSettingsResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayResolvedSettings"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayResolvedSettings":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayResolvedSetting"},"description":"Every setting the add-on knows, in the order it declares them."}},"required":["token","settings"],"additionalProperties":false},"CustodyGatewayResolvedSetting":{"type":"object","properties":{"name":{"$ref":"#/components/schemas/CustodyGatewaySettingName"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The effective value as text, decoded the way the Console writes it, or null when no layer sets the setting."},"source":{"anyOf":[{"$ref":"#/components/schemas/CustodyGatewayResolvedSettingSource"},{"type":"null"}],"description":"The layer the effective value comes from, or null when no layer sets the setting."}},"required":["name","value","source"],"additionalProperties":false},"CustodyGatewayResolvedSettingSource":{"type":"string","enum":["gateway","profile","addon"],"description":"The layer the effective value of a gateway setting comes from."},"CustodyGatewaySettingName":{"type":"string","enum":["coins-go-to","wait-for-custody","receipts-go-to","deposit-fee","withdrawal-fee","gas-ceiling","fee-mode","instant-limit","minimum-withdrawal","daily-maximum","pull-back-after","cancel-after","freeze-expiry","paused-exit-after","custody-answer-time","payout-address-time","auto-claim","screening-mode","screening-answerer","travel-rule-answerer"],"description":"A setting the custody gateway add-on knows."},"CustodyGatewayClientFlagResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayClientFlagState"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayClientFlagState":{"type":"object","properties":{"flagged":{"type":"boolean","description":"Whether a flag stands, so the client cannot request a withdrawal from this gateway."},"flags":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayClientFlag"},"description":"The gateway's client flags, open ones first, then the most recently raised."},"actions":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayFanOutAction"},"description":"What the flags and payout address hits did on this gateway, oldest first: every action still in force, plus the 50 most recent."}},"required":["flagged","flags","actions"],"additionalProperties":false},"CustodyGatewayFanOutAction":{"type":"object","properties":{"triggerId":{"type":"string","description":"The flag that raised the action, or the screening reference of a payout address hit."},"triggerKind":{"type":"string","enum":["claim-revoked","claim-expired","screening-hit"]},"action":{"type":"string","enum":["freeze-withdrawal","freeze-deposit","suspend-payout","suggest-client-freeze"]},"target":{"type":"string","description":"The record the action reaches: a withdrawal or deposit record id, a payout address, or review:client-freeze for the suggested whole-client freeze."},"state":{"type":"string","enum":["pending","sent","done","refused"]},"refusal":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the add-on refused the call, when it did."},"refusalReason":{"anyOf":[{"type":"string","enum":["freeze-is-renewal","call-failed","other"]},{"type":"null"}],"description":"The refusal grouped for display: freeze-is-renewal when the record was frozen before and its freeze needs renewing, call-failed when the call failed on chain or ran out of retries, other for any other add-on refusal; null when nothing was refused."},"callRequestId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The gateway call that sends the action on chain, or null before it is sent."},"screeningReference":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The screening registration whose hit suspended the payout address."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"doneAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the action landed on chain."},"undo":{"anyOf":[{"type":"string","enum":["unfreezing","unfrozen","kept-reported","kept-suspended","closed","refused"]},{"type":"null"}],"description":"How the action ended once the client's flags cleared, or null while they stand."},"undoneAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"freezeEndsAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the add-on's freeze on the withdrawal or deposit ends, or ended, for a freeze action on a record that is still open; null for other actions, a reported record or a record never frozen."},"renewalNeeded":{"type":"boolean","description":"True while a flag stands and the record is open but no longer frozen: its freeze lapsed at freezeEndsAt, or the add-on refused the freeze because the record was frozen before. Gateway managers renew the freeze with a checker."}},"required":["triggerId","triggerKind","action","target","state","refusal","refusalReason","callRequestId","screeningReference","createdAt","doneAt","undo","undoneAt","freezeEndsAt","renewalNeeded"],"additionalProperties":false},"CustodyGatewayClientFlag":{"type":"object","properties":{"triggerId":{"type":"string","description":"What raised the flag: the compliance alert id of a revoked claim, or the identity, topic and expiry of an expired one."},"triggerKind":{"type":"string","enum":["claim-revoked","claim-expired"]},"clientIdentity":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"topicId":{"type":"string","description":"The claim topic that was revoked or expired."},"topicName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The claim topic's name, when it is known."},"providerId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The compliance provider that revoked the claim, or null for an expired claim."},"alertId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The compliance alert that revoked the claim, or null for an expired claim."},"raisedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"clearedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the flag cleared, or null while it stands."},"clearedBy":{"anyOf":[{"type":"string","enum":["claim-issued","claim-renewed","operator"]},{"type":"null"}],"description":"claim-issued when the provider issued the claim again, claim-renewed when the claim was renewed, operator when a screener cleared it."}},"required":["triggerId","triggerKind","clientIdentity","topicId","topicName","providerId","alertId","raisedAt","clearedAt","clearedBy"],"additionalProperties":false},"CustodyGatewayClientFlagTransitionCreate":{"type":"object","properties":{"transition":{"anyOf":[{"type":"string","enum":["clear"]}],"description":"clear lifts the reviewed flags, so once no flag stands the fan-out unfreezes what it froze; suspended payout addresses stay suspended until each is reinstated."},"triggerIds":{"type":"array","prefixItems":[{"type":"string","minLength":1}],"minItems":1,"items":{"type":"string","minLength":1},"maxItems":50,"description":"The open flags the screener reviewed, by triggerId. Only these clear; a flag raised since the screener looked stays open and the response shows it."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition","triggerIds"],"additionalProperties":false},"CustodyGatewayRecordScreeningResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayRecordScreening"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayRecordScreening":{"type":"object","properties":{"answers":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayScreeningAnswer"},"description":"One answer per linked provider the record was screened with."}},"required":["answers"],"additionalProperties":false},"CustodyGatewayScreeningAnswer":{"type":"object","properties":{"provider":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The linked transaction-screening provider that answered."},"reference":{"type":"string","description":"The provider's reference for the screened transaction."},"verdict":{"anyOf":[{"type":"string","enum":["approved","rejected","scored"]},{"type":"null"}],"description":"What the provider answered, or null while it has not answered."},"score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The provider's risk score from 0 to 100, or null while it has not answered."},"registeredAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["provider","reference","verdict","score","registeredAt"],"additionalProperties":false},"CustodyGatewayDepositNoteResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayDepositNote"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayDepositNote":{"type":"object","properties":{"depositId":{"$ref":"#/components/schemas/CustodyGatewayDepositId"},"recordId":{"type":"string"},"reason":{"type":"string","enum":["unclear-screening","screening-hit-lapsed","sender-unconfirmed","custodian-froze","custody-unreadable","custody-timeout","custody-return","superseded-report","report-refused","operator-note","client-flagged"]},"notes":{"type":"string","description":"The deposit's operator thread with the new note appended."},"openedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["depositId","recordId","reason","notes","openedAt"],"additionalProperties":false},"CustodyGatewayDepositNoteCreate":{"type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":4000,"description":"The note to append to the deposit's operator thread. The deposit's on-chain stage is left alone.","examples":["Called the exchange; they confirm the sender."]}},"required":["body"],"additionalProperties":false},"CustodyGatewayReviewQueuePage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayReviewQueueItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayReviewQueueItem":{"type":"object","properties":{"recordId":{"type":"string"},"depositId":{"$ref":"#/components/schemas/CustodyGatewayDepositId"},"kind":{"type":"string","enum":["deposit","reported"]},"reason":{"type":"string","enum":["unclear-screening","screening-hit-lapsed","sender-unconfirmed","custodian-froze","custody-unreadable","custody-timeout","custody-return","superseded-report","report-refused","operator-note","client-flagged"]},"notes":{"type":"string"},"openedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"stage":{"$ref":"#/components/schemas/CustodyGatewayDepositStage"},"sender":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"frozenUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reported":{"type":"boolean"},"pullBackAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the client may pull a quarantined deposit back: the recorded time plus the pull-back limit in force when the deposit was recorded, which is the limit the chain enforces. Null once the stage or the limit leaves no deadline."}},"required":["recordId","depositId","kind","reason","notes","openedAt","stage","sender","frozenUntil","reported","pullBackAt"],"additionalProperties":false},"CustodyGatewayReviewQueueFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"reason":{"anyOf":[{"type":"string","enum":["unclear-screening","screening-hit-lapsed","sender-unconfirmed","custodian-froze","custody-unreadable","custody-timeout","custody-return","superseded-report","report-refused","operator-note","client-flagged"]},{"$ref":"#/components/schemas/CustodyGatewayReviewReasonPredicate"}]},"stage":{"anyOf":[{"$ref":"#/components/schemas/CustodyGatewayDepositStage"},{"$ref":"#/components/schemas/CustodyGatewayReviewStagePredicate"}]},"frozen":{"type":"string","enum":["true","false"]}},"additionalProperties":false},"CustodyGatewayReviewStagePredicate":{"type":"object","properties":{"eq":{"$ref":"#/components/schemas/CustodyGatewayDepositStage"},"ne":{"$ref":"#/components/schemas/CustodyGatewayDepositStage"},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false},"CustodyGatewayReviewReasonPredicate":{"type":"object","properties":{"eq":{"type":"string","enum":["unclear-screening","screening-hit-lapsed","sender-unconfirmed","custodian-froze","custody-unreadable","custody-timeout","custody-return","superseded-report","report-refused","operator-note","client-flagged"]},"ne":{"type":"string","enum":["unclear-screening","screening-hit-lapsed","sender-unconfirmed","custodian-froze","custody-unreadable","custody-timeout","custody-return","superseded-report","report-refused","operator-note","client-flagged"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false},"CustodyGatewayFundingSource":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"source":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["token","source"],"additionalProperties":false},"CustodyGatewayFundingSourceTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["remove"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false,"description":"Removes the wallet from the coin's funding sources on this gateway."},"CustodyGatewayFundingSourceAdd":{"type":"object","properties":{"source":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["source"],"additionalProperties":false},"CustodyGatewayListEntry":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["address"],"additionalProperties":false},"CustodyGatewayApprovedPayoutTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["remove","suspend","reinstate"],"description":"remove takes the address off the list and suspend stops payouts to it, both at once; reinstate lets a suspended address receive payouts again and needs the add-on's checker approval."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false},"CustodyGatewayAddressAdd":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["address"],"additionalProperties":false},"CustodyGatewayApprovedSourceTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["remove"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false,"description":"Removes the address from the gateway's approved sources, at once."},"CustodyGatewayClientWalletWritten":{"type":"object","properties":{"clientWallet":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["clientWallet"],"additionalProperties":false},"CustodyGatewayClientWalletPatch":{"type":"object","properties":{"clientWallet":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["clientWallet"],"additionalProperties":false,"description":"Binds the wallet the gateway's client acts with and receives receipts on."},"CustodyGatewayProfileAssigned":{"type":"object","properties":{"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}},"required":["profileId"],"additionalProperties":false},"CustodyGatewayPatch":{"type":"object","properties":{"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["profileId"],"additionalProperties":false,"description":"Moves the gateway to another profile. The client identity must hold the profile's claim topic."},"CustodyGatewaySettingsWritten":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewaySettingChange"}}},"required":["token","settings"],"additionalProperties":false},"CustodyGatewaySettingChange":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,38}[a-z0-9]$","description":"Setting name, such as `freeze-expiry`. An unknown name is refused with the list of names the add-on knows.","examples":["freeze-expiry"]},"value":{"anyOf":[{"type":"string","minLength":1,"maxLength":128,"description":"Setting value as text: an address, `true` or `false`, a whole number in base units, an enum label, or a fee as `none`, `flat:<amount>` or `bps:<0-10000>`.","examples":["604800"]},{"type":"null"}],"description":"The new value as text, or null to clear the value at this level so the level below applies."}},"required":["key","value"],"additionalProperties":false},"CustodyGatewayScopedSettingsPatch":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewaySettingChange"},"minItems":1,"maxItems":20,"description":"The settings to change, each once, sent as one queued request. A change that loosens a setting needs the add-on's checker approval and answers 422 with the calls to propose."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["token","settings"],"additionalProperties":false},"CustodyGatewayTokenSettingsPatch":{"type":"object","properties":{"settings":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewaySettingChange"},"minItems":1,"maxItems":20,"description":"The settings to change, each once, sent as one queued request. A change that loosens a setting needs the add-on's checker approval and answers 422 with the calls to propose."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["settings"],"additionalProperties":false},"CustodyGatewayCreated":{"type":"object","properties":{"clientIdentity":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"country":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}},"required":["clientIdentity","country","profileId"],"additionalProperties":false},"CustodyGatewayCreate":{"type":"object","properties":{"clientIdentity":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"country":{"type":"integer","minimum":1,"maximum":999,"description":"ISO 3166-1 numeric country code of the client."},"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["clientIdentity","country","profileId"],"additionalProperties":false},"CustodyGatewayProfileRemoved":{"type":"object","properties":{"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"}},"required":["profileId"],"additionalProperties":false},"CustodyGatewayProfileTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["remove"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["transition"],"additionalProperties":false,"description":"Removes a profile no gateway uses."},"CustodyGatewayProfileWritten":{"type":"object","properties":{"name":{"type":"string"},"requiredClaimTopic":{"type":"string"}},"required":["name","requiredClaimTopic"],"additionalProperties":false},"CustodyGatewayProfileCreate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"description":"Profile name, unique among the add-on's profiles."},"requiredClaimTopic":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$","description":"The claim topic, as a decimal string, a client must hold to get a gateway under this profile."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["name","requiredClaimTopic"],"additionalProperties":false},"CustodyGatewayTokenEnabled":{"type":"object","properties":{"underlying":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["underlying","receiptToken"],"additionalProperties":false},"CustodyGatewayTokenEnable":{"type":"object","properties":{"underlying":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"defaults":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewaySettingEntry"},"maxItems":2,"description":"The coin's required per-coin defaults, set as the coin is enabled: freeze-expiry and paused-exit-after, each once. Any other setting is refused here."},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["underlying","receiptToken","defaults"],"additionalProperties":false},"CustodyGatewaySettingEntry":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-z][a-z0-9-]{1,38}[a-z0-9]$","description":"Setting name, such as `freeze-expiry`. An unknown name is refused with the list of names the add-on knows.","examples":["freeze-expiry"]},"value":{"type":"string","minLength":1,"maxLength":128,"description":"Setting value as text: an address, `true` or `false`, a whole number in base units, an enum label, or a fee as `none`, `flat:<amount>` or `bps:<0-10000>`.","examples":["604800"]}},"required":["key","value"],"additionalProperties":false},"CustodyGatewayResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGateway"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGateway":{"type":"object","properties":{"gatewayAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"clientIdentity":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"creator":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"escrow":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"country":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"ISO 3166-1 numeric country code of the client."},"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"},"paused":{"type":"boolean"},"clientWallet":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"defaultPayoutAddress":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"screenerOverride":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the gateway was closed on chain, or null while it is still open."}},"required":["gatewayAddress","clientIdentity","creator","escrow","country","profileId","paused","clientWallet","defaultPayoutAddress","screenerOverride","createdAt","closedAt"],"additionalProperties":false},"CustodyGatewaysPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGateway"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayProfilesPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayProfile"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayProfile":{"type":"object","properties":{"profileId":{"type":"string","pattern":"^(0|[1-9][0-9]{0,77})$"},"name":{"type":"string"},"requiredClaimTopic":{"type":"string","description":"The claim topic, as a decimal string, a client must hold to get a gateway under this profile."}},"required":["profileId","name","requiredClaimTopic"],"additionalProperties":false},"CustodyGatewayEnabledTokensPage":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyGatewayEnabledToken"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyGatewayEnabledToken":{"type":"object","properties":{"underlying":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"treasury":{"anyOf":[{"$ref":"#/components/schemas/CustodyGatewayTreasury"},{"type":"null"}],"description":"Where withdrawals of the coin are paid from, or null while none is linked."}},"required":["underlying","receiptToken","treasury"],"additionalProperties":false},"CustodyGatewayTreasury":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"payoutMode":{"type":"string","enum":["unknown","transfer-from","vault"]}},"required":["address","payoutMode"],"additionalProperties":false},"CustodyGatewayFactoryResource":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CustodyGatewayFactory"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CustodyGatewayFactory":{"type":"object","properties":{"factoryAddress":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"feeAccount":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}],"description":"The account that receives the fees the gateways charge, or null until a gateway manager sets one."},"addonPaused":{"type":"boolean","description":"Whether the whole add-on is paused."},"accessManager":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}],"description":"The add-on access manager that holds the gateway roles and checks the approval counts."}},"required":["factoryAddress","feeAccount","addonPaused","accessManager"],"additionalProperties":false},"ReserveReconciliationReport":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ReserveReconciliationRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"ReserveReconciliationRow":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"receiptToken":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"underlying":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"receiptSupply":{"type":"string","pattern":"^-?\\d+$"},"watchedBalance":{"type":"string","pattern":"^-?\\d+$"},"quarantined":{"type":"string","pattern":"^-?\\d+$"},"held":{"type":"string","pattern":"^-?\\d+$"},"unsupported":{"type":"string","pattern":"^-?\\d+$"},"unallocated":{"type":"string","pattern":"^-?\\d+$"},"inFlight":{"type":"string","pattern":"^-?\\d+$"},"expectedSupply":{"type":"string","pattern":"^-?\\d+$"},"difference":{"type":"string","pattern":"^-?\\d+$"},"differenceSince":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"observedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["chainId","receiptToken","underlying","receiptSupply","watchedBalance","quarantined","held","unsupported","unallocated","inFlight","expectedSupply","difference","differenceSince","observedAt"],"additionalProperties":false},"CustodyWhitelistDecision":{"type":"object","properties":{"decision":{"$ref":"#/components/schemas/CustodyWhitelistReviewOutcome"},"reason":{"type":"string","minLength":1,"maxLength":2000},"expectedRowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["decision","reason","expectedRowVersion"],"additionalProperties":false,"description":"The custody operator's decision on a proved destination, clear or refuse, and why. expectedRowVersion is the version the operator read.","examples":[{"decision":"clear","reason":"Destination verified by the custody desk.","expectedRowVersion":2}]},"CustodyWhitelistReviewOutcome":{"type":"string","enum":["clear","refuse"],"description":"clear activates the proved destination for withdrawals. refuse permanently refuses it. Both are final for the row version the request names."},"CustodyWhitelistProof":{"type":"object","properties":{"signature":{"$ref":"#/components/schemas/EthereumHexBytesEncoded"}},"required":["signature"],"additionalProperties":false,"description":"The destination EOA's EIP-191 signature over the message the proposal returned. The server reads the issued challenge for the entry named in the path."},"CustodyWhitelistProposalResult":{"type":"object","properties":{"entry":{"anyOf":[{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"state":{"type":"string","enum":["proposed"]},"proofDigest":{"type":"null"},"provedAt":{"type":"null"},"provedBy":{"type":"null"},"provedImpersonatedBy":{"type":"null"},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["proved"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["active"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["refused"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"state":{"type":"string","enum":["revoked"]},"proofDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"provedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000},{"type":"null"}]},"reviewedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"accountableUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"revokedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","reason","reviewedBy","accountableUserId","reviewedAt","revokedAt"],"additionalProperties":false}]},"challenge":{"type":"object","properties":{"entryId":{"type":"string","minLength":1},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"nonce":{"type":"string","minLength":1},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"usedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["entryId","organizationId","participantId","chainId","destination","participantResetEpoch","nonce","expiresAt","proofDigest","createdAt","usedAt"],"additionalProperties":false},"message":{"type":"string","minLength":1}},"required":["entry","challenge","message"],"additionalProperties":false},"CustodyWhitelistProposal":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"}},"required":["chainId","destination"],"additionalProperties":false},"CustodyWhitelistPage":{"type":"object","properties":{"data":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"state":{"type":"string","enum":["proposed"]},"proofDigest":{"type":"null"},"provedAt":{"type":"null"},"provedBy":{"type":"null"},"provedImpersonatedBy":{"type":"null"},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"null"},"reviewedBy":{"type":"null"},"accountableUserId":{"type":"null"},"reviewedAt":{"type":"null"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["proved"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["active"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"reason":{"type":"string","minLength":1,"maxLength":2000},"reviewedBy":{"$ref":"#/components/schemas/UserId"},"accountableUserId":{"$ref":"#/components/schemas/UserId"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"proofDigest":{"$ref":"#/components/schemas/EthereumHashEncoded"},"provedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["refused"]},"revokedAt":{"type":"null"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","reason","reviewedBy","accountableUserId","reviewedAt","proofDigest","provedAt","provedBy","provedImpersonatedBy","state","revokedAt"],"additionalProperties":false},{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"entryId":{"type":"string","minLength":1},"chainId":{"$ref":"#/components/schemas/PersistableChainIdEncoded_1"},"destination":{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},"participantResetEpoch":{"type":"integer","minimum":0,"maximum":9007199254740991},"registryWalletId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"registryProviderConfigurationId":{"anyOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"participantName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Name of the customer: the participant's own name, else, from this organisation, the organisation's name or the member's name or email address. `null` when none is recorded or the row names no participant; show `participantId` instead. Lists served to an operator carry it; other responses leave it out."},"state":{"type":"string","enum":["revoked"]},"proofDigest":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"provedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"provedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"provedImpersonatedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000},{"type":"null"}]},"reviewedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"accountableUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"revokedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["organizationId","participantId","entryId","chainId","destination","participantResetEpoch","registryWalletId","registryProviderConfigurationId","createdAt","updatedAt","rowVersion","state","proofDigest","provedAt","provedBy","provedImpersonatedBy","reason","reviewedBy","accountableUserId","reviewedAt","revokedAt"],"additionalProperties":false}]}},"meta":{"$ref":"#/components/schemas/CustodyPositionsMeta"},"links":{"$ref":"#/components/schemas/CustodyPositionsLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyPositionsLinks":{"type":"object","properties":{"self":{"type":"string"},"first":{"type":"string"},"prev":{"anyOf":[{"type":"string"},{"type":"null"}]},"next":{"anyOf":[{"type":"string"},{"type":"null"}]},"last":{"type":"string"}},"required":["self","first","prev","next","last"],"additionalProperties":false},"CustodyPositionsMeta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CustodyPositionsFacet"}}}},"required":["total","facets"],"additionalProperties":false},"CustodyPositionsFacet":{"type":"object","properties":{"value":{"type":"string"},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["value","count"],"additionalProperties":false},"CustodyOpsReconciliationBreakAction":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"walletId":{"type":"string","minLength":1},"assetKey":{"type":"string","minLength":1},"tradeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"previousBreakId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"amount":{"anyOf":[{"type":"string"},{"type":"null"}]},"firstSeenRunId":{"type":"string","minLength":1},"firstSeenDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"lastSeenRunId":{"type":"string","minLength":1},"lastSeenDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cause":{"type":"string","enum":["timing","missing-leg","ledger-error","chain-error","external","other"]},"ownerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"status":{"type":"string","enum":["open","investigating","resolved","resolved-auto","written-off"]},"resolutionNote":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"ageBusinessDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"resolutionMakerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"resolutionCheckerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"resolutionApprovalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol of the token this asset key names, or `null` when no durable source (a registered external token, dismissed or not, or a configured deposit asset) knows it."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the token this asset key names, or `null` when no durable source knows it."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Decimals of the token this asset key names, or `null` when no durable source knows them. A `null` is never a guessed value: do not scale an amount in base units without it."}},"required":["id","organizationId","walletId","assetKey","tradeId","previousBreakId","amount","firstSeenRunId","firstSeenDate","lastSeenRunId","lastSeenDate","cause","ownerUserId","status","resolutionNote","ageBusinessDays","resolvedAt","resolutionMakerUserId","resolutionCheckerUserId","resolutionApprovalId","createdAt","updatedAt","symbol","name","decimals"],"additionalProperties":false},"resolution":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"breakId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"approvalRequestId":{"type":"string","minLength":1},"targetStatus":{"type":"string","enum":["resolved","written-off"]},"resolutionNote":{"type":"string","minLength":1},"makerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","rejected","applied"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","breakId","approvalRequestId","targetStatus","resolutionNote","makerUserId","checkerUserId","state","createdAt","updatedAt"],"additionalProperties":false},{"type":"null"}]}},"required":["data","resolution"],"additionalProperties":false},"CustodyOpsReconciliationBreakTransitionCreate":{"type":"object","properties":{"transition":{"type":"string","enum":["open","investigating","resolved","written-off"]},"note":{"type":"string","minLength":1},"approvalRequestId":{"type":"string","minLength":1}},"required":["transition","note"],"additionalProperties":false},"CustodyOpsReconciliationBreakList":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"walletId":{"type":"string","minLength":1},"assetKey":{"type":"string","minLength":1},"tradeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"previousBreakId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}]},"amount":{"anyOf":[{"type":"string"},{"type":"null"}]},"firstSeenRunId":{"type":"string","minLength":1},"firstSeenDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"lastSeenRunId":{"type":"string","minLength":1},"lastSeenDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"cause":{"type":"string","enum":["timing","missing-leg","ledger-error","chain-error","external","other"]},"ownerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"status":{"type":"string","enum":["open","investigating","resolved","resolved-auto","written-off"]},"resolutionNote":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"ageBusinessDays":{"type":"integer","minimum":0,"maximum":9007199254740991},"resolvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"resolutionMakerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"resolutionCheckerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"resolutionApprovalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"pendingResolution":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"breakId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"approvalRequestId":{"type":"string","minLength":1},"targetStatus":{"type":"string","enum":["resolved","written-off"]},"resolutionNote":{"type":"string","minLength":1},"makerUserId":{"$ref":"#/components/schemas/UserId"},"checkerUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"state":{"type":"string","enum":["pending","approved","rejected","applied"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","breakId","approvalRequestId","targetStatus","resolutionNote","makerUserId","checkerUserId","state","createdAt","updatedAt"],"additionalProperties":false},{"type":"null"}]},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Symbol of the token this asset key names, or `null` when no durable source (a registered external token, dismissed or not, or a configured deposit asset) knows it."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Name of the token this asset key names, or `null` when no durable source knows it."},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Decimals of the token this asset key names, or `null` when no durable source knows them. A `null` is never a guessed value: do not scale an amount in base units without it."}},"required":["id","organizationId","walletId","assetKey","tradeId","previousBreakId","amount","firstSeenRunId","firstSeenDate","lastSeenRunId","lastSeenDate","cause","ownerUserId","status","resolutionNote","ageBusinessDays","resolvedAt","resolutionMakerUserId","resolutionCheckerUserId","resolutionApprovalId","createdAt","updatedAt","pendingResolution","symbol","name","decimals"],"additionalProperties":false}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"CustodyOpsReconciliationBreakFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"type":"string","enum":["open","investigating","resolved","resolved-auto","written-off"]},"cause":{"type":"string","enum":["timing","missing-leg","ledger-error","chain-error","external","other"]},"ownerUserId":{"$ref":"#/components/schemas/UserId"},"walletId":{"type":"string","minLength":1},"assetKey":{"type":"string","minLength":1},"tradeId":{"type":"string","minLength":1}},"additionalProperties":false},"PrimaryCustodyAccountInput":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"}},"required":["custodyAccountId"],"additionalProperties":false,"description":"The custody account to make primary. Primary is held per participant, ledger and network, so the account replaces the current primary for its own ledger and network. `participantId` names the participant whose wallets are on screen."},"ProviderBalancesResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProviderBalances"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"ProviderBalances":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["available"]},"observedAt":{"type":"string"},"balances":{"type":"array","items":{"$ref":"#/components/schemas/ProviderBalance"}},"omitted":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many rows were dropped because the provider gave no usable decimals or amount for the asset."}},"required":["status","observedAt","balances","omitted"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unavailable"]},"reason":{"type":"string","enum":["provider-unreachable","provider-refused","credential-invalid","provider-quarantined","timed-out","account-not-ready"]}},"required":["status","reason"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["unsupported"]},"reason":{"type":"string","enum":["provider-has-no-asset-list","self-custody","ledger-not-evm","adapter-not-implemented"]}},"required":["status","reason"],"additionalProperties":false}],"description":"What the custody provider holds for a custody account, or why that cannot be read now."},"ProviderBalance":{"type":"object","properties":{"assetKey":{"type":"string","description":"The provider's own identifier for the asset."},"kind":{"type":"string","enum":["native","token","other"],"description":"Whether the asset is the chain's native coin, a token, or something else such as a non-EVM asset."},"symbol":{"anyOf":[{"type":"string"},{"type":"null"}]},"decimals":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"contractAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The token contract address for display. Null when the provider gives none or it does not parse."},"total":{"$ref":"#/components/schemas/ProviderBalanceAmount"},"available":{"$ref":"#/components/schemas/ProviderBalanceAmount"},"onHold":{"allOf":[{"$ref":"#/components/schemas/ProviderBalanceAmount"},{"description":"The part of the total that the provider does not let DALP spend now."}]}},"required":["assetKey","kind","symbol","decimals","contractAddress","total","available","onHold"],"additionalProperties":false},"ProviderBalanceAmount":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A decimal amount in whole-token display units, as a string. It can be negative because a provider can report a negative total."},"ParticipantCustodyAccountListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CustodyAccount"}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"CustodyAccount":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationContextId":{"$ref":"#/components/schemas/CustodyAccountOrganizationContextId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"locator":{"type":"string","minLength":1},"accountLifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"contextLifecycle":{"type":"string","enum":["active","archived"]},"eligibility":{"type":"string","enum":["eligible","ineligible"]},"eligibilityReason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}]},"isPrimary":{"type":"boolean"},"providerConfigurationId":{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"],"description":"The provider the account's configuration names itself as: its `provider`, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven."},"clientConfiguration":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["privy"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"type":"string","minLength":1}},"required":["kind","tenant","appId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["injected-browser"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["dynamic"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["kind","tenant","environmentId"],"additionalProperties":false},{"type":"null"}]},"capabilities":{"type":"object","properties":{"accountCreation":{"type":"string","enum":["create","link"]},"accountProof":{"type":"string","enum":["provider-attestation","interactive-address"]},"managedSigning":{"type":"boolean"},"externalSigning":{"type":"boolean"},"accountAbstraction":{"type":"boolean"},"ledgerNetworks":{"type":"array","items":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"networks":{"type":"array","items":{"type":"string","minLength":1}}},"required":["ledger","networks"],"additionalProperties":false}}},"required":["accountCreation","accountProof","managedSigning","externalSigning","accountAbstraction","ledgerNetworks"],"additionalProperties":false},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"signingAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"ownerWalletId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]},"smartWalletId":{"anyOf":[{"$ref":"#/components/schemas/WalletId"},{"type":"null"}]},"smartWalletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"cantonPartyId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["custodyAccountId","organizationContextId","participantId","organizationId","ledger","network","locator","accountLifecycle","contextLifecycle","eligibility","eligibilityReason","isPrimary","providerConfigurationId","provider","providerIdentity","clientConfiguration","capabilities","executionHealth","signingAddress","ownerWalletId","smartWalletId","smartWalletAddress","cantonPartyId","createdAt","updatedAt"],"additionalProperties":false},"ParticipantWalletRemovalResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"walletId":{"$ref":"#/components/schemas/WalletId"},"unregistered":{"type":"array","items":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"route":{"type":"string","enum":["wallet","organization"]}},"required":["organizationId","chainId","route"],"additionalProperties":false}}},"required":["walletId","unregistered"],"additionalProperties":false},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"ParticipantWalletRemovalInput":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false},"ParticipantWalletListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ParticipantWallet"}},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"ParticipantWallet":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/WalletId"},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"walletType":{"type":"string","enum":["eoa","smart","canton"]},"walletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"cantonPartyId":{"anyOf":[{"type":"string"},{"type":"null"}]},"cantonNetworkId":{"anyOf":[{"type":"string"},{"type":"null"}]},"chainId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"boundChains":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"kind":{"type":"string","enum":["multisig","single-key","signing-key"],"description":"multisig: a smart wallet with a signer threshold; single-key: any other smart wallet; signing-key: a single externally owned key or Canton party that signs for itself."},"threshold":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The signer weight a transaction must reach (clamped to the 32-bit range); null unless the wallet is a multisig."},"signerCount":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"Current signer seats; null unless the wallet is a multisig."},"modules":{"type":"array","items":{"$ref":"#/components/schemas/WalletModule"},"description":"Validator modules installed on the smart wallet."},"custody":{"type":"array","items":{"$ref":"#/components/schemas/WalletCustodyAccount"}},"signsFor":{"type":"array","items":{"type":"object","properties":{"walletId":{"$ref":"#/components/schemas/WalletId"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"label":{"anyOf":[{"type":"string"},{"type":"null"}]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["walletId","walletAddress","label","chainId"],"additionalProperties":false}},"organizations":{"type":"array","items":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"organizationName":{"type":"string"},"chainId":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"eligible":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/WalletIneligibilityReason"},{"type":"null"}]}},"required":["organizationId","organizationName","chainId","eligible","reason"],"additionalProperties":false}},"holdsBalance":{"type":"boolean"}},"required":["id","participantId","walletType","walletAddress","cantonPartyId","cantonNetworkId","chainId","label","boundChains","kind","threshold","signerCount","modules","custody","signsFor","organizations","holdsBalance"],"additionalProperties":false},"WalletCustodyAccount":{"type":"object","properties":{"custodyAccountId":{"$ref":"#/components/schemas/CustodyAccountId"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1},"accountLifecycle":{"type":"string","enum":["pending","active","unavailable","revoked","archived"]},"contextLifecycle":{"type":"string","enum":["active","archived"]},"eligibility":{"type":"string","enum":["eligible","ineligible"]},"isPrimary":{"type":"boolean","description":"True when this account is the primary key of the participant whose wallets are listed, on its ledger and network in its organization; false for another signer's key on a multisig wallet, even when it is that signer's own primary."},"provider":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic"]},"providerIdentity":{"type":"string","enum":["local","dfns","fireblocks","luna","ripple","utila","anvil","privy","injected-browser","dynamic","ibm-haven"],"description":"The provider the account's configuration names itself as: its `provider`, or `ibm-haven` for a `dfns` configuration added as IBM Digital Asset Haven."},"executionHealth":{"type":"string","enum":["healthy","unhealthy","quarantined"]},"smartWalletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"kind":{"type":"string","enum":["managed","external"]},"controllerWalletAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The address of the key that reaches this wallet as a signer of the smart wallet it controls; null when the account is the wallet's own key."}},"required":["custodyAccountId","organizationId","ledger","network","accountLifecycle","contextLifecycle","eligibility","isPrimary","provider","providerIdentity","executionHealth","smartWalletAddress","kind","controllerWalletAddress"],"additionalProperties":false,"description":"One custody account and organization context that signs for the wallet."},"WalletModule":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["address"],"additionalProperties":false,"description":"One validator module installed on a smart wallet."},"CustodyProviderProvenance":{"anyOf":[{"$ref":"#/components/schemas/ManagedCustodyProviderProvenance"},{"$ref":"#/components/schemas/PrivyCustodyProviderProvenance"},{"$ref":"#/components/schemas/InjectedBrowserCustodyProviderProvenance"},{"$ref":"#/components/schemas/DynamicCustodyProviderProvenance"}],"discriminator":{"propertyName":"_tag","mapping":{"ManagedProviderProvenance":"#/components/schemas/ManagedCustodyProviderProvenance","PrivyProviderProvenance":"#/components/schemas/PrivyCustodyProviderProvenance","InjectedBrowserProviderProvenance":"#/components/schemas/InjectedBrowserCustodyProviderProvenance","DynamicProviderProvenance":"#/components/schemas/DynamicCustodyProviderProvenance"}}},"DynamicCustodyProviderProvenance":{"type":"object","properties":{"_tag":{"type":"string","enum":["DynamicProviderProvenance"]},"kind":{"type":"string","enum":["external"]},"provider":{"type":"string","enum":["dynamic"]},"connector":{"type":"string","enum":["dynamic-v1"]},"tenant":{"type":"string","enum":["platform","organization"]},"environmentId":{"type":"string","minLength":1}},"required":["_tag","kind","provider","connector","tenant","environmentId"],"additionalProperties":false},"InjectedBrowserCustodyProviderProvenance":{"type":"object","properties":{"_tag":{"type":"string","enum":["InjectedBrowserProviderProvenance"]},"kind":{"type":"string","enum":["external"]},"provider":{"type":"string","enum":["injected-browser"]},"connector":{"type":"string","enum":["eip6963-eip1193"]}},"required":["_tag","kind","provider","connector"],"additionalProperties":false},"PrivyCustodyProviderProvenance":{"type":"object","properties":{"_tag":{"type":"string","enum":["PrivyProviderProvenance"]},"kind":{"type":"string","enum":["external"]},"provider":{"type":"string","enum":["privy"]},"connector":{"type":"string","enum":["privy-v3"]},"tenant":{"type":"string","enum":["platform","organization"]},"appId":{"type":"string","minLength":1},"clientId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["_tag","kind","provider","connector","tenant","appId"],"additionalProperties":false},"ManagedCustodyProviderProvenance":{"type":"object","properties":{"_tag":{"type":"string","enum":["ManagedProviderProvenance"]},"kind":{"type":"string","enum":["managed"]},"provider":{"$ref":"#/components/schemas/ManagedCustodyProviderKind"},"credentialSource":{"$ref":"#/components/schemas/CustodyProviderCredentialSource"},"credentialVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"metadata":{"$ref":"#/components/schemas/OrganizationCustodyMetadata"}},"required":["_tag","kind","provider","credentialSource","credentialVersion","metadata"],"additionalProperties":false},"OrganizationCustodyMetadata":{"type":"object","properties":{"workspaceId":{"type":"string"},"vaultId":{"type":"string"},"baseUrl":{"type":"string"},"authUrl":{"type":"string"},"targetDomainId":{"type":"string"},"ledgerId":{"type":"string"},"keyStrategy":{"type":"string","enum":["VaultHard","VaultSoft","Random"]},"defaultAssetId":{"type":"string"},"defaultNetwork":{"type":"string"},"networkBindings":{"type":"array","items":{"type":"object","properties":{"chainId":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"network":{"type":"string","minLength":1}},"required":["chainId","network"],"additionalProperties":false}},"accountIdentifiers":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},"CustodyProviderCredentialSource":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["PlatformCredentialSource"]},"source":{"type":"string","enum":["platform"]},"reference":{"type":"string","minLength":1}},"required":["_tag","source","reference"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["OrganizationCredentialSource"]},"source":{"type":"string","enum":["organization"]},"reference":{"type":"string","minLength":1}},"required":["_tag","source","reference"],"additionalProperties":false}]},"ProviderConfigurationTransition":{"type":"object","properties":{"to":{"type":"string","enum":["quarantined","healthy"]},"reason":{"type":"string","minLength":1}},"required":["to","reason"],"additionalProperties":false,"description":"Moves the configuration's execution health. `quarantined` takes it out of service with a reason; `healthy` recovers it and requires a fresh successful probe."},"ProviderConfigurationUpdate":{"anyOf":[{"type":"object","properties":{"additionalNetwork":{"not":{}},"enabledForCreation":{"type":"boolean"},"offeredToInvestors":{"not":{}},"investorProvider":{"not":{}},"exclusiveToOrganization":{"not":{}},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["enabledForCreation"],"additionalProperties":false},{"type":"object","properties":{"additionalNetwork":{"not":{}},"offeredToInvestors":{"type":"boolean"},"enabledForCreation":{"not":{}},"investorProvider":{"not":{}},"exclusiveToOrganization":{"not":{}},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["offeredToInvestors"],"additionalProperties":false},{"type":"object","properties":{"additionalNetwork":{"not":{}},"investorProvider":{"type":"boolean","enum":[true]},"enabledForCreation":{"not":{}},"offeredToInvestors":{"not":{}},"exclusiveToOrganization":{"not":{}},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["investorProvider"],"additionalProperties":false},{"type":"object","properties":{"additionalNetwork":{"type":"object","properties":{"ledger":{"type":"string","enum":["evm","canton"]},"network":{"type":"string","minLength":1}},"required":["ledger","network"],"additionalProperties":false},"enabledForCreation":{"not":{}},"offeredToInvestors":{"not":{}},"investorProvider":{"not":{}},"exclusiveToOrganization":{"not":{}},"reason":{"$ref":"#/components/schemas/ChangeReasonEncoded"}},"required":["additionalNetwork"],"additionalProperties":false}],"description":"Changes one setting per request: `enabledForCreation`, `offeredToInvestors`, `investorProvider: true`, or `additionalNetwork: { ledger, network }` to extend coverage without removing existing networks. A body naming more than one, or none, is refused."},"WalletCheckerPolicy":{"type":"object","properties":{"walletId":{"type":"string"},"checkerUserId":{"anyOf":[{"type":"string"},{"type":"null"}]},"checkerEmail":{"anyOf":[{"type":"string"},{"type":"null"}]},"checkerLeftOrganization":{"type":"boolean","description":"True when the named checker is no longer a member of this organization. The wallet then refuses every transaction until its owner removes the checker or names a new one."},"eligible":{"type":"boolean"},"reason":{"anyOf":[{"$ref":"#/components/schemas/WalletCheckerIneligibleReason"},{"type":"null"}]},"providerOwnsSignOff":{"type":"boolean"}},"required":["walletId","checkerUserId","checkerEmail","checkerLeftOrganization","eligible","reason","providerOwnsSignOff"],"additionalProperties":false},"WalletCheckerIneligibleReason":{"type":"string","enum":["browser-wallet","multisig","signer-wallet","canton"]},"CustodySignerEvent":{"type":"object","properties":{"id":{"type":"string","minLength":1},"kind":{"type":"string","enum":["account-initialized","module-installed","module-uninstalled","signer-added","signer-removed","signer-weight-changed","threshold-changed","owner-changed","guardians-set","recovery-threshold-changed","recovery-delay-changed","recovery-approved","recovery-initiated","recovery-cancelled","recovery-executed"]},"timestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"actor":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"approvalId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"chainId":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"blockNumber":{"type":"string","minLength":1},"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"validatorAddress":{"$ref":"#/components/schemas/EvmAddress"},"moduleTypeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"signer":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"signerHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}]},"weight":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"threshold":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"previousThreshold":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"previousOwnerAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"newOwnerAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"guardianAddress":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}]},"nonce":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"readyAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"delaySeconds":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"guardians":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},{"type":"null"}]},"guardianWeights":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},{"type":"null"}]}},"required":["id","kind","timestamp","actor","approvalId","chainId","blockNumber","transactionHash","logIndex","validatorAddress","moduleTypeId","signer","signerHash","weight","threshold","previousThreshold","previousOwnerAddress","newOwnerAddress","guardianAddress","nonce","readyAt","delaySeconds","guardians","guardianWeights"],"additionalProperties":false},"CustodySmartWalletCreateAccepted":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"state":{"type":"string","enum":["running"]},"statusUrl":{"type":"string","minLength":1}},"required":["requestId","state","statusUrl"],"additionalProperties":false,"description":"The smart wallet is still being created. Read `statusUrl`, also sent as `Location`, until it answers the created smart wallet or a refusal. Do not send the create again with another configuration."},"CantonEd25519SignatureHex":{"type":"string","allOf":[{"minLength":128},{"maxLength":128}]},"CompliancePolicyDryRunSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/CompliancePolicyDryRun"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"CompliancePolicyDryRun":{"type":"object","properties":{"checked":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many holders, largest balance first, were checked (at most 50)."},"holders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many holders the asset has."},"rules":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyDryRunRuleResult"},"description":"One result per requested rule, in order."}},"required":["checked","holders","rules"],"additionalProperties":false,"description":"The rules checked against the current holder register before anything changes. Nothing is written."},"CompliancePolicyDryRunRuleResult":{"anyOf":[{"type":"object","properties":{"check":{"type":"string","enum":["holders"]},"failing":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyDryRunFailure"}}},"required":["check","failing"],"additionalProperties":false},{"type":"object","properties":{"check":{"type":"string","enum":["holder-count"]},"holders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"exceeds":{"type":"boolean"}},"required":["check","holders","exceeds"],"additionalProperties":false},{"type":"object","properties":{"check":{"type":"string","enum":["supply"]},"supply":{"type":"string","description":"The circulating supply in the asset's base units."},"exceeds":{"type":"boolean"}},"required":["check","supply","exceeds"],"additionalProperties":false},{"type":"object","properties":{"check":{"type":"string","enum":["future-transfers"]}},"required":["check"],"additionalProperties":false}],"description":"What one rule would do today: `holders` lists the checked holders it would refuse; `holder-count` compares the holder count with the limit; `supply` compares the supply with the cap; `future-transfers` only restricts transfers from now on and refuses no current holder."},"CompliancePolicyDryRunFailure":{"type":"object","properties":{"wallet":{"$ref":"#/components/schemas/EvmAddress"},"reason":{"$ref":"#/components/schemas/CompliancePolicyDryRunReason"},"topic":{"anyOf":[{"$ref":"#/components/schemas/CompliancePolicyTopic"},{"type":"null"}],"description":"The claim topic at fault, for a claim reason."},"countryCode":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The holder's registered ISO 3166-1 numeric country, for a country reason."}},"required":["wallet","reason","topic","countryCode"],"additionalProperties":false},"CompliancePolicyTopic":{"type":"string","enum":["knowYourCustomer","antiMoneyLaundering","knowYourBusiness","professionalInvestor","qualifiedInstitutionalInvestor","accreditedInvestor"],"description":"A claim topic a policy can require of every holder."},"CompliancePolicyDryRunReason":{"type":"string","enum":["identity-not-registered","country-not-allowed","country-blocked","claim-missing","claim-revoked","claim-expired","below-minimum"],"description":"Why a current holder would fail a rule: no registered identity, a country outside the allow-list or on the block-list, a required claim missing, revoked or expired, or a balance below the minimum holding."},"CompliancePolicyDryRunRequest":{"type":"object","properties":{"rules":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyRule_1"},"minItems":1,"maxItems":12}},"required":["rules"],"additionalProperties":false},"CompliancePolicyRule_1":{"anyOf":[{"type":"object","properties":{"typeId":{"type":"string","enum":["country-allow-list-v2"]},"countries":{"type":"array","items":{"type":"integer","minimum":1,"maximum":999,"description":"An ISO 3166-1 numeric country code."},"minItems":1,"maxItems":250}},"required":["typeId","countries"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["country-block-list-v2"]},"countries":{"type":"array","items":{"type":"integer","minimum":1,"maximum":999,"description":"An ISO 3166-1 numeric country code."},"minItems":1,"maxItems":250}},"required":["typeId","countries"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["identity-verification-v2"]},"topics":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyTopic"},"minItems":1,"maxItems":6},"join":{"type":"string","enum":["and","or"]}},"required":["typeId","topics","join"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["identity-count"]},"maxHolders":{"type":"integer","minimum":1,"maximum":1000000}},"required":["typeId","maxHolders"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["minimum-holding"]},"amount":{"type":"string","pattern":"^[1-9]\\d{0,29}$","description":"A whole number of the asset's units, written in decimal digits, before the asset's decimals."}},"required":["typeId","amount"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["capped-v2"]},"amount":{"type":"string","pattern":"^[1-9]\\d{0,29}$","description":"A whole number of the asset's units, written in decimal digits, before the asset's decimals."}},"required":["typeId","amount"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["time-lock-v2"]},"holdDays":{"type":"integer","minimum":1,"maximum":3650}},"required":["typeId","holdDays"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["lock-up"]},"unlockDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"A calendar day, YYYY-MM-DD."}},"required":["typeId","unlockDate"],"additionalProperties":false}],"description":"One rule of the fixed compliance-module catalog with the values read from a written policy. A hold period is in days (a week is 7, a month 30, a year 365); a lock-up date is the first UTC day transfers are allowed again."},"TokenCompliancePolicySingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TokenCompliancePolicy"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"TokenCompliancePolicy":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000,"description":"The policy as the compliance officer wrote it, 1 to 2,000 characters."},"locale":{"type":"string","minLength":1,"maxLength":35,"description":"The BCP 47 tag of the language the policy is written in, such as de-DE."},"links":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyRuleLink"},"maxItems":12},"updatedAt":{"type":"string"}},"required":["text","locale","links","updatedAt"],"additionalProperties":false,"description":"The written policy kept with the asset and the rules opened from it, as provenance."},"CompliancePolicyRuleLink":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":2000,"description":"Offset of the first character of the words the rule came from."},"end":{"type":"integer","minimum":0,"maximum":2000,"description":"Offset after the last character of those words."},"rule":{"$ref":"#/components/schemas/CompliancePolicyRule_1"}},"required":["start","end","rule"],"additionalProperties":false,"description":"A rule the officer opened from the policy, linked to the words of the policy it came from."},"TokenCompliancePolicyWrite":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000,"description":"The policy as the compliance officer wrote it, 1 to 2,000 characters."},"locale":{"type":"string","minLength":1,"maxLength":35,"description":"The BCP 47 tag of the language the policy is written in, such as de-DE."},"links":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyRuleLink_1"},"maxItems":12}},"required":["text","locale","links"],"additionalProperties":false,"description":"The written policy to keep with the asset, replacing the one kept before. Every link must point inside the text."},"CompliancePolicyRuleLink_1":{"type":"object","properties":{"start":{"type":"integer","minimum":0,"maximum":2000,"description":"Offset of the first character of the words the rule came from."},"end":{"type":"integer","minimum":0,"maximum":2000,"description":"Offset after the last character of those words."},"rule":{"$ref":"#/components/schemas/CompliancePolicyRule_2"}},"required":["start","end","rule"],"additionalProperties":false,"description":"A rule the officer opened from the policy, linked to the words of the policy it came from."},"CompliancePolicyRule_2":{"anyOf":[{"type":"object","properties":{"typeId":{"type":"string","enum":["country-allow-list-v2"]},"countries":{"type":"array","items":{"type":"integer","minimum":1,"maximum":999,"description":"An ISO 3166-1 numeric country code."},"minItems":1,"maxItems":250}},"required":["typeId","countries"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["country-block-list-v2"]},"countries":{"type":"array","items":{"type":"integer","minimum":1,"maximum":999,"description":"An ISO 3166-1 numeric country code."},"minItems":1,"maxItems":250}},"required":["typeId","countries"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["identity-verification-v2"]},"topics":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyTopic"},"minItems":1,"maxItems":6},"join":{"type":"string","enum":["and","or"]}},"required":["typeId","topics","join"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["identity-count"]},"maxHolders":{"type":"integer","minimum":1,"maximum":1000000}},"required":["typeId","maxHolders"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["minimum-holding"]},"amount":{"type":"string","pattern":"^[1-9]\\d{0,29}$","description":"A whole number of the asset's units, written in decimal digits, before the asset's decimals."}},"required":["typeId","amount"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["capped-v2"]},"amount":{"type":"string","pattern":"^[1-9]\\d{0,29}$","description":"A whole number of the asset's units, written in decimal digits, before the asset's decimals."}},"required":["typeId","amount"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["time-lock-v2"]},"holdDays":{"type":"integer","minimum":1,"maximum":3650}},"required":["typeId","holdDays"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["lock-up"]},"unlockDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"A calendar day, YYYY-MM-DD."}},"required":["typeId","unlockDate"],"additionalProperties":false}],"description":"One rule of the fixed compliance-module catalog with the values read from a written policy. A hold period is in days (a week is 7, a month 30, a year 365); a lock-up date is the first UTC day transfers are allowed again."},"TokenCompliancePolicyRead":{"type":"object","properties":{"data":{"anyOf":[{"$ref":"#/components/schemas/TokenCompliancePolicy"},{"type":"null"}]},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"ComplianceExpressionWritten":{"type":"object","properties":{"txHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"additionalProperties":false},"TokenComplianceExpressionReplaceBody":{"type":"object","properties":{"expression":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"number","enum":[0,1,2,3]},"value":{"anyOf":[{"type":"string","pattern":"^\\s*-?\\d+\\s*$"},{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}]}},"required":["nodeType","value"],"additionalProperties":false}},"unnarrowedContractBranch":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["expression"],"additionalProperties":false},"ComplianceExpressionReadback":{"type":"object","properties":{"expression":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false},"maxItems":32}},"required":["expression"],"additionalProperties":false},"ComplianceSubjectTransaction":{"type":"object","properties":{"kytDataTxnId":{"type":"string","minLength":1},"kytTxnId":{"type":"string","minLength":1},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"riskScore":{"type":"integer","minimum":0,"maximum":100}},"required":["kytDataTxnId","kytTxnId"],"additionalProperties":false},"ComplianceSubjectTransactionBody":{"type":"object","properties":{"providerId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"kytDataTxnId":{"type":"string","minLength":1},"txn":{"type":"object","properties":{"applicantId":{"type":"string","minLength":1},"info":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"}},"allOf":[{"type":"object","additionalProperties":{}}]},"counterparty":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"}},"allOf":[{"type":"object","additionalProperties":{}}]}},"allOf":[{"type":"object","additionalProperties":{}}]}},"required":["providerId","topicName","kytDataTxnId","txn"],"additionalProperties":false},"ComplianceSubjectWallet":{"type":"object","properties":{"externalId":{"type":"string","minLength":1},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["externalId"],"additionalProperties":false},"ComplianceSubjectWalletBody":{"type":"object","properties":{"providerId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"subjectHints":{"$ref":"#/components/schemas/ComplianceSubjectHints"}},"required":["providerId","topicName"],"additionalProperties":false},"ComplianceSubjectHints":{"type":"object","properties":{"searchTerm":{"type":"string","minLength":1},"clientRef":{"type":"string","minLength":1},"entityType":{"type":"string","enum":["person","company"]},"types":{"type":"array","items":{"type":"string","minLength":1}}},"required":["searchTerm"],"additionalProperties":false},"ComplianceSubjectSdkAccessToken":{"type":"object","properties":{"token":{"type":"string","minLength":1},"expiresAt":{"type":"string"},"levelName":{"type":"string","minLength":1}},"required":["token","expiresAt","levelName"],"additionalProperties":false},"ComplianceSubjectSdkAccessTokenBody":{"type":"object","properties":{"providerId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"}},"required":["topicName"],"additionalProperties":false},"ComplianceSubjectApplicant":{"type":"object","properties":{"externalId":{"type":"string","minLength":1},"redirectUrl":{"type":"string"}},"required":["externalId"],"additionalProperties":false},"ComplianceSubjectApplicantBody":{"type":"object","properties":{"providerId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"identityAddress":{"$ref":"#/components/schemas/EvmAddress"},"applicantHints":{"type":"object","properties":{"externalUserId":{"type":"string","minLength":1},"level":{"type":"string","minLength":1}},"allOf":[{"type":"object","additionalProperties":{}}]}},"required":["providerId","topicName","identityAddress"],"additionalProperties":false},"ComplianceProviderWebhookAction":{"type":"object","properties":{"topic":{"$ref":"#/components/schemas/ComplianceProviderTopicView"}},"required":["topic"],"additionalProperties":false},"ComplianceProviderTopicView":{"type":"object","properties":{"providerId":{"type":"string","minLength":1},"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"topicId":{"type":"string","pattern":"^\\d+$"},"webhookUrlToken":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","active","paused","revoked","failed"]},"revocationSeverityThreshold":{"type":"integer","minimum":0,"maximum":100},"autoClearThreshold":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"claimValiditySeconds":{"anyOf":[{"$ref":"#/components/schemas/ComplianceClaimValiditySeconds"},{"type":"null"}]},"notificationChannels":{"type":"array","items":{"type":"object"}},"lastActivity":{"anyOf":[{"$ref":"#/components/schemas/ComplianceProviderActivity"},{"type":"null"}]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["providerId","topicName","topicId","webhookUrlToken","status","revocationSeverityThreshold","autoClearThreshold","claimValiditySeconds","notificationChannels","lastActivity","createdAt","updatedAt"],"additionalProperties":false},"ComplianceProviderActivity":{"anyOf":[{"$ref":"#/components/schemas/ComplianceProviderVerdictActivity"},{"$ref":"#/components/schemas/ComplianceProviderAlertActivity"}],"discriminator":{"propertyName":"kind","mapping":{"verdict":"#/components/schemas/ComplianceProviderVerdictActivity","alert":"#/components/schemas/ComplianceProviderAlertActivity"}}},"ComplianceProviderAlertActivity":{"type":"object","properties":{"kind":{"type":"string","enum":["alert"]},"severity":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"outcome":{"type":"string","enum":["applied","replayed","rejected_out_of_order","rejected_unmapped","rejected_topic_mismatch","rejected_paused","rejected_over_cap","rejected_unsponsorable","failed","pending"]},"at":{"type":"string"}},"required":["kind","severity","outcome","at"],"additionalProperties":false},"ComplianceProviderVerdictActivity":{"type":"object","properties":{"kind":{"type":"string","enum":["verdict"]},"state":{"anyOf":[{"type":"string","enum":["approved","rejected","under_review","action_required"]},{"type":"null"}]},"outcome":{"type":"string","enum":["applied","replayed","rejected_out_of_order","rejected_unmapped","rejected_topic_mismatch","rejected_paused","rejected_over_cap","rejected_unsponsorable","failed","pending"]},"at":{"type":"string"}},"required":["kind","state","outcome","at"],"additionalProperties":false},"ComplianceClaimValiditySeconds":{"type":"integer","minimum":1,"maximum":2147483647,"description":"How long a claim issued from an approved verdict stays valid, in seconds from the verdict. Leave it out to issue claims that never lapse; a topic read then reports null.","examples":[31536000]},"ComplianceProviderRotateSecretBody":{"type":"object","properties":{"webhookSigningSecret":{"type":"string","minLength":1},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"},"graceWindowMinutes":{"type":"integer","minimum":1,"maximum":1440}},"required":["webhookSigningSecret"],"additionalProperties":false},"ComplianceProviderWebhookTransitionBody":{"anyOf":[{"type":"object","properties":{"to":{"type":"string","enum":["paused"]}},"required":["to"],"additionalProperties":false},{"type":"object","properties":{"to":{"type":"string","enum":["active"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["to"],"additionalProperties":false},{"type":"object","properties":{"to":{"type":"string","enum":["revoked"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["to"],"additionalProperties":false}]},"ComplianceProviderWebhookUpdateBody":{"type":"object","properties":{"revocationSeverityThreshold":{"type":"integer","minimum":0,"maximum":100},"autoClearThreshold":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"claimValiditySeconds":{"anyOf":[{"$ref":"#/components/schemas/ComplianceClaimValiditySeconds"},{"type":"null"}]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"additionalProperties":false},"ComplianceProviderWebhookAddBody":{"type":"object","properties":{"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"topicId":{"type":"string","pattern":"^\\d+$"},"revocationSeverityThreshold":{"type":"integer","minimum":0,"maximum":100},"claimValiditySeconds":{"$ref":"#/components/schemas/ComplianceClaimValiditySeconds"},"notificationChannels":{"type":"array","items":{"type":"object"}},"webhookSigningSecret":{"type":"string","minLength":1},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["topicName","topicId","webhookSigningSecret"],"additionalProperties":false},"ComplianceMonitoringEventView":{"type":"object","properties":{"id":{"type":"string","minLength":1},"providerEventId":{"type":"string","minLength":1},"subjectAddress":{"anyOf":[{"$ref":"#/components/schemas/LowercaseEvmAddressEncoded"},{"type":"null"}]},"topicName":{"anyOf":[{"type":"string"},{"type":"null"}]},"severity":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"outcome":{"type":"string","enum":["applied","replayed","rejected_out_of_order","rejected_unmapped","rejected_topic_mismatch","rejected_paused","rejected_over_cap","rejected_unsponsorable","failed","pending"]},"rawPayload":{"type":"object"},"processedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"type":"string"}},"required":["id","providerEventId","subjectAddress","topicName","severity","outcome","rawPayload","processedAt","createdAt"],"additionalProperties":false},"ComplianceMonitoringFilters":{"type":"object","properties":{"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"outcome":{"anyOf":[{"type":"string","enum":["applied","replayed","rejected_out_of_order","rejected_unmapped","rejected_topic_mismatch","rejected_paused","rejected_over_cap","rejected_unsponsorable","failed","pending"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"providerEventId":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"q":{"type":"string","minLength":1,"maxLength":1000},"severity":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"subjectAddress":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"topicName":{"anyOf":[{"type":"string","minLength":1},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"ComplianceProviderView":{"type":"object","properties":{"id":{"type":"string","minLength":1},"participantId":{"type":"string","minLength":1},"providerKind":{"type":"string","enum":["sumsub","sumsub-aml","sumsub-kyt","chainalysis","complyadvantage","elliptic","jumio","middesk","onfido","persona","trulioo","veriff"]},"status":{"type":"string","enum":["pending","active","paused","revoked","failed"]},"statusExplanation":{"type":"string","minLength":1},"lastHealthCheck":{"anyOf":[{"$ref":"#/components/schemas/ComplianceProviderHealthView"},{"type":"null"}]},"issuerEoaAddress":{"$ref":"#/components/schemas/EvmAddress"},"onchainIdentityAddress":{"$ref":"#/components/schemas/EvmAddress"},"providerApiKeyRef":{"type":"string","minLength":1},"webhookUrlToken":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"anyOf":[{"type":"array","items":{"type":"string","minLength":1}},{"type":"null"}]},"pendingSecretExpiresAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastActivity":{"anyOf":[{"$ref":"#/components/schemas/ComplianceProviderActivity"},{"type":"null"}]},"topics":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceProviderTopicView"}},"topicsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"activeTopicsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"revokedTopicsCount":{"type":"integer","minimum":0,"maximum":9007199254740991},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","participantId","providerKind","status","statusExplanation","lastHealthCheck","issuerEoaAddress","onchainIdentityAddress","providerApiKeyRef","webhookUrlToken","webhookAuthMode","webhookIpAllowlist","pendingSecretExpiresAt","lastActivity","topics","topicsCount","activeTopicsCount","revokedTopicsCount","createdAt","updatedAt"],"additionalProperties":false},"ComplianceProviderHealthView":{"type":"object","properties":{"status":{"type":"string","enum":["healthy","degraded","unknown"]},"checkedAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"message":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["status","checkedAt","message"],"additionalProperties":false},"ComplianceProviderTransitionBody":{"anyOf":[{"type":"object","properties":{"to":{"type":"string","enum":["paused"]}},"required":["to"],"additionalProperties":false},{"type":"object","properties":{"to":{"type":"string","enum":["active"]}},"required":["to"],"additionalProperties":false},{"type":"object","properties":{"to":{"type":"string","enum":["revoked"]},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["to"],"additionalProperties":false},{"type":"object","properties":{"to":{"type":"string","enum":["provisioning-retry"]}},"required":["to"],"additionalProperties":false}]},"ComplianceProviderReplaceCredentialsBody":{"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/ComplianceProviderCredentials"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["credentials"],"additionalProperties":false},"ComplianceProviderCredentials":{"anyOf":[{"type":"object","properties":{"providerKind":{"type":"string","enum":["sumsub"]},"credentials":{"type":"object","properties":{"appToken":{"type":"string","minLength":1},"secretKey":{"type":"string","minLength":1},"levelName":{"type":"string","minLength":1}},"required":["appToken","secretKey","levelName"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["sumsub-aml"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"secretKey":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"levelName":{"type":"string","minLength":1}},"required":["apiToken","secretKey","webhookSigningSecret","levelName"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["sumsub-kyt"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"secretKey":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"levelName":{"type":"string","minLength":1}},"required":["apiToken","secretKey","webhookSigningSecret","levelName"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["chainalysis"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1}},"required":["apiKey"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["elliptic"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1}},"required":["apiKey","apiSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["complyadvantage"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"meshClientId":{"type":"string","minLength":1},"meshClientSecret":{"type":"string","minLength":1}},"required":["apiToken","webhookSigningSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["jumio"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1},"region":{"type":"string","enum":["amer-1","eu-1","sg-1"]},"basicAuthCredentials":{"type":"string","minLength":1}},"required":["apiToken","apiSecret","region","basicAuthCredentials"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["middesk"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1}},"required":["apiKey","webhookSigningSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["onfido"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"region":{"type":"string","enum":["us","eu","ca"]}},"required":["apiToken","webhookSigningSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["persona"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"inquiryTemplateId":{"type":"string","minLength":1}},"required":["apiToken","webhookSigningSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["trulioo"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1}},"required":["apiKey","apiSecret","webhookSigningSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["veriff"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1}},"required":["apiKey","apiSecret","webhookSigningSecret"],"additionalProperties":false}},"required":["providerKind","credentials"],"additionalProperties":false}]},"ComplianceProviderValidation":{"type":"object","properties":{"valid":{"type":"boolean"},"providerMessage":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["valid","providerMessage"],"additionalProperties":false},"ComplianceProviderCreateAccepted":{"type":"object","properties":{"requestId":{"type":"string","minLength":1},"state":{"type":"string","enum":["running"]},"statusUrl":{"type":"string","minLength":1}},"required":["requestId","state","statusUrl"],"additionalProperties":false,"description":"The provider is still being provisioned on chain. Read statusUrl until it answers the created provider or a refusal."},"ComplianceProviderCreateBody":{"anyOf":[{"type":"object","properties":{"providerKind":{"type":"string","enum":["sumsub"]},"credentials":{"type":"object","properties":{"appToken":{"type":"string","minLength":1},"secretKey":{"type":"string","minLength":1},"levelName":{"type":"string","minLength":1}},"required":["appToken","secretKey","levelName"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["sumsub-aml"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"secretKey":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"levelName":{"type":"string","minLength":1}},"required":["apiToken","secretKey","webhookSigningSecret","levelName"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["sumsub-kyt"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"secretKey":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"levelName":{"type":"string","minLength":1}},"required":["apiToken","secretKey","webhookSigningSecret","levelName"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["chainalysis"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1}},"required":["apiKey"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["elliptic"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1}},"required":["apiKey","apiSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["complyadvantage"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"meshClientId":{"type":"string","minLength":1},"meshClientSecret":{"type":"string","minLength":1}},"required":["apiToken","webhookSigningSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["jumio"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1},"region":{"type":"string","enum":["amer-1","eu-1","sg-1"]},"basicAuthCredentials":{"type":"string","minLength":1}},"required":["apiToken","apiSecret","region","basicAuthCredentials"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["middesk"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1}},"required":["apiKey","webhookSigningSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["onfido"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"region":{"type":"string","enum":["us","eu","ca"]}},"required":["apiToken","webhookSigningSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["persona"]},"credentials":{"type":"object","properties":{"apiToken":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1},"inquiryTemplateId":{"type":"string","minLength":1}},"required":["apiToken","webhookSigningSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["trulioo"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1}},"required":["apiKey","apiSecret","webhookSigningSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false},{"type":"object","properties":{"providerKind":{"type":"string","enum":["veriff"]},"credentials":{"type":"object","properties":{"apiKey":{"type":"string","minLength":1},"apiSecret":{"type":"string","minLength":1},"webhookSigningSecret":{"type":"string","minLength":1}},"required":["apiKey","apiSecret","webhookSigningSecret"],"additionalProperties":false},"webhookSigningSecret":{"type":"string","minLength":1},"webhookAuthMode":{"type":"string","enum":["hmac","basic_auth_ip_allowlist"]},"webhookIpAllowlist":{"type":"array","items":{"type":"string"}},"firstTopic":{"$ref":"#/components/schemas/ComplianceProviderTopicRequest"},"walletVerification":{"$ref":"#/components/schemas/WalletVerification"}},"required":["providerKind","credentials","webhookSigningSecret","firstTopic"],"additionalProperties":false}]},"ComplianceProviderTopicRequest":{"type":"object","properties":{"topicName":{"$ref":"#/components/schemas/ClaimTopic"},"topicId":{"type":"string","pattern":"^\\d+$"},"revocationSeverityThreshold":{"type":"integer","minimum":0,"maximum":100},"claimValiditySeconds":{"$ref":"#/components/schemas/ComplianceClaimValiditySeconds"},"notificationChannels":{"type":"array","items":{"type":"object"}}},"required":["topicName","topicId"],"additionalProperties":false},"ComplianceProviderWriteAuthority":{"type":"object","properties":{"allowed":{"type":"boolean"},"requiredRoles":{"type":"array","items":{"$ref":"#/components/schemas/AccessControlRole"}},"reason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["allowed","requiredRoles","reason"],"additionalProperties":false},"ComplianceProviderFilters":{"type":"object","properties":{"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"providerKind":{"anyOf":[{"type":"string","enum":["sumsub","sumsub-aml","sumsub-kyt","chainalysis","complyadvantage","elliptic","jumio","middesk","onfido","persona","trulioo","veriff"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"q":{"type":"string","minLength":1,"maxLength":1000},"status":{"anyOf":[{"type":"string","enum":["pending","active","paused","revoked","failed"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"updatedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"UserProfileVersion":{"type":"object","properties":{"id":{"type":"string"},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"submittedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reviewedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewOutcome":{"anyOf":[{"type":"string","enum":["approved","rejected","changes_requested"]},{"type":"null"}]},"isDraft":{"type":"boolean"},"isUnderReview":{"type":"boolean"},"isApproved":{"type":"boolean"},"isCurrent":{"type":"boolean"},"values":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserProfileValue"}}}},"required":["id","versionNumber","status","createdAt","submittedAt","reviewedAt","reviewOutcome","isDraft","isUnderReview","isApproved","isCurrent","values"],"additionalProperties":false},"UserProfileValue":{"anyOf":[{"type":"string"},{"type":"number"}]},"OrganisationKycProfile":{"type":"object","properties":{"identityAddresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"canReview":{"type":"boolean"},"status":{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"]},"personalInfoCompleted":{"type":"boolean"},"approvedVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"latestVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"fixed":{"type":"array","items":{"$ref":"#/components/schemas/OrganisationKycFixedField"}},"sections":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileSectionValues"}}},"required":["identityAddresses","canReview","status","personalInfoCompleted","approvedVersionId","latestVersionId","fixed","sections"],"additionalProperties":false},"UserProfileSectionValues":{"type":"object","properties":{"sectionId":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileFieldValue"}}},"required":["sectionId","slug","name","fields"],"additionalProperties":false},"UserProfileFieldValue":{"type":"object","properties":{"key":{"type":"string"},"field":{"type":"object","properties":{"type":{"type":"string"},"mutability":{"type":"string"},"storage":{"type":"string"},"audience":{"type":"string"},"position":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"label":{"type":"string"},"description":{"type":"string"},"required":{"type":"boolean"},"defaultValue":{"type":"string"},"configurableInDesigner":{"type":"boolean"},"minLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"maxLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"lowerBound":{"type":"string"},"upperBound":{"type":"string"},"options":{"type":"array","items":{"type":"string"}}},"required":["type","mutability","storage","label"],"additionalProperties":false},"value":{"anyOf":[{"$ref":"#/components/schemas/UserProfileValue"},{"type":"null"}]},"suggested":{"anyOf":[{"$ref":"#/components/schemas/UserProfileValue"},{"type":"null"}]},"review":{"anyOf":[{"$ref":"#/components/schemas/UserProfileFieldReview"},{"type":"null"}]}},"required":["key","field","value","suggested","review"],"additionalProperties":false},"UserProfileFieldReview":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/UserProfileReviewState"},"note":{"anyOf":[{"type":"string"},{"type":"null"}]},"editedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"editedByName":{"anyOf":[{"type":"string"},{"type":"null"}]},"editedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reviewedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewedByName":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reviewedVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["state","note"],"additionalProperties":false},"UserProfileReviewState":{"type":"string","enum":["unreviewed","approved","changes_requested"]},"OrganisationKycFixedField":{"type":"object","properties":{"key":{"type":"string","enum":["country"]},"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"review":{"anyOf":[{"$ref":"#/components/schemas/UserProfileFieldReview"},{"type":"null"}]}},"required":["key","value","review"],"additionalProperties":false},"UserProfileDecisionBody":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["approve"]},"versionId":{"type":"string"},"fields":{"anyOf":[{"type":"string","enum":["all"]},{"type":"array","items":{"type":"string"},"minItems":1}]}},"required":["action","versionId","fields"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["request-changes"]},"versionId":{"type":"string"},"fields":{"type":"array","items":{"type":"string"},"minItems":1},"note":{"type":"string","minLength":1},"dueAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["action","versionId","fields","note"],"additionalProperties":false}]},"OrganisationKycUpdateBody":{"type":"object","properties":{"values":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserProfileValue"}}},"fixed":{"type":"object","properties":{"country":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false}},"required":["values"],"additionalProperties":false},"UserProfile":{"type":"object","properties":{"userId":{"type":"string"},"status":{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"]},"personalInfoCompleted":{"type":"boolean"},"approvedVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"latestVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"fixed":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileFixedField"}},"sections":{"type":"array","items":{"$ref":"#/components/schemas/UserProfileSectionValues"}}},"required":["userId","status","personalInfoCompleted","approvedVersionId","latestVersionId","fixed","sections"],"additionalProperties":false},"UserProfileFixedField":{"type":"object","properties":{"key":{"type":"string","enum":["firstName","lastName","country","nationalId"]},"value":{"anyOf":[{"type":"string"},{"type":"null"}]},"review":{"anyOf":[{"$ref":"#/components/schemas/UserProfileFieldReview"},{"type":"null"}]}},"required":["key","value","review"],"additionalProperties":false},"UserProfileUpdateBody":{"type":"object","properties":{"values":{"type":"object","additionalProperties":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/UserProfileValue"}}},"fixed":{"type":"object","properties":{"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"}]}},"additionalProperties":false},"approve":{"type":"boolean","description":"Refused when `true`: a profile is approved by an identity manager who did not edit it. Save without it, then have another identity manager approve the version through the profile decisions endpoint."}},"required":["values"],"additionalProperties":false},"KycActionRequest":{"type":"object","properties":{"id":{"type":"string","minLength":1},"versionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"status":{"type":"string","enum":["open","fulfilled","cancelled"]},"reason":{"type":"string","minLength":1},"requiredFields":{"type":"array","items":{"type":"string","minLength":1}},"requestedAt":{"type":"string"},"requestedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"dueAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"fulfilledAt":{"anyOf":[{"type":"string"},{"type":"null"}]},"fulfilledVersionId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["id","versionId","status","reason","requiredFields","requestedAt","requestedBy","dueAt","fulfilledAt","fulfilledVersionId"],"additionalProperties":false},"KycActionRequestFulfillOutput":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["fulfilled"]},"fulfilledAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","status","fulfilledAt"],"additionalProperties":false},"KycProfileVersionDocumentGetDownloadUrlOutput":{"type":"object","properties":{"downloadUrl":{"type":"string"},"fileName":{"type":"string"},"mimeType":{"type":"string"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["downloadUrl","fileName","mimeType","expiresAt"],"additionalProperties":false},"KycProfileVersionDocumentConfirmUploadOutput":{"type":"object","properties":{"id":{"type":"string"},"versionId":{"type":"string"},"documentType":{"type":"string","enum":["passport","drivers_license","national_id","proof_of_address","other"]},"fileName":{"type":"string"},"fileSize":{"type":"number"},"mimeType":{"type":"string"},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"uploadedBy":{"type":"string"}},"required":["id","versionId","documentType","fileName","fileSize","mimeType","uploadedAt","uploadedBy"],"additionalProperties":false},"KycProfileVersionDocumentsV2ListItem":{"type":"object","properties":{"id":{"type":"string"},"documentType":{"type":"string","enum":["passport","drivers_license","national_id","proof_of_address","other"]},"fileName":{"type":"string"},"fileSize":{"type":"number"},"mimeType":{"type":"string"},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"uploadedBy":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","documentType","fileName","fileSize","mimeType","uploadedAt","uploadedBy"],"additionalProperties":false},"KycDocumentFilters":{"type":"object","properties":{"documentType":{"anyOf":[{"type":"string","enum":["passport","drivers_license","national_id","proof_of_address","other"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fileName":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"fileSize":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]},"mimeType":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"uploadedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]}},"additionalProperties":false},"KycProfileVersionRequestUpdateOutput":{"type":"object","properties":{"version":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["under_review"]}},"required":["id","status"],"additionalProperties":false},"actionRequest":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["open"]},"reason":{"type":"string"},"requiredFields":{"type":"array","items":{"type":"string"}},"dueAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","status","reason","requiredFields","dueAt","requestedAt"],"additionalProperties":false},"newDraft":{"type":"object","properties":{"id":{"type":"string"},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft"]}},"required":["id","versionNumber","status"],"additionalProperties":false}},"required":["version","actionRequest"],"additionalProperties":false},"KycProfileVersionDecisionOutput":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["approved"]},"reviewOutcome":{"type":"string","enum":["approved"]},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reviewedBy":{"type":"string"},"reviewNotes":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","status","reviewOutcome","reviewedAt","reviewedBy","reviewNotes"],"additionalProperties":false},{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["rejected"]},"reviewOutcome":{"type":"string","enum":["rejected"]},"rejectionReason":{"type":"string"},"reviewedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"reviewedBy":{"type":"string"}},"required":["id","status","reviewOutcome","rejectionReason","reviewedAt","reviewedBy"],"additionalProperties":false}]},"KycProfileVersionDecisionPayload":{"anyOf":[{"type":"object","properties":{"decision":{"type":"string","enum":["approve"]},"reviewNotes":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["decision"],"additionalProperties":false},{"type":"object","properties":{"decision":{"type":"string","enum":["reject"]},"rejectionReason":{"type":"string","minLength":10},"reviewNotes":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["decision","rejectionReason"],"additionalProperties":false}]},"KycProfileVersionSubmitOutput":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["under_review"]},"submittedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"submittedBy":{"type":"string"}},"required":["id","status","submittedAt","submittedBy"],"additionalProperties":false},"KycProfileVersionUpdateOutput":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"dob":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"type":"string","enum":["resident","non_resident","dual_resident","unknown"]},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","userId","versionNumber","status","firstName","lastName","dob","country","residencyStatus","nationalId","createdAt","createdBy"],"additionalProperties":false},"KycProfileVersionUpdatePayload":{"type":"object","properties":{"firstName":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,98}\\S)?\\s*$"},{"type":"null"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,98}\\S)?\\s*$"},{"type":"null"},{"type":"null"}]},"dob":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"type":"string","enum":["resident","non_resident","dual_resident","unknown"]},{"type":"null"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,48}\\S)?\\s*$"},{"type":"null"},{"type":"null"}]}},"additionalProperties":false},"KycProfileVersionReadOutput":{"type":"object","properties":{"id":{"type":"string"},"userId":{"anyOf":[{"type":"string"},{"type":"null"}]},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"dob":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"type":"string","enum":["resident","non_resident","dual_resident","unknown"]},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdByName":{"anyOf":[{"type":"string"},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"submittedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"submittedByName":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reviewedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewedByName":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewOutcome":{"anyOf":[{"type":"string","enum":["approved","rejected","changes_requested"]},{"type":"null"}]},"reviewNotes":{"anyOf":[{"type":"string"},{"type":"null"}]},"rejectionReason":{"anyOf":[{"type":"string"},{"type":"null"}]},"documentsCount":{"type":"number"},"openActionRequest":{"anyOf":[{"type":"object","properties":{"reason":{"type":"string"},"requiredFields":{"type":"array","items":{"type":"string"}},"requestedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestedByName":{"anyOf":[{"type":"string"},{"type":"null"}]},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"dueAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["reason","requiredFields","requestedBy","requestedByName","requestedAt","dueAt"],"additionalProperties":false},{"type":"null"}]},"canEdit":{"type":"boolean"},"canSubmit":{"type":"boolean"},"canReview":{"type":"boolean"}},"required":["id","userId","versionNumber","status","firstName","lastName","dob","country","residencyStatus","nationalId","createdAt","createdBy","createdByName","submittedAt","submittedBy","submittedByName","reviewedAt","reviewedBy","reviewedByName","reviewOutcome","reviewNotes","rejectionReason","documentsCount","openActionRequest","canEdit","canSubmit","canReview"],"additionalProperties":false},"KycProfileVersionsCreateOutput":{"type":"object","properties":{"id":{"type":"string"},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft"]},"userId":{"type":"string"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"dob":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"type":"string","enum":["resident","non_resident","dual_resident","unknown"]},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"type":"string"}},"required":["id","versionNumber","status","userId","firstName","lastName","dob","country","residencyStatus","nationalId","createdAt","createdBy"],"additionalProperties":false},"KycProfileVersionsCreatePayload":{"type":"object","properties":{"cloneFrom":{"anyOf":[{"type":"string","enum":["approved","latest"]},{"type":"null"}]},"cloneFromVersionId":{"anyOf":[{"type":"string"},{"type":"null"}]},"overwriteDraft":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"initialData":{"anyOf":[{"type":"object","properties":{"firstName":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,98}\\S)?\\s*$"},{"type":"null"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,98}\\S)?\\s*$"},{"type":"null"},{"type":"null"}]},"dob":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"},{"type":"null"}]},"country":{"anyOf":[{"type":"string"},{"type":"null"},{"type":"null"}]},"residencyStatus":{"anyOf":[{"type":"string","enum":["resident","non_resident","dual_resident","unknown"]},{"type":"null"},{"type":"null"}]},"nationalId":{"anyOf":[{"type":"string","pattern":"^\\s*\\S(?:[\\s\\S]{0,48}\\S)?\\s*$"},{"type":"null"},{"type":"null"}]}},"additionalProperties":false},{"type":"null"}]}},"additionalProperties":false},"KycProfileVersionsV2ListItem":{"type":"object","properties":{"id":{"type":"string"},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"submittedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"reviewedBy":{"anyOf":[{"type":"string"},{"type":"null"}]},"reviewOutcome":{"anyOf":[{"type":"string","enum":["approved","rejected","changes_requested"]},{"type":"null"}]},"isDraft":{"type":"boolean"},"isUnderReview":{"type":"boolean"},"isApproved":{"type":"boolean"},"isCurrent":{"type":"boolean"}},"required":["id","versionNumber","status","createdAt","createdBy","submittedAt","submittedBy","reviewedAt","reviewedBy","reviewOutcome","isDraft","isUnderReview","isApproved","isCurrent"],"additionalProperties":false},"KycVersionFilters":{"type":"object","properties":{"createdAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"reviewedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"status":{"anyOf":[{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"submittedAt":{"anyOf":[{"type":"string","maxLength":64},{"type":"object","properties":{"eq":{"type":"string","maxLength":64},"ne":{"type":"string","maxLength":64},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"type":"string","maxLength":64},"gte":{"type":"string","maxLength":64},"lt":{"type":"string","maxLength":64},"lte":{"type":"string","maxLength":64},"between":{"type":"string","maxLength":128}},"additionalProperties":false}]},"versionNumber":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"},{"type":"object","properties":{"eq":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"ne":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"gt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"gte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lt":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"lte":{"anyOf":[{"type":"string","pattern":"^[+-]?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[Ee][+-]?\\d+)?$"},{"type":"string"}]},"between":{"type":"string","maxLength":64}},"additionalProperties":false}]}},"additionalProperties":false},"KycProfileReadOutput":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"status":{"type":"string","enum":["incomplete","submitted","under_review","approved","rejected","update_required"]},"hasPendingUpdate":{"type":"boolean"},"approvedVersion":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"versionNumber":{"type":"number"},"firstName":{"anyOf":[{"type":"string"},{"type":"null"}]},"lastName":{"anyOf":[{"type":"string"},{"type":"null"}]},"contentHash":{"anyOf":[{"type":"string"},{"type":"null"}]},"approvedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"approvedBy":{"type":"string"}},"required":["id","versionNumber","firstName","lastName","contentHash","approvedAt","approvedBy"],"additionalProperties":false},{"type":"null"}]},"latestVersion":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"versionNumber":{"type":"number"},"status":{"type":"string","enum":["draft","submitted","under_review","approved","rejected","superseded"]},"isDraft":{"type":"boolean"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","versionNumber","status","isDraft","createdAt"],"additionalProperties":false},{"type":"null"}]},"openActionRequestsCount":{"type":"number"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","userId","status","hasPendingUpdate","approvedVersion","latestVersion","openActionRequestsCount","createdAt","updatedAt"],"additionalProperties":false},"TokenComplianceUpdateAttesterRegistryBody":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}}},"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"registryContractId":{"type":"string","minLength":1},"attesters":{"type":"array","items":{"$ref":"#/components/schemas/CantonPartyId"},"minItems":1},"acceptedClaimKinds":{"type":"array","items":{"type":"string","minLength":1},"minItems":1}},"required":["cantonPartyId","instrumentAdmin","registryContractId","attesters","acceptedClaimKinds"],"additionalProperties":false}]},"TokenComplianceSetModulesBody":{"anyOf":[{"type":"object","properties":{"instrumentAdmin":{"not":{}}},"additionalProperties":false},{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"registrationContractId":{"type":"string","minLength":1},"moduleContractIds":{"type":"array","items":{"type":"string","minLength":1}}},"required":["cantonPartyId","instrumentAdmin","registrationContractId","moduleContractIds"],"additionalProperties":false}]},"TokenModuleReadback":{"type":"object","properties":{"modules":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceModule"}}},"required":["modules"],"additionalProperties":false},"ComplianceModule":{"type":"object","properties":{"moduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"typeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"parameters":{"anyOf":[{"$ref":"#/components/schemas/IndexedComplianceParams"},{"type":"null"}]},"scope":{"anyOf":[{"$ref":"#/components/schemas/ComplianceModuleScopeState"},{"type":"null"}]},"active":{"type":"boolean"},"isV2":{"type":"boolean"}},"required":["moduleAddress","typeId","name","parameters","scope","active","isV2"],"additionalProperties":false},"ComplianceModuleScopeState":{"type":"object","properties":{"executionMode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"senderInclusion":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false}},"senderExemption":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false}},"receiverInclusion":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false}},"receiverExemption":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false}},"tokenInclusion":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false}},"tokenExemption":{"type":"array","items":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"type":"string"}},"required":["nodeType","value"],"additionalProperties":false}},"senderCountryInclusion":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"senderCountryExclusion":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"receiverCountryInclusion":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"receiverCountryExclusion":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["executionMode","senderInclusion","senderExemption","receiverInclusion","receiverExemption","tokenInclusion","tokenExemption","senderCountryInclusion","senderCountryExclusion","receiverCountryInclusion","receiverCountryExclusion"],"additionalProperties":false},"IndexedComplianceParams":{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"countries":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"capped":{"type":"object","properties":{"maxSupply":{"$ref":"#/components/schemas/IndexedComplianceUint"}},"required":["maxSupply"],"additionalProperties":false},"collateral":{"type":"object","properties":{"proofTopic":{"$ref":"#/components/schemas/IndexedComplianceUint"},"ratioBps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"trustedIssuers":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}}},"required":["proofTopic","ratioBps","trustedIssuers"],"additionalProperties":false},"tokenSupplyLimit":{"type":"object","properties":{"maxSupply":{"$ref":"#/components/schemas/IndexedComplianceUint"},"periodLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rolling":{"type":"boolean"},"useBasePrice":{"type":"boolean"},"global":{"type":"boolean"}},"required":["maxSupply","periodLength","rolling","useBasePrice","global"],"additionalProperties":false},"capitalRaiseLimit":{"type":"object","properties":{"maxSupply":{"$ref":"#/components/schemas/IndexedComplianceUint"},"periodLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rolling":{"type":"boolean"},"priceResolver":{"$ref":"#/components/schemas/EvmAddress"},"priceTopicId":{"$ref":"#/components/schemas/IndexedComplianceUint"}},"required":["maxSupply","periodLength","rolling","priceResolver","priceTopicId"],"additionalProperties":false},"issuanceVolumeLimit":{"type":"object","properties":{"maxSupply":{"$ref":"#/components/schemas/IndexedComplianceUint"},"periodLength":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"rolling":{"type":"boolean"}},"required":["maxSupply","periodLength","rolling"],"additionalProperties":false},"lockUp":{"type":"object","properties":{"unlockTime":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["unlockTime"],"additionalProperties":false},"ownCustodyGateway":{"type":"object","properties":{"gatewayFactory":{"$ref":"#/components/schemas/EvmAddress"}},"required":["gatewayFactory"],"additionalProperties":false},"minimumHolding":{"type":"object","properties":{"minimumHolding":{"$ref":"#/components/schemas/IndexedComplianceUint"},"exemptWallets":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"exemptClaimTopics":{"type":"array","items":{"$ref":"#/components/schemas/IndexedComplianceUint"}}},"required":["minimumHolding","exemptWallets"],"additionalProperties":false},"claimExpiry":{"type":"object","properties":{"topics":{"type":"array","items":{"$ref":"#/components/schemas/IndexedComplianceUint"}},"gracePeriod":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"requireExpiry":{"type":"boolean"}},"required":["topics","gracePeriod","requireExpiry"],"additionalProperties":false},"investorCount":{"type":"object","properties":{"maxInvestors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"global":{"type":"boolean"},"countryCodes":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"countryLimits":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"topicFilter":{"type":"array","items":{"$ref":"#/components/schemas/IndexedComplianceExpressionNode"}}},"required":["maxInvestors"],"additionalProperties":false},"investorCountV2":{"$ref":"#/components/schemas/IndexedComplianceVersionedCount"},"identityCount":{"$ref":"#/components/schemas/IndexedComplianceVersionedCount"},"timeLock":{"type":"object","properties":{"holdPeriod":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"allowExemptions":{"type":"boolean"},"exemptionExpression":{"type":"array","items":{"$ref":"#/components/schemas/IndexedComplianceExpressionNode"}}},"required":["holdPeriod","allowExemptions","exemptionExpression"],"additionalProperties":false},"transferApproval":{"type":"object","properties":{"approvalAuthorities":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"}},"allowExemptions":{"type":"boolean"},"oneTimeUse":{"type":"boolean"},"approvalMode":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"exemptionExpression":{"type":"array","items":{"$ref":"#/components/schemas/IndexedComplianceExpressionNode"}},"approvalExpiry":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["approvalAuthorities","allowExemptions","exemptionExpression","approvalExpiry"],"additionalProperties":false},"identityVerification":{"type":"array","items":{"$ref":"#/components/schemas/IndexedComplianceExpressionNode"}}},"additionalProperties":false},"IndexedComplianceExpressionNode":{"type":"object","properties":{"nodeType":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"value":{"$ref":"#/components/schemas/IndexedComplianceUint"}},"required":["nodeType","value"],"additionalProperties":false},"IndexedComplianceUint":{"type":"string","pattern":"^\\d+$","description":"A non-negative integer written as a decimal string, so values past 2^53 keep their precision."},"IndexedComplianceVersionedCount":{"type":"object","properties":{"maxInvestors":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"countingPolicy":{"type":"string","enum":["lifetime","current-holders"]},"countryCodes":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"countryLimits":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["maxInvestors","countingPolicy","countryCodes","countryLimits"],"additionalProperties":false},"TokenComplianceModuleConfigureBody":{"type":"object","properties":{"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["params"],"additionalProperties":false},"TokenComplianceModuleSetScopedParamsBody":{"type":"object","properties":{"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"scope":{"$ref":"#/components/schemas/ModuleScope"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["params","scope"],"additionalProperties":false},"TokenComplianceHolderLockClearBody":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["holder"],"additionalProperties":false},"TokenComplianceHolderLockSetBody":{"type":"object","properties":{"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^[0-9]+$"},"unlockTime":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Unix time in seconds from which the holder lock no longer refuses transfers."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["holder","amount","unlockTime"],"additionalProperties":false},"ComplianceModuleInstanceTransitionBody":{"type":"object","properties":{"to":{"type":"string","enum":["enabled","disabled"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["to"],"additionalProperties":false,"description":"Disable an installed rule to pause it without removing it, or enable it again. The instance, parameters and scope stay in place."},"TokenComplianceModuleSetScopeBody":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/ModuleScope"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["scope"],"additionalProperties":false},"TokenComplianceModuleUninstallBody":{"anyOf":[{"$ref":"#/components/schemas/TokenComplianceModuleUninstallEvmBody"},{"$ref":"#/components/schemas/TokenComplianceCantonModuleBody"}]},"TokenComplianceCantonModuleBody":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"instrumentAdmin":{"$ref":"#/components/schemas/CantonPartyId"},"registrationContractId":{"type":"string","minLength":1},"moduleContractId":{"type":"string","minLength":1}},"required":["cantonPartyId","instrumentAdmin","registrationContractId","moduleContractId"],"additionalProperties":false},"TokenComplianceModuleUninstallEvmBody":{"type":"object","properties":{"moduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"instrumentAdmin":{"not":{}}},"required":["moduleAddress"],"additionalProperties":false},"TokenComplianceModuleScopedInstallBody":{"type":"object","properties":{"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"scope":{"$ref":"#/components/schemas/ModuleScope"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["params","scope"],"additionalProperties":false},"TokenComplianceModuleUninstallPreflightOutput":{"type":"object","properties":{"action":{"type":"string","enum":["tokenComplianceModuleUninstall"]}},"required":["action"],"additionalProperties":false,"description":"The module uninstall would be accepted now. Nothing was queued, signed or recorded. The refusals it can return are the ones `tokenComplianceModuleUninstall` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"TokenComplianceModuleInstallPreflightOutput":{"type":"object","properties":{"action":{"type":"string","enum":["tokenComplianceModuleInstall"]}},"required":["action"],"additionalProperties":false,"description":"The module install would be accepted now. Nothing was queued, signed or recorded. The refusals it can return are the ones `tokenComplianceModuleInstall` returns for the same state, so a request that is cleared here can still be refused if the state changes before it is sent."},"TokenComplianceModuleInstallEvmBody":{"type":"object","properties":{"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]},"instrumentAdmin":{"not":{}}},"required":["params"],"additionalProperties":false},"TokenComplianceModuleInstallBody":{"anyOf":[{"$ref":"#/components/schemas/TokenComplianceModuleInstallEvmBody"},{"$ref":"#/components/schemas/TokenComplianceCantonModuleBody"}]},"ComplianceModuleRegistryReadback":{"type":"object","properties":{"modules":{"type":"array","items":{"$ref":"#/components/schemas/RegisteredComplianceModule"}}},"required":["modules"],"additionalProperties":false},"RegisteredComplianceModule":{"type":"object","properties":{"moduleAddress":{"$ref":"#/components/schemas/EvmAddress"},"registryAddress":{"$ref":"#/components/schemas/EvmAddress"},"typeId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"globalConfigs":{"type":"array","items":{"$ref":"#/components/schemas/ComplianceModule"},"description":"The system compliance engine's bindings of this module type, active and inactive, with their parameters and scope."}},"required":["moduleAddress","registryAddress","typeId","name","globalConfigs"],"additionalProperties":false},"SystemComplianceModuleSetScopedParamsBody":{"type":"object","properties":{"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"scope":{"$ref":"#/components/schemas/SystemModuleScope"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["instanceAddress","params","scope"],"additionalProperties":false},"SystemModuleScope":{"type":"object","properties":{"senderInclusion":{"$ref":"#/components/schemas/ModuleScopeSenderInclusionEncoded"},"senderExemption":{"$ref":"#/components/schemas/ModuleScopeSenderExemptionEncoded"},"senderCountryInclusion":{"$ref":"#/components/schemas/ModuleScopeSenderCountryInclusionEncoded"},"senderCountryExclusion":{"$ref":"#/components/schemas/ModuleScopeSenderCountryExclusionEncoded"},"receiverInclusion":{"$ref":"#/components/schemas/ModuleScopeReceiverInclusionEncoded"},"receiverExemption":{"$ref":"#/components/schemas/ModuleScopeReceiverExemptionEncoded"},"receiverCountryInclusion":{"$ref":"#/components/schemas/ModuleScopeReceiverCountryInclusionEncoded"},"receiverCountryExclusion":{"$ref":"#/components/schemas/ModuleScopeReceiverCountryExclusionEncoded"},"executionMode":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"tokenInclusion":{"$ref":"#/components/schemas/SystemModuleScopeTokenInclusionEncoded"},"tokenExemption":{"$ref":"#/components/schemas/SystemModuleScopeTokenExemptionEncoded"}},"additionalProperties":false},"SystemModuleScopeTokenExemptionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExpressionNodeWithGroups"}},{"type":"null"}]},"SystemModuleScopeTokenInclusionEncoded":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ExpressionNodeWithGroups"}},{"type":"null"}]},"SystemComplianceModuleScopedInstallBody":{"type":"object","properties":{"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"scope":{"$ref":"#/components/schemas/SystemModuleScope"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["params","scope"],"additionalProperties":false},"SystemComplianceModuleSetScopeBody":{"type":"object","properties":{"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"scope":{"$ref":"#/components/schemas/SystemModuleScope"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["instanceAddress","scope"],"additionalProperties":false},"SystemComplianceModuleConfigureBody":{"type":"object","properties":{"params":{"type":"object","properties":{"typeId":{"$ref":"#/components/schemas/ComplianceTypeId"},"values":{},"module":{"$ref":"#/components/schemas/EvmAddress"}},"required":["typeId","values","module"],"additionalProperties":false},"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"holderRemovableNot":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"],"additionalProperties":false},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["params"],"additionalProperties":false},"SystemComplianceModuleUninstallBody":{"type":"object","properties":{"module":{"$ref":"#/components/schemas/EvmAddress"},"instanceAddress":{"$ref":"#/components/schemas/EvmAddress"},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["module"],"additionalProperties":false},"SystemComplianceModuleCreateBody":{"type":"object","properties":{"complianceModules":{"anyOf":[{"type":"string","enum":["all"]},{"$ref":"#/components/schemas/ComplianceModuleRegistration"},{"type":"array","items":{"$ref":"#/components/schemas/ComplianceModuleRegistration"}}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["complianceModules"],"additionalProperties":false},"ComplianceModuleRegistration":{"type":"object","properties":{"type":{"$ref":"#/components/schemas/ComplianceTypeId"},"implementation":{"$ref":"#/components/schemas/EvmAddress"}},"required":["type"],"additionalProperties":false},"ComplianceModuleInstance":{"type":"object","properties":{"typeId":{"type":"string","minLength":1},"currentImplementation":{"$ref":"#/components/schemas/EvmAddress"},"archived":{"type":"boolean"}},"required":["typeId","currentImplementation","archived"],"additionalProperties":false},"DalpPublicHttpError502":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[502],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[502]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"A required upstream service returned an invalid response. Retry after a short delay.","examples":[{"code":"COMPLIANCE_APPLICANT_CREATE_FAILED","status":502,"message":"Compliance provider rejected applicant creation.","data":{"id":"DALP-0496","why":"The provider applicant or monitored-subject creation call failed before DALP could persist the subject mapping.","fix":"Verify provider credentials and the submitted subject fields, then retry applicant creation.","retryable":false,"category":"dependency"}}]},"ComplianceModuleFilters":{"type":"object","properties":{"module":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"name":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]},"typeId":{"anyOf":[{"type":"string","minLength":1,"maxLength":1000},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"iLike":{"type":"string","minLength":1,"maxLength":1000},"notILike":{"type":"string","minLength":1,"maxLength":1000},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"CantonSubmissionApprovalDecisionOutput":{"type":"object","properties":{"submissionId":{"type":"string","minLength":1},"approvalStatus":{"type":"string","enum":["approved","denied"]}},"required":["submissionId","approvalStatus"],"additionalProperties":false,"examples":[{"submissionId":"submission-example","approvalStatus":"approved"}]},"CantonSubmissionApprovalDecisionInput":{"type":"object","properties":{"decision":{"type":"string","enum":["approved","denied"]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["decision"],"additionalProperties":false},"CantonSubmissionCreateOutput":{"type":"object","properties":{"submissionId":{"type":"string","minLength":1},"ledgerSubmissionId":{"type":"string","minLength":1},"preparedHashHex":{"type":"string","minLength":1}},"required":["submissionId","ledgerSubmissionId","preparedHashHex"],"additionalProperties":false,"examples":[{"submissionId":"submission-example","ledgerSubmissionId":"canton-ledger-sub-1","preparedHashHex":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}]},"CantonJsonValue":{"anyOf":[{"type":"null"},{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"$ref":"#/components/schemas/CantonJsonValue"}},{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CantonJsonValue"}}]},"CantonAllocationView":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"allocationId":{"type":"string","minLength":1},"status":{"type":"string","enum":["intent","key-generated","topology-signed","awaiting-existing-approval","registered","failed"]},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"signerWalletId":{"$ref":"#/components/schemas/WalletId"},"lifecycleRequestId":{"$ref":"#/components/schemas/CustodyAccountLifecycleRequestId"},"failureCode":{"type":"string","enum":["CANTON_NODE_IDENTITY_CHANGED","CANTON_PARTICIPANT_ID_UNAVAILABLE"]}},"required":["family","allocationId","status"],"additionalProperties":false,"examples":[{"family":"canton","allocationId":"allocation-example","status":"registered","cantonPartyId":"dalp-party::1220abcd","signerWalletId":"signer-wallet-example"}]},"WalletCreateOutput":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"allocationId":{"type":"string","minLength":1},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"signerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["family","allocationId","cantonPartyId","signerWalletId"],"additionalProperties":false,"examples":[{"family":"canton","allocationId":"allocation-example","cantonPartyId":"dalp-party::1220abcd","signerWalletId":"signer-wallet-example"}]},"CantonPartyWallet":{"type":"object","properties":{"family":{"type":"string","enum":["canton"]},"cantonPartyId":{"$ref":"#/components/schemas/CantonPartyId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"networkId":{"$ref":"#/components/schemas/NetworkId"},"signerWalletId":{"$ref":"#/components/schemas/WalletId"}},"required":["family","cantonPartyId","participantId","networkId","signerWalletId"],"additionalProperties":false,"examples":[{"family":"canton","cantonPartyId":"dalp-party::1220abcd","participantId":"participant-example","networkId":"canton-local","signerWalletId":"signer-wallet-example"}]},"DalpPublicHttpError410":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[410],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[410]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The requested resource or operation is no longer available. Read `data.fix` for the supported recovery path.","examples":[{"code":"COMPLIANCE_SECRET_ROTATION_GRACE_EXPIRED","status":410,"message":"Compliance webhook signing secret rotation grace period expired.","data":{"id":"DALP-0500","why":"The pending webhook signing secret expired before it was promoted to the active secret.","fix":"Start a new secret rotation and update the provider dashboard with the active webhook signing secret.","retryable":false,"category":"domain"}}]},"BankFiatScreeningList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankFiatScreeningRow"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankFiatScreeningRow":{"type":"object","properties":{"subject":{"$ref":"#/components/schemas/BankFiatScreeningSubject"},"subjectId":{"type":"string","minLength":1,"description":"The credit's or cash-out's identifier."},"direction":{"type":"string","enum":["in","out"],"description":"in for a deposit, out for a withdrawal."},"amount":{"type":"string","minLength":1,"description":"The bank's decimal amount."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"counterparty":{"$ref":"#/components/schemas/BankPayer"},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"payerCheck":{"$ref":"#/components/schemas/BankFiatPayerCheck"},"verdict":{"$ref":"#/components/schemas/BankFiatScreeningVerdict"},"alerts":{"type":"array","items":{"type":"object"}},"score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"providerReference":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"releasedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"releasedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["subject","subjectId","direction","amount","currency","counterparty","participantId","payerCheck","verdict","alerts","score","providerReference","submittedAt","decidedAt","releasedBy","releasedAt","createdAt"],"additionalProperties":false,"description":"One fiat transaction the rail screened: the AML provider's verdict, the payer check and any release."},"BankFiatScreeningVerdict":{"type":"string","enum":["not-screened","pending","approved","held","rejected"],"description":"The provider's verdict on the fiat transaction: not-screened when the connection has no provider, pending while it has not answered, approved, held for its own review, or rejected. A risk score the provider returned without a verdict reads as approved below the provider's auto-clear threshold and as held at or above it."},"BankFiatPayerCheck":{"type":"string","enum":["verified","unverified","not-required"],"description":"The source-of-funds check on a deposit: verified when the payer account is one of the client's active bank accounts, unverified when it is not or the bank sent none, not-required when the connection does not check payers or the transaction is a payout."},"BankPayer":{"type":"object","properties":{"name":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"account":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"bic":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]}},"required":["name","account","bic"],"additionalProperties":false,"description":"The payer the bank named on a credit: the account holder's name, the account and the bank's BIC."},"BankFiatScreeningSubject":{"type":"string","enum":["credit","cash-out"],"description":"What was screened: a bank credit (a deposit) or a cash-out (a withdrawal)."},"BankScreeningSettings":{"type":"object","properties":{"providerId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The linked compliance provider that screens this connection's credits and cash-outs as fiat transactions; null leaves AML screening off."},"levelName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The provider's verification level the rail names when it first submits a client, for a provider that needs one (Sumsub transaction monitoring); null otherwise."},"payerAccountCheck":{"type":"boolean","description":"Whether a credit must come from one of the client's active bank accounts. On by default: a credit from any other account is held as payer-account-not-verified and mints nothing."},"rowVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Send it back to change the settings; it moves on every change."}},"required":["providerId","levelName","payerAccountCheck","rowVersion"],"additionalProperties":false,"description":"How a bank connection screens its fiat flows."},"BankScreeningSettingsUpdatePayload":{"type":"object","properties":{"providerId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The linked compliance provider that screens this connection's credits and cash-outs as fiat transactions; null leaves AML screening off."},"levelName":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The provider's verification level the rail names when it first submits a client, for a provider that needs one (Sumsub transaction monitoring); null otherwise."},"payerAccountCheck":{"type":"boolean","description":"Whether a credit must come from one of the client's active bank accounts. On by default: a credit from any other account is held as payer-account-not-verified and mints nothing."},"expectedRowVersion":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The rowVersion of the settings you read; 0 when the connection has never saved any. A change made since you read them is refused."}},"required":["providerId","levelName","payerAccountCheck","expectedRowVersion"],"additionalProperties":false,"description":"Replaces how a bank connection screens its fiat flows."},"BankRailWalletRotationDetail":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"reason":{"$ref":"#/components/schemas/BankRailWalletRotationReason"},"note":{"anyOf":[{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500},{"type":"null"}]},"state":{"$ref":"#/components/schemas/BankRailWalletRotationState"},"oldGeneration":{"type":"integer","minimum":1,"maximum":9007199254740991},"oldWallet":{"$ref":"#/components/schemas/EvmAddress"},"stagedGeneration":{"anyOf":[{"type":"integer","minimum":2,"maximum":9007199254740991},{"type":"null"}]},"stagedWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The next rail wallet generation, once the rotation has staged one."},"request":{"anyOf":[{"$ref":"#/components/schemas/BankRailWalletRotationRequest"},{"type":"null"}]},"rejection":{"anyOf":[{"$ref":"#/components/schemas/BankRailWalletRotationRejection"},{"type":"null"}]},"handoverStartedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When a manager first submitted a revoke or grant of supply authority for the rotation; from then on it can only complete, never be abandoned."},"containedBy":{"$ref":"#/components/schemas/UserId"},"containedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"rowVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"links":{"type":"array","items":{"$ref":"#/components/schemas/BankRailWalletRotationLink"},"description":"Every token link on the chain that the rotation suspended, while the rotation is open."}},"required":["id","organizationId","chainId","reason","note","state","oldGeneration","oldWallet","stagedGeneration","stagedWallet","request","rejection","handoverStartedAt","containedBy","containedAt","closedAt","rowVersion","updatedAt","links"],"additionalProperties":false,"description":"A rotation of the organisation's rail wallet on one chain, with how far each token link it suspended is in moving its supply authority to the staged wallet."},"BankRailWalletRotationLink":{"type":"object","properties":{"tokenLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"token":{"$ref":"#/components/schemas/EvmAddress"},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"authority":{"$ref":"#/components/schemas/BankRailWalletRotationAuthority"},"holders":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Every account that holds the token's supply authority now."},"escrow":{"anyOf":[{"$ref":"#/components/schemas/BankRailEscrowState"},{"type":"null"}],"description":"The staged wallet's escrow on a delegate link, which holds the link's cash-outs once the rotation completes; null on a booked link."},"oldWalletBalance":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The token the contained wallet still holds, such as parked credits, which a custodian moves out."},"oldWalletFrozen":{"type":"boolean","description":"Whether the token froze the contained wallet on its balance, which lets the rotation complete while the balance remains."},"oldEscrowBalance":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The token locked in the contained wallet's escrows on a delegate link, which must be empty before the staged wallet gets a compromised key's supply authority; null on a booked link."},"stagedCoversSuspense":{"type":"boolean","description":"Whether the staged wallet holds at least the credits parked in suspense plus the delivery coins in transit to the client's custody gateway, which the rotation needs before it can complete."},"inTransit":{"type":"array","items":{"$ref":"#/components/schemas/BankRailWalletRotationInTransit"},"description":"The minted credits of this link whose coins still sit on the contained wallet on their way to the client's custody gateway. The rotation repins them to the staged wallet when it completes."},"movesAuthority":{"type":"boolean","description":"Whether the rotation moves this link's supply authority to the staged wallet. False for a link the rail had already suspended for another reason, such as a removed supply role: the rotation still checks its balances and repins it, but neither grants its authority nor counts it as moved."}},"required":["tokenLinkId","token","supplyMode","authority","holders","escrow","oldWalletBalance","oldWalletFrozen","oldEscrowBalance","stagedCoversSuspense","inTransit","movesAuthority"],"additionalProperties":false,"description":"How far one token link the rotation suspended is in moving its supply authority to the staged wallet."},"BankRailWalletRotationInTransit":{"type":"object","properties":{"operationId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The bank credit whose coins are in transit."},"state":{"type":"string","enum":["minted-undelivered","sending","send-failed","returned"],"description":"Where the credit's delivery to the custody gateway stands."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The coins that credit still has in transit."}},"required":["operationId","state","amount"],"additionalProperties":false},"BankRailEscrowState":{"type":"string","enum":["none","creating","ready","ambiguous"],"description":"none: the rail wallet controls no escrow on the chain yet, so delegate-mode cash-outs are refused; creating: the escrow's creation was submitted and is not indexed yet; ready: the rail wallet controls exactly one escrow, which holds every delegate-mode cash-out on the chain; ambiguous: the rail wallet controls more than one escrow, so the rail refuses cash-outs rather than pick one."},"BankRailWalletRotationAuthority":{"type":"string","enum":["old","none","new","foreign"],"description":"Who holds the token's supply authority, as the indexer shows it: old while the contained wallet still holds it, none once nobody does, new once the staged wallet alone holds it, and foreign while any other account holds it."},"BankSupplyMode":{"type":"string","enum":["booked","delegate"],"description":"How the rail changes the token's supply, read from the token's features when the link is made. booked: the token carries Booked movements, and the rail wallet books every mint and burn with its bank reference while holding the token's supply management role. delegate: the token carries the supply delegate feature, and the rail wallet, its only supply delegate, mints and burns through it with the keccak-256 hash of its bank reference while nobody holds the token's supply management role."},"BankRailWalletRotationRejection":{"type":"object","properties":{"action":{"type":"string","enum":["abandon","complete"]},"reason":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500},"rejectedBy":{"$ref":"#/components/schemas/UserId"},"rejectedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["action","reason","rejectedBy","rejectedAt"],"additionalProperties":false,"description":"The last request a bank rail manager rejected, with the reason they gave."},"BankRailWalletRotationRequest":{"type":"object","properties":{"action":{"type":"string","enum":["abandon","complete"]},"approvalRequestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"requestedBy":{"$ref":"#/components/schemas/UserId"},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["action","approvalRequestId","requestedBy","requestedAt"],"additionalProperties":false,"description":"The request another bank rail manager decides; the manager who made it cannot decide it."},"BankRailWalletRotationState":{"type":"string","enum":["contained","abandon-requested","abandoned","complete-requested","approved","complete"],"description":"contained from the moment a bank rail manager stops the rail signing with the wallet, abandon-requested while another bank rail manager decides a request to abandon a lost-key rotation, and abandoned once that request is approved and the rail signs with the wallet again. complete-requested while another bank rail manager decides a request to complete the rotation, approved once they approve it and until the rail has moved to the staged wallet, and complete once the staged wallet is the rail wallet and the contained one is retired."},"BankRailWalletRotationReason":{"type":"string","enum":["compromised","lost"],"description":"compromised when someone else may hold the rail wallet's key, lost when nobody can sign with it any more. A rotation for a compromised key cannot be abandoned."},"BankRailWalletRotationDecision":{"anyOf":[{"type":"object","properties":{"decision":{"type":"string","enum":["approve"]}},"required":["decision"],"additionalProperties":false},{"type":"object","properties":{"decision":{"type":"string","enum":["reject"]},"reason":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500}},"required":["decision","reason"],"additionalProperties":false}],"description":"A decision on the rotation's open request. A rejection names its reason."},"BankRailWalletRotationTransition":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["abandon","complete"]}},"required":["transition"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["revoke-old"]},"tokenLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"A token link the rotation suspended."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition","tokenLinkId"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["grant-new"]},"tokenLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"A token link the rotation suspended."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition","tokenLinkId"],"additionalProperties":false}],"description":"abandon asks another bank rail manager to end a lost-key rotation: once approved, the rail signs with the wallet again and reinstates the links that still pass their checks. complete asks another bank rail manager to finish the rotation once the staged wallet alone holds every link's supply authority, every delegate link's staged escrow is ready, the contained wallet has no queued writes and holds no token outside a freeze, its escrows are empty, and the staged wallet holds every link's open suspense; once approved, the rail moves every link, credit and the custody binding to the staged wallet, reinstates the links and retires the contained wallet. revoke-old takes the token's supply authority from the contained wallet, and grant-new gives it to the staged wallet once nobody holds it; your own wallet signs both, so you need the token's admin role in booked mode or its governor role in delegate mode."},"BankRailWalletRotation":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"reason":{"$ref":"#/components/schemas/BankRailWalletRotationReason"},"note":{"anyOf":[{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500},{"type":"null"}]},"state":{"$ref":"#/components/schemas/BankRailWalletRotationState"},"oldGeneration":{"type":"integer","minimum":1,"maximum":9007199254740991},"oldWallet":{"$ref":"#/components/schemas/EvmAddress"},"stagedGeneration":{"anyOf":[{"type":"integer","minimum":2,"maximum":9007199254740991},{"type":"null"}]},"stagedWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The next rail wallet generation, once the rotation has staged one."},"request":{"anyOf":[{"$ref":"#/components/schemas/BankRailWalletRotationRequest"},{"type":"null"}]},"rejection":{"anyOf":[{"$ref":"#/components/schemas/BankRailWalletRotationRejection"},{"type":"null"}]},"handoverStartedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When a manager first submitted a revoke or grant of supply authority for the rotation; from then on it can only complete, never be abandoned."},"containedBy":{"$ref":"#/components/schemas/UserId"},"containedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"closedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"rowVersion":{"type":"integer","minimum":1,"maximum":9007199254740991},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","chainId","reason","note","state","oldGeneration","oldWallet","stagedGeneration","stagedWallet","request","rejection","handoverStartedAt","containedBy","containedAt","closedAt","rowVersion","updatedAt"],"additionalProperties":false,"description":"A rotation of the organisation's rail wallet on one chain. It starts by containing the wallet: the rail stops signing with it and suspends every token link on the chain."},"BankRailWalletRotationCreatePayload":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/BankRailWalletRotationReason"},"note":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500},"providerConfigurationId":{"allOf":[{"$ref":"#/components/schemas/CustodyProviderConfigurationId"},{"description":"The custody provider configuration that holds the next rail wallet's key. Defaults to the configuration that holds the contained wallet's key."}]}},"required":["reason"],"additionalProperties":false,"description":"Contains the rail wallet on the request's chain at once: the rail signs nothing more with it, and every token link on the chain is suspended. It then stages the next rail wallet generation, a new key the rail does not sign with until the rotation completes. Repeating it while a rotation is open returns that rotation and stages the next generation if the rotation has none yet; reporting compromised on an open lost-key rotation makes it a compromised one and drops any request to abandon it."},"BankRailWallet":{"type":"object","properties":{"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"generation":{"type":"integer","minimum":1,"maximum":9007199254740991},"state":{"$ref":"#/components/schemas/BankRailWalletState"},"address":{"$ref":"#/components/schemas/EvmAddress"},"walletId":{"$ref":"#/components/schemas/WalletId"},"rotation":{"anyOf":[{"$ref":"#/components/schemas/BankRailWalletRotation"},{"type":"null"}],"description":"The rotation that is still open on the chain, if any."}},"required":["organizationId","chainId","generation","state","address","walletId","rotation"],"additionalProperties":false,"description":"The organisation's rail wallet on the request's chain: the key that mints and burns for every bank connection on the chain, its generation and whether the rail signs with it."},"BankRailWalletState":{"type":"string","enum":["staged","active","contained","retired"],"description":"active while the rail signs with this generation's key, contained once a bank rail manager stopped the rail signing with it, retired after a rotation replaced it. staged is a next generation a rotation prepared and the rail does not sign with yet."},"BankCashOut":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The cash-out, also the instruction id the bank reports against."},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"tokenLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode_1"},"lineId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The redemption line; null in delegate mode."},"escrow":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The rail's escrow that holds the tokens; null in booked mode."},"lockId":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The escrow lock that holds the tokens; it changes once when a checker's approval relocks it. Null in booked mode."},"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"clientAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"destinationAccount":{"type":"string","minLength":1,"description":"The IBAN or account number the payment goes to, fixed when the cash-out was requested."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The payout in the currency, as the bank's decimal."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"phase":{"$ref":"#/components/schemas/BankCashOutPhase"},"releaseReason":{"anyOf":[{"$ref":"#/components/schemas/BankCashOutReleaseReason"},{"type":"null"}]},"requestedBy":{"$ref":"#/components/schemas/UserId_5"},"approvalId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The approval a second bank rail manager decides; null when the amount needs no checker."},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The checker who approved or rejected the cash-out."},"deadlineAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The payout deadline: the bank must report the payment by then or the rail releases the tokens. Booked mode sets it on approval; delegate mode sets it when the tokens are locked, as the lock's end date after which the holder may reclaim them, and again when a checker's approval relocks them."},"paymentCutOffTime":{"anyOf":[{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},{"type":"null"}],"description":"The bank's cut-off this cash-out was requested under, read in paymentTimeZone. A later change to the connection does not touch it. Null means none."},"paymentTimeZone":{"type":"string"},"expectedValueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The business day the bank should value the payment on, as YYYY-MM-DD. It moves to a later day when the bank closes before the instruction goes out. Null on a cash-out from before the rail kept value dates."},"releaseAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The bank's next opening, when an approved cash-out is queued because the bank is closed or past its cut-off. No instruction goes out before it. Null when no wait was needed."},"instructedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the rail sent the payment instruction."},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the bank reported the payment settled."},"bankTxId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The bank's transaction id for the payment."},"txHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The booking or cancellation transaction, once it settled."},"recovery":{"anyOf":[{"$ref":"#/components/schemas/BankCashOutRecovery"},{"type":"null"}]},"bookedBy":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The account that booked the redemption line when it was not the rail wallet; null when the rail booked it or it is not booked yet. Booked mode only."},"returns":{"type":"array","items":{"$ref":"#/components/schemas/BankCashOutReturn"},"description":"What the receiving bank sent back of the payout, oldest first; empty when nothing came back."},"caseId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The operations case the cash-out raised."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","tokenLinkId","chainId","token","supplyMode","lineId","escrow","lockId","clientLinkId","participantId","holder","clientAccountId","destinationAccount","amount","currency","phase","releaseReason","requestedBy","approvalId","decidedBy","deadlineAt","paymentCutOffTime","paymentTimeZone","expectedValueDate","releaseAt","instructedAt","settledAt","bankTxId","txHash","recovery","bookedBy","returns","caseId","createdAt","updatedAt"],"additionalProperties":false,"description":"A holder's tokens paid out by the bank to an approved account of the client. In booked mode the holder's redemption line holds them; in delegate mode the rail's escrow locks them. The bank's settled report burns them, a rejection or the deadline releases them."},"BankCashOutReturn":{"type":"object","properties":{"returnId":{"type":"string","minLength":1,"description":"The bank's id for the return, unique per cash-out."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The amount the bank returned, as the bank's decimal."},"valueDate":{"$ref":"#/components/schemas/TimestampEncoded"},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"creditId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The credit that re-credits the return to the client; null until the tokens are burnt and the rail admits it."}},"required":["returnId","amount","valueDate","receivedAt","creditId"],"additionalProperties":false,"description":"A part or all of a cash-out's payout that the receiving bank sent back."},"BankCashOutRecovery":{"type":"object","properties":{"units":{"type":"string","pattern":"^-?\\d+$"},"burntUnits":{"type":"string","pattern":"^-?\\d+$"},"forcedTransferTxHash":{"$ref":"#/components/schemas/EthereumHashEncoded"}},"required":["units","burntUnits","forcedTransferTxHash"],"additionalProperties":false,"description":"Tokens of a paid cash-out recovered from an escrow the current rail wallet does not control. The cash-out reads paid once the burnt units reach its amount."},"UserId_5":{"type":"string","minLength":1,"description":"The user who requested the cash-out: the holder or a manager."},"BankCashOutReleaseReason":{"type":"string","enum":["refused","rejected","expired","withdrawn","account-inactive","link-inactive","not-locked","reclaimed","escrow-evacuated","participant-restricted"],"description":"refused: the checker rejected the cash-out; rejected: the bank rejected the payment; expired: the payout deadline left less than the settlement window, or passed without a report; withdrawn: the holder cancelled the line before the payment went out; account-inactive: the bank account was revoked before the payment went out; link-inactive: the token link stopped being active before the payment went out; not-locked: the escrow could not take the holder's tokens, most often because the holder has not approved the escrow for the amount; reclaimed: the holder took the tokens back from the escrow after the lock's deadline, before the payment went out; escrow-evacuated: a token custodian moved the locked tokens back to the holder out of an escrow the current rail wallet no longer controls, before the payment went out; participant-restricted: the holder's participant account was suspended, closed, terminated or restricted from withdrawals before the payment went out."},"BankCashOutPhase":{"type":"string","enum":["locking","awaiting-checker","approved","instructing","instructed","settled","paid","releasing","released","unbooked","returning","returned"],"description":"locking: delegate mode only, the rail pulls the holder's tokens into its escrow and locks them until the payout deadline; awaiting-checker: the amount is above the token link's threshold, so a bank rail manager other than the requester has to approve it; approved: the rail checks the line or the lock, the account and the time left before it sends the payment, and in delegate mode relocks a cash-out a checker approved so the bank gets the full payout deadline; instructing: the bank FIX session sends the payment instruction next; instructed: the bank has the instruction and has not reported it paid or rejected; settled: the bank paid the client, and the rail books the line, or pays the lock to the rail wallet and burns it there; paid: the tokens are burnt; releasing: the rail cancels the line or unlocks the tokens, releaseReason says why; released: the holder's tokens are free again, in delegate mode as the holder's free escrow balance; unbooked: the bank paid but the tokens could not be burnt, and a critical operations case names the unbacked amount; returning: the tokens are burnt and the bank reported some or all of the payout returned, so the rail admits a credit to the client for each return; returned: every return has its credit, and each credit mints only once a bank rail manager approves it."},"BankSupplyMode_1":{"type":"string","enum":["booked","delegate"],"description":"booked: the holder's redemption line holds the tokens and booking it burns them; delegate: the rail's escrow locks the tokens and the rail burns them as the token's supply delegate."},"ParticipantBankCashOutCreatePayload":{"anyOf":[{"$ref":"#/components/schemas/ParticipantBankLineCashOutCreate"},{"$ref":"#/components/schemas/ParticipantBankEscrowCashOutCreate"}]},"ParticipantBankEscrowCashOutCreate":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The payout in the token link's currency, as a decimal with at most the currency's minor units."},"clientAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The participant's active bank account the payment goes to."}},"required":["connectionId","amount","clientAccountId"],"additionalProperties":false,"description":"Delegate mode: pays out the amount from the participant's linked wallet, which must have approved the rail's escrow for at least the amount in token units, to one of its own active bank accounts. Send an Idempotency-Key header to make a retry return the stored cash-out."},"ParticipantBankLineCashOutCreate":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"lineId":{"type":"string","pattern":"^-?\\d+$"},"clientAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The client's active bank account the payment goes to; its client link's wallet must hold the line."}},"required":["connectionId","lineId","clientAccountId"],"additionalProperties":false,"description":"Booked mode: pays out a redemption line the participant requested to one of its own active bank accounts. Sending the same line again returns the stored cash-out."},"BankCashOutList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankCashOut"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"ParticipantBankCashOutListFilter":{"type":"object","properties":{"progress":{"$ref":"#/components/schemas/BankCashOutProgress"}},"additionalProperties":false},"BankCashOutProgress":{"type":"string","enum":["open","done"],"description":"open: the cash-out is still in flight; done: the cash-out was paid, released or returned."},"BankRedemptionRequestList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankRedemptionRequest"}}},"required":["data"],"additionalProperties":false},"BankRedemptionRequest":{"type":"object","properties":{"lineId":{"type":"string","pattern":"^-?\\d+$"},"holder":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"What the line pays out, in the currency."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"openedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["lineId","holder","amount","currency","openedAt"],"additionalProperties":false,"description":"A redemption line the client's wallet requested on the token that no cash-out pays yet."},"BankCashOutRecover":{"type":"object","properties":{"action":{"type":"string","enum":["recover"]}},"required":["action"],"additionalProperties":false,"description":"Records the units a token custodian's forced transfer moved out of an unbooked cash-out's lock to the rail wallet, and burns them from the rail wallet. Sending it again after the same forced transfer returns the stored cash-out."},"BankCashOutDecision":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The cash-out's open approval, from its approvalId."}},"required":["action","approvalId"],"additionalProperties":false,"description":"A checker's decision on a cash-out above the threshold: approve sends the payment, reject cancels the line. The requester cannot decide it."},"BankCashOutEncoded":{"type":"string","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/BankCashOut"}},"BankCashOutCreatePayload":{"type":"object","properties":{"lineId":{"type":"string","pattern":"^-?\\d+$"},"clientAccountId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The client's active bank account the payment goes to; its client link's wallet must hold the line."}},"required":["lineId","clientAccountId"],"additionalProperties":false,"description":"Pays out a redemption line the client requested on the connection's token. Sending the same line again returns the stored cash-out."},"BankReserveAdjustment":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"reason":{"$ref":"#/components/schemas/BankReserveAdjustmentReason"},"bankReference":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The bank's reference for the posting the adjustment explains, such as the statement line. One reference can back only one live adjustment on a connection."},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"state":{"$ref":"#/components/schemas/BankReserveAdjustmentState"},"recallId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The credit recall whose write-down this is; null for an adjustment a manager proposed."},"approvalRequestId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"requestedBy":{"$ref":"#/components/schemas/UserId"},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"amount":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"The signed change the posting made to the bank's balance, in token units: a fee is negative, interest is positive."}},"required":["id","connectionId","organizationId","reason","bankReference","effectiveAt","state","recallId","approvalRequestId","requestedBy","decidedBy","decidedAt","createdAt","amount"],"additionalProperties":false,"description":"An operator-recorded posting on the reserve account that neither a credit nor a redemption explains, such as a bank fee or interest, and who proposed and decided it."},"BankReserveAdjustmentState":{"type":"string","enum":["proposed","approved","rejected"],"description":"proposed until a bank rail manager other than the proposer approves it or rejects it. Only an approved adjustment explains a difference on the reserve line."},"BankReserveAdjustmentReason":{"type":"string","enum":["bank-fee","interest","refund-to-payer","opening-balance","credit-recall"],"description":"Why the bank's balance moved without a credit or redemption: a bank fee, interest the bank paid, a refund to a payer, the balance a token already had when it was linked, or the part of a recalled credit the rail could not take back (credit-recall), which only the rail records when the recall completes."},"BankReserveAdjustmentDecisionPayload":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["approve"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["reject"]}},"required":["action"],"additionalProperties":false}],"description":"A decision on a proposed adjustment. The manager who proposed it cannot decide it."},"BankReserveAdjustmentCreatePayload":{"type":"object","properties":{"reason":{"$ref":"#/components/schemas/BankReserveAdjustmentManualReason"},"amount":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more.","allOf":[{"pattern":"^-?(?:0*[1-9]\\d*(?:\\.\\d+)?|0+\\.\\d*[1-9]\\d*)$","description":"The signed change the posting made to the bank's balance, in token units of the connection's linked token. It cannot be zero or carry more fraction digits than the token has."}]},"bankReference":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The bank's reference for the posting the adjustment explains, such as the statement line. One reference can back only one live adjustment on a connection."},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["reason","amount","bankReference","effectiveAt"],"additionalProperties":false,"description":"A reserve adjustment to record. It starts proposed and explains nothing until another bank rail manager approves it."},"BankReserveAdjustmentManualReason":{"type":"string","enum":["bank-fee","interest","refund-to-payer","opening-balance"],"description":"Why the bank's balance moved without a credit or redemption: a bank fee, interest the bank paid, a refund to a payer, or the balance a token already had when it was linked."},"BankReserveAdjustmentList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankReserveAdjustment"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankDepositMineList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankDepositMine"}},"meta":{"type":"object","properties":{"total":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"facets":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/CollectionFacetEntry"}}},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor for the page after this one, or `null` on the last page. Send it as `page[cursor]` with the same `sort` and filters. A cursor read at any depth costs the same as the first page, so follow it until it is `null` to read every row.","examples":["eyJiaW5kaW5nIjoiMWY5YzJlNGE3YjNkOGU2MCIsImtleSI6WyIyMDI2LTAxLTAxIDEwOjAwOjAwLjEyMzQ1NiswMCIsIjAxOThmM2EyLTdjNDEtN2UyYi05ZDU1LTNmMWE4YjZjMmUxMCJdfQ",null]}},"required":["total","nextCursor"],"additionalProperties":false},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankDepositMine":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The amount the bank credited, as the bank's decimal: 1250.50 is 1,250.50 of the currency."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"valueDate":{"$ref":"#/components/schemas/TimestampEncoded"},"reference":{"type":"string","minLength":1,"description":"The payment reference on a reference connection, or the credited virtual IBAN on a virtual-iban connection."},"outcome":{"$ref":"#/components/schemas/BankDepositOutcome"},"mintTxHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The mint transaction once the outcome is minted, else null."},"recipient":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet holding the minted tokens once the outcome is minted, else null."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","amount","currency","valueDate","reference","outcome","mintTxHash","recipient","createdAt"],"additionalProperties":false,"description":"One bank payment of the caller: what arrived, its outcome, and the mint that paid it."},"BankDepositOutcome":{"type":"string","enum":["minted","waiting","returned"],"description":"minted: the payment's tokens are in the client's wallet; waiting: the payment arrived and is not in the wallet yet; returned: the bank refunded the payer."},"BankDepositMineFilters":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":1000},"progress":{"$ref":"#/components/schemas/BankDepositProgress"}},"additionalProperties":false},"BankDepositProgress":{"type":"string","enum":["open","done"],"description":"open: the deposit still waits; done: the deposit minted or was returned."},"BankClientLinkMineList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankClientLinkMine"}}},"required":["data"],"additionalProperties":false},"BankClientLinkMine":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"bankName":{"type":"string","description":"The bank's name on the connection."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"key":{"$ref":"#/components/schemas/BankClientKey"},"reserveAccount":{"$ref":"#/components/schemas/BankReserveAccount"},"token":{"$ref":"#/components/schemas/BankClientLinkMineToken"},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"escrow":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The rail wallet's escrow on the token's chain while exactly one is ready, else null."},"escrowStatus":{"$ref":"#/components/schemas/BankClientLinkMineEscrowStatus"},"state":{"$ref":"#/components/schemas/BankClientLinkMineState"},"payoutTiming":{"$ref":"#/components/schemas/BankClientLinkMinePayoutTiming"},"wallet":{"$ref":"#/components/schemas/EvmAddress"}},"required":["id","connectionId","bankName","currency","key","reserveAccount","token","supplyMode","escrow","escrowStatus","state","payoutTiming","wallet"],"additionalProperties":false,"description":"One bank connection the caller is a client of: where to pay, the key that matches the client's credits, the token they mint and the escrow a delegate-mode cash-out approves."},"BankClientLinkMinePayoutTiming":{"type":"object","properties":{"cutOffTime":{"anyOf":[{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},{"type":"null"}],"description":"The bank's cut-off, read in timeZone. Null means the whole business day takes payments."},"timeZone":{"type":"string"},"expectedValueDate":{"type":"string"}},"required":["cutOffTime","timeZone","expectedValueDate"],"additionalProperties":false,"description":"What a client should expect of a cash-out on this connection if it were approved now."},"BankClientLinkMineState":{"type":"string","enum":["active","paused"],"description":"active while the connection is active and its token link serves; paused while the connection or token link is not active, including a token link suspended for a rail wallet rotation."},"BankClientLinkMineEscrowStatus":{"type":"string","enum":["ready","pending","unavailable"],"description":"ready when the rail wallet controls exactly one escrow on the token's chain; pending while it controls none or its creation is not indexed yet; unavailable when it controls more than one, the organisation has no active system on the chain, or the link is in booked mode and cash-outs hold no escrow."},"BankClientLinkMineToken":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"address":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":0,"maximum":77}},"required":["chainId","address","decimals"],"additionalProperties":false,"description":"The token the connection's credits mint, on its chain."},"BankReserveAccount":{"type":"object","properties":{"accountId":{"type":"string","minLength":1,"maxLength":64},"currency":{"$ref":"#/components/schemas/FiatCurrency"}},"required":["accountId","currency"],"additionalProperties":false,"description":"The organisation's reserve account at the bank and its ISO 4217 currency."},"BankClientKey":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["reference"]},"reference":{"type":"string","minLength":1}},"required":["_tag","reference"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["virtual-iban"]},"iban":{"type":"string","pattern":"^[A-Z]{2}\\d{2}[A-Z0-9]{11,30}$"}},"required":["_tag","iban"],"additionalProperties":false}],"description":"What identifies the client's credits on the connection: the payment reference DALP gave the client, or the virtual IBAN the bank assigned to the client."},"BankClientAccount":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"account":{"$ref":"#/components/schemas/BankAccountDetails"},"holderName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The name the account is held in at the bank."},"bankName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The bank that holds the account."},"state":{"$ref":"#/components/schemas/BankClientAccountState"},"proposedBy":{"$ref":"#/components/schemas/UserId"},"reviewedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"reviewReason":{"anyOf":[{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"Why the manager refused or revoked the account."},{"type":"null"}]},"reviewedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"revokedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"revokeReason":{"anyOf":[{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"Why the manager refused or revoked the account."},{"type":"null"}]},"revokedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","clientLinkId","participantId","account","holderName","bankName","state","proposedBy","reviewedBy","reviewReason","reviewedAt","revokedBy","revokeReason","revokedAt","rowVersion","createdAt","updatedAt"],"additionalProperties":false,"description":"A bank account of a client of the connection that payouts may go to, with who proposed it and who reviewed or revoked it."},"BankClientAccountState":{"type":"string","enum":["proposed","active","refused","revoked"],"description":"proposed until a manager other than the proposer approves it (active) or a manager refuses it (refused); an active account can be revoked. Only an active account can receive a payout."},"BankAccountDetails":{"anyOf":[{"type":"object","properties":{"_tag":{"type":"string","enum":["iban"]},"iban":{"type":"string","pattern":"^[A-Z]{2}\\d{2}[A-Z0-9]{11,30}$"}},"required":["_tag","iban"],"additionalProperties":false},{"type":"object","properties":{"_tag":{"type":"string","enum":["account-number"]},"accountNumber":{"type":"string","pattern":"^[A-Z0-9]{1,34}$","description":"The account number at the bank, in capitals and digits with no spaces or separators."},"bankIdentifier":{"type":"string","pattern":"^[A-Z0-9]{1,35}$","description":"What identifies the bank for this account number, such as its BIC, routing number or sort code, in capitals and digits."}},"required":["_tag","accountNumber","bankIdentifier"],"additionalProperties":false}],"description":"Where a payout goes: an IBAN with valid check digits, or an account number together with the identifier of the bank that holds it."},"ParticipantBankAccountCreatePayload":{"type":"object","properties":{"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The caller's own client link the account belongs to."},"account":{"$ref":"#/components/schemas/BankAccountDetails"},"holderName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The name the account is held in at the bank."},"bankName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The bank that holds the account."}},"required":["clientLinkId","account","holderName","bankName"],"additionalProperties":false,"description":"A bank account the participant registers on one of its own client links. It starts proposed and receives no payout until a bank rail manager approves it."},"BankClientAccountList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankClientAccount"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankClientAccountDecisionPayload":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["approve"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["refuse"]},"reason":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"Why the manager refused or revoked the account."}},"required":["action","reason"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["revoke"]},"reason":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"Why the manager refused or revoked the account."}},"required":["action","reason"],"additionalProperties":false}],"description":"Approve, refuse, or revoke the client's bank account; refuse and revoke require a reason."},"BankClientAccountCreatePayload":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/BankAccountDetails"},"holderName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The name the account is held in at the bank."},"bankName":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":140,"description":"The bank that holds the account."}},"required":["account","holderName","bankName"],"additionalProperties":false,"description":"The client's bank account details. The account starts proposed and receives no payout until approved."},"BankDailyReconciliationExport":{"type":"object","properties":{"filename":{"type":"string"},"contentType":{"type":"string","enum":["text/csv"]},"csv":{"type":"string"}},"required":["filename","contentType","csv"],"additionalProperties":false},"BankDailyReconciliation":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"date":{"type":"string"},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"cutoff":{"$ref":"#/components/schemas/BankReportCutoff_1"},"cutoffAt":{"$ref":"#/components/schemas/TimestampEncoded"},"runAt":{"$ref":"#/components/schemas/TimestampEncoded"},"trigger":{"type":"string","enum":["manual","scheduled"]},"actorUserId":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"pins":{"$ref":"#/components/schemas/BankDailyEvidencePins"},"line":{"$ref":"#/components/schemas/BankDailyReconciliationLine"},"ledger":{"anyOf":[{"$ref":"#/components/schemas/BankDailyLedgerLeg"},{"type":"null"}],"description":"The general-ledger leg; null when the organisation's accounting rules post no bank credit in the connection's currency, so the ledger is not part of this reconciliation."},"unavailableReasons":{"type":"array","items":{"type":"string","minLength":1}},"openCaseCount":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}],"description":"Distinct unresolved reconciliation case subjects of this connection, its token links and its daily reports, read at runAt; null means the case count was unavailable."}},"required":["connectionId","date","version","cutoff","cutoffAt","runAt","trigger","actorUserId","pins","line","ledger","unavailableReasons","openCaseCount"],"additionalProperties":false,"description":"An immutable daily snapshot of both reconciliation lines and the general-ledger leg, computed from a report at or before the pinned cutoff, current indexed facts and the ledger balance as at the date. An empty unavailableReasons means complete, including an explained break."},"BankDailyLedgerLeg":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/BankDailyLedgerStatus"},"accountCode":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The Xero account code the organisation's accounting rules debit when a bank credit in this currency arrives; null when the balance could not be read."},"balance":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."},{"type":"null"}],"description":"The client-money account's general-ledger balance as at the end of the reconciliation date, in the currency's units; null when it could not be read."},"unexplained":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."},{"type":"null"}],"description":"The ledger balance minus the bank's reported balance. Positive: the ledger holds more than the bank reported; negative: the bank holds more. Null when either side is missing."}},"required":["status","accountCode","balance","unexplained"],"additionalProperties":false,"description":"The general-ledger leg of the three-way reconciliation: the organisation's Xero client-money balance against the bank's reported balance, which the reserve line already ties to the token's supply."},"BankDailyLedgerStatus":{"type":"string","enum":["clear","break","unavailable"],"description":"clear: the general ledger's client-money balance equals the bank's reported balance; break: they differ; unavailable: the ledger balance could not be read, or no bank report matches the linked token, so nothing is judged."},"BankDailyReconciliationLine":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"accountId":{"type":"string","minLength":1},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"status":{"$ref":"#/components/schemas/BankReconciliationStatus"},"report":{"anyOf":[{"type":"object","properties":{"balance":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The reserve account's balance the bank reported, in token units."},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"businessDay":{"type":"string"}},"required":["balance","asOf","receivedAt","businessDay"],"additionalProperties":false},{"type":"null"}]},"tokenLink":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The mint cap the rail wallet's supply delegation must carry; null when the delegation carries none, and always null in booked mode."}},"required":["id","chainId","token","state","supplyMode","railWallet","expectedMintCap"],"additionalProperties":false},{"type":"null"}]},"reserve":{"anyOf":[{"type":"object","properties":{"supply":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The token's indexed total supply now; null when it could not be read, never zero instead."},"pendingIn":{"$ref":"#/components/schemas/BankCreditTally"},"awaitingApproval":{"$ref":"#/components/schemas/BankCreditTally_1"},"mintedAfterReport":{"$ref":"#/components/schemas/BankCreditTally_2"},"adjustments":{"$ref":"#/components/schemas/BankSignedAdjustmentTally"},"paidNotBurnt":{"$ref":"#/components/schemas/BankCreditTally_3"},"burntAfterReport":{"$ref":"#/components/schemas/BankCreditTally_4"},"bookedAheadOfPayment":{"$ref":"#/components/schemas/BankCreditTally_5"},"recalledNotBurnt":{"$ref":"#/components/schemas/BankCreditTally_6"},"recallBurntAfterReport":{"$ref":"#/components/schemas/BankCreditTally_7"},"unexplained":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."},{"type":"null"}],"description":"Report balance minus supply, minus pending credits, minus approved adjustments, plus credits minted after the report, plus cash-outs paid and not burnt, minus cash-outs burnt after the report, minus cash-outs booked ahead of payment, plus reversed credits not burnt, minus recalls completed after the report."}},"required":["supply","pendingIn","awaitingApproval","mintedAfterReport","adjustments","paidNotBurnt","burntAfterReport","bookedAheadOfPayment","recalledNotBurnt","recallBurntAfterReport","unexplained"],"additionalProperties":false},{"type":"null"}],"description":"Bank balance against token supply; null without a report and a token link."},"suspense":{"anyOf":[{"type":"object","properties":{"railWalletBalance":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The indexed balance of the token summed over every listed rail wallet; null when it could not be read."},"heldInSuspense":{"$ref":"#/components/schemas/BankCreditTally_8"},"awaitingBurn":{"$ref":"#/components/schemas/BankCreditTally_9"},"inTransit":{"$ref":"#/components/schemas/BankCreditTally_10"},"inGateway":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"delivered":{"anyOf":[{"$ref":"#/components/schemas/BankDeliveredTally"},{"type":"null"}]},"returnedElsewhere":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"inRedemption":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"deliveryBreakdown":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/BankDeliveryBreakdownRow"}},{"type":"null"}]},"unexplained":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."},{"type":"null"}],"description":"The summed rail wallet balance minus the credits the rail holds in suspense, the clawed tokens awaiting their burn and the credits in transit to a custody gateway, excluding frozen retired wallets' holdings: zero while frozen holdings cover a positive difference, the remainder above them, and the raw difference when it is zero or negative."}},"required":["railWalletBalance","heldInSuspense","awaitingBurn","inTransit","unexplained"],"additionalProperties":false},{"type":"null"}],"description":"The rail wallet's balance against what it holds in suspense or in transit to a custody gateway; null without a token link."},"railWallets":{"type":"array","items":{"$ref":"#/components/schemas/BankReconciliationRailWallet"},"description":"The rail wallets the line is judged against, oldest generation first: the wallet the link is pinned to, the organisation's current rail wallet on the chain, the open rotation's staged wallet, and every retired generation with its current balance. Empty without a token link."},"rotation":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"state":{"$ref":"#/components/schemas/BankRailWalletRotationState"}},"required":["id","state"],"additionalProperties":false},{"type":"null"}],"description":"The rail wallet rotation still open on the link's chain, if any."},"suspenseOldestAgeBusinessDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"How many business days the oldest credit held in suspense has waited, on the connection's calendar; null when none is held."},"overdueCredits":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}],"description":"Credits still unminted after the connection's settlement window, counted in business time; null without a token link. Each raised its own case and no longer explains a difference."},"overdueRecalls":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}],"description":"Recalls still open after the connection's settlement window, counted in business time; null without a token link. Each raised its own case and no longer explains a difference."},"supplyRoleHolders":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Every account that holds the token's supply management role."},"otherSupplyRoleHolders":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Supply management role holders the link's supply mode does not allow: anyone but the rail wallet in booked mode, everyone in delegate mode. Any entry is a break."},"supplyDelegates":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Every active supply delegate of the token's supply delegate feature; empty in booked mode."},"otherSupplyDelegates":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Supply delegates other than the rail wallet that holds the authority. Any entry is a break."},"railWalletAuthorised":{"type":"boolean","description":"Whether exactly one listed rail wallet holds the supply authority the link's mode needs: the supply management role in booked mode, a supply delegate that may mint and burn, carries the link's expected mint cap and does not vouch for callers in delegate mode. False with readable token facts is a break; true without a token link or readable facts."}},"required":["connectionId","accountId","currency","status","report","tokenLink","reserve","suspense","railWallets","rotation","suspenseOldestAgeBusinessDays","overdueCredits","overdueRecalls","supplyRoleHolders","otherSupplyRoleHolders","supplyDelegates","otherSupplyDelegates","railWalletAuthorised"],"additionalProperties":false,"description":"Both reconciliation lines at this run, without the live evaluator's break streak."},"BankCreditTally_11":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false},"BankReconciliationRailWallet":{"type":"object","properties":{"address":{"$ref":"#/components/schemas/EvmAddress"},"generation":{"type":"integer","minimum":1,"maximum":9007199254740991},"state":{"$ref":"#/components/schemas/BankRailWalletState"},"balance":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The wallet's indexed balance of the token; null when the token's facts could not be read."},"authorised":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Whether this wallet holds the supply authority the link's mode needs; null when the token's facts could not be read."},"mintCap":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The mint cap of the wallet's indexed supply delegation, with 0 for none; null when the wallet is not a supply delegate or the token's facts could not be read."},"inTransit":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"returnedElsewhere":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]}},"required":["address","generation","state","balance","authorised","mintCap"],"additionalProperties":false,"description":"One rail wallet generation the suspense line and the supply authority are judged against."},"BankDeliveryBreakdownRow":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/BankCreditDeliveryState"},"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["state","count","amount"],"additionalProperties":false,"description":"The credits in one delivery state and the coins still on their delivery path."},"BankCreditDeliveryState":{"type":"string","enum":["minted-undelivered","sending","send-failed","sent-unreported","quarantined","refused","settled","returned","unattributed","cancelled"],"description":"Where a credit for a client that takes delivery through a custody gateway stands on its way there. minted-undelivered: the rail wallet holds the minted coins and has not sent them yet; sending: the transfer to the gateway is being submitted; send-failed: the transfer, or the check before it, failed and the rail wallet still holds the coins; sent-unreported: the coins reached the gateway and its keeper has not reported the deposit yet; unattributed: the keeper reports no deposit for the transfer yet; quarantined: the gateway holds the deposit for screening; refused: the gateway refused the deposit and holds the coins in escrow; settled: the gateway accepted the deposit and issued receipts; returned: the gateway paid the coins back; cancelled: a recall burnt the coins before they left the rail wallet."},"BankDeliveredTally":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"coins":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The coins the gateway accepted, in token units."},"receipts":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The receipts the gateway issued for them, in the receipt token's units: the coins less the gateway's fee."}},"required":["count","coins","receipts"],"additionalProperties":false},"BankCreditTally_10":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Credits the rail minted to its own wallet to deliver to a client's custody gateway that the rail wallet still holds: not sent yet, being sent, whose send failed without moving them, or paid back to the rail wallet. A transfer that reached the gateway just before this read can lower the balance before it leaves this term, which shows as a short-lived negative difference."},"BankCreditTally_9":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Tokens a custodian clawed back into the rail wallet that the rail has not burnt for an open recall, or returned to the client as excess yet, including excess a recalled recall still owes."},"BankCreditTally_8":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Parked credits the rail minted to its own wallet and has not allocated or returned yet."},"BankCreditTally_7":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Recalls the bank reversed after the report's time that the rail already completed, less what it wrote down: the report still holds the money, the supply or the pending credits no longer count the tokens the rail burnt or the credit it cancelled."},"BankCreditTally_6":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Credits the bank reversed at or before the report's time whose recall is still open and within the settlement window: the bank no longer holds the money, the supply or the pending credits still count it."},"BankCreditTally_5":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Cash-outs whose redemption line another supply manager booked before the bank paid: the supply no longer counts the tokens, the report still holds the money. Counted until the bank reports the payment."},"BankCreditTally_4":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Cash-outs the bank reported paid after the report's time whose line is already booked: the report still holds the money, the supply no longer counts the tokens."},"BankCreditTally_3":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Cash-outs the bank reported paid at or before the report's time whose line is not booked yet: the bank no longer holds the money, the supply still counts the tokens."},"BankSignedAdjustmentTally":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."}},"required":["count","amount"],"additionalProperties":false,"description":"Approved reserve adjustments the bank applied at or before the report's time: the bank's balance moved by this much without a credit or redemption."},"BankCreditTally_2":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Credits the rail minted that the report does not hold yet, because the rail received them after the report's time or the bank values them after the report's business day: the supply counts them, the report does not. A later value date stops explaining a credit once it is older than the settlement window."},"BankCreditTally_1":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"The part of pendingIn waiting for a second bank rail manager to approve its mint; never counted as overdue."},"BankCreditTally":{"type":"object","properties":{"count":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."}},"required":["count","amount"],"additionalProperties":false,"description":"Credits the rail received at or before the report's time and has not minted yet: the bank counts them, the supply does not."},"BankTokenLinkState":{"type":"string","enum":["pending-role","active","suspended"],"description":"pending-role until activation finds the rail wallet the only holder of the token's supply authority (the supply management role in booked mode, the supply delegate in delegate mode); active once the rail mints and burns the token for the connection; suspended when the token's features no longer fit its supply mode, until a manager activates it again. A suspended link still records the bank's credits and balances but mints nothing."},"BankReconciliationStatus":{"type":"string","enum":["no-report","unavailable","break","clear"],"description":"no-report: the bank has sent no balance report for the reserve account, or the connection has no active or suspended token link; unavailable: the token's supply, a rail wallet's balance or the token's roles could not be read, so nothing is judged; break: a difference on either line is unexplained, another account holds the token's supply authority, no rail wallet or more than one holds it, or a retired rail wallet that the token has not frozen still holds tokens (a frozen retired wallet's holding is a warning case, not a break); clear: both lines are explained."},"BankDailyEvidencePins":{"type":"object","properties":{"balanceReportAsOf":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"indexedBlock":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}]}},"required":["balanceReportAsOf","indexedBlock"],"additionalProperties":false,"description":"The selected bank report's value time and the stable drained indexed block used for current facts; null means that evidence was unavailable."},"BankReportCutoff_1":{"type":"object","properties":{"time":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$"},"timeZone":{"type":"string"}},"required":["time","timeZone"],"additionalProperties":false,"description":"The daily report's cutoff as local HH:MM:SS and an IANA time zone."},"BankDailyReconciliationList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankDailyReconciliation"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankReconciliation":{"type":"object","properties":{"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"accountId":{"type":"string","minLength":1},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"status":{"$ref":"#/components/schemas/BankReconciliationStatus"},"report":{"anyOf":[{"type":"object","properties":{"balance":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The reserve account's balance the bank reported, in token units."},"asOf":{"$ref":"#/components/schemas/TimestampEncoded"},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"businessDay":{"type":"string"}},"required":["balance","asOf","receivedAt","businessDay"],"additionalProperties":false},{"type":"null"}]},"tokenLink":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The mint cap the rail wallet's supply delegation must carry; null when the delegation carries none, and always null in booked mode."}},"required":["id","chainId","token","state","supplyMode","railWallet","expectedMintCap"],"additionalProperties":false},{"type":"null"}]},"reserve":{"anyOf":[{"type":"object","properties":{"supply":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The token's indexed total supply now; null when it could not be read, never zero instead."},"pendingIn":{"$ref":"#/components/schemas/BankCreditTally"},"awaitingApproval":{"$ref":"#/components/schemas/BankCreditTally_1"},"mintedAfterReport":{"$ref":"#/components/schemas/BankCreditTally_2"},"adjustments":{"$ref":"#/components/schemas/BankSignedAdjustmentTally"},"paidNotBurnt":{"$ref":"#/components/schemas/BankCreditTally_3"},"burntAfterReport":{"$ref":"#/components/schemas/BankCreditTally_4"},"bookedAheadOfPayment":{"$ref":"#/components/schemas/BankCreditTally_5"},"recalledNotBurnt":{"$ref":"#/components/schemas/BankCreditTally_6"},"recallBurntAfterReport":{"$ref":"#/components/schemas/BankCreditTally_7"},"unexplained":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."},{"type":"null"}],"description":"Report balance minus supply, minus pending credits, minus approved adjustments, plus credits minted after the report, plus cash-outs paid and not burnt, minus cash-outs burnt after the report, minus cash-outs booked ahead of payment, plus reversed credits not burnt, minus recalls completed after the report."}},"required":["supply","pendingIn","awaitingApproval","mintedAfterReport","adjustments","paidNotBurnt","burntAfterReport","bookedAheadOfPayment","recalledNotBurnt","recallBurntAfterReport","unexplained"],"additionalProperties":false},{"type":"null"}],"description":"Bank balance against token supply; null without a report and a token link."},"suspense":{"anyOf":[{"type":"object","properties":{"railWalletBalance":{"anyOf":[{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"An amount of the linked token in whole token units, as a decimal: 1250.5 is 1,250.5 tokens."},{"type":"null"}],"description":"The indexed balance of the token summed over every listed rail wallet; null when it could not be read."},"heldInSuspense":{"$ref":"#/components/schemas/BankCreditTally_8"},"awaitingBurn":{"$ref":"#/components/schemas/BankCreditTally_9"},"inTransit":{"$ref":"#/components/schemas/BankCreditTally_10"},"inGateway":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"delivered":{"anyOf":[{"$ref":"#/components/schemas/BankDeliveredTally"},{"type":"null"}]},"returnedElsewhere":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"inRedemption":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}]},"deliveryBreakdown":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/BankDeliveryBreakdownRow"}},{"type":"null"}]},"unexplained":{"anyOf":[{"type":"string","pattern":"^-?\\d+(?:\\.\\d+)?$","description":"A signed amount of the linked token in whole token units. Positive: the bank side holds more than the token side explains; negative: the token side holds more."},{"type":"null"}],"description":"The summed rail wallet balance minus the credits the rail holds in suspense, the clawed tokens awaiting their burn and the credits in transit to a custody gateway, excluding frozen retired wallets' holdings: zero while frozen holdings cover a positive difference, the remainder above them, and the raw difference when it is zero or negative."}},"required":["railWalletBalance","heldInSuspense","awaitingBurn","inTransit","unexplained"],"additionalProperties":false},{"type":"null"}],"description":"The rail wallet's balance against what it holds in suspense or in transit to a custody gateway; null without a token link."},"railWallets":{"type":"array","items":{"$ref":"#/components/schemas/BankReconciliationRailWallet"},"description":"The rail wallets the line is judged against, oldest generation first: the wallet the link is pinned to, the organisation's current rail wallet on the chain, the open rotation's staged wallet, and every retired generation with its current balance. Empty without a token link."},"rotation":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"state":{"$ref":"#/components/schemas/BankRailWalletRotationState"}},"required":["id","state"],"additionalProperties":false},{"type":"null"}],"description":"The rail wallet rotation still open on the link's chain, if any."},"suspenseOldestAgeBusinessDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"How many business days the oldest credit held in suspense has waited, on the connection's calendar; null when none is held."},"overdueCredits":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}],"description":"Credits still unminted after the connection's settlement window, counted in business time; null without a token link. Each raised its own case and no longer explains a difference."},"overdueRecalls":{"anyOf":[{"$ref":"#/components/schemas/BankCreditTally_11"},{"type":"null"}],"description":"Recalls still open after the connection's settlement window, counted in business time; null without a token link. Each raised its own case and no longer explains a difference."},"supplyRoleHolders":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Every account that holds the token's supply management role."},"otherSupplyRoleHolders":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Supply management role holders the link's supply mode does not allow: anyone but the rail wallet in booked mode, everyone in delegate mode. Any entry is a break."},"supplyDelegates":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Every active supply delegate of the token's supply delegate feature; empty in booked mode."},"otherSupplyDelegates":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"Supply delegates other than the rail wallet that holds the authority. Any entry is a break."},"railWalletAuthorised":{"type":"boolean","description":"Whether exactly one listed rail wallet holds the supply authority the link's mode needs: the supply management role in booked mode, a supply delegate that may mint and burn, carries the link's expected mint cap and does not vouch for callers in delegate mode. False with readable token facts is a break; true without a token link or readable facts."},"consecutiveBreaks":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many evaluated reports in a row ended in a break. The second one raises a reconciliation-break case."},"breakSince":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The time of the first report of the current breaks."}},"required":["connectionId","accountId","currency","status","report","tokenLink","reserve","suspense","railWallets","rotation","suspenseOldestAgeBusinessDays","overdueCredits","overdueRecalls","supplyRoleHolders","otherSupplyRoleHolders","supplyDelegates","otherSupplyDelegates","railWalletAuthorised","consecutiveBreaks","breakSince"],"additionalProperties":false,"description":"Whether the connection's reserve account and its token agree: the bank's newest balance report against the token's supply, and the rail wallets' balance against the credits the rail holds in suspense."},"BankCreditRecall":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"creditId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The credit the bank reversed."},"reversalId":{"type":"string","minLength":1,"description":"The bank's identifier for the reversal (FIX tag 162)."},"originalBankTxId":{"type":"string","minLength":1,"description":"The bank transaction id of the reversed credit."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The amount the bank reversed, as the bank's decimal. It can be less than the credit."},"units":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The token base units the recall takes back; null when the bank's amount has no token amount, which the rail cannot execute."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"valueDate":{"$ref":"#/components/schemas/TimestampEncoded"},"state":{"$ref":"#/components/schemas/BankCreditRecallState"},"approval":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallApproval"},{"type":"null"}],"description":"The open request, while the recall is awaiting-checker."},"action":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallAction"},{"type":"null"}],"description":"What the latest request asked for; null before any request."},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The manager who approved the request."},"approvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the request was approved. A forced transfer counts only from this time."},"abandonReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the requester asked to abandon it."},"execution":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallExecution"},{"type":"null"}]},"supplyMode":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyMode"},{"type":"null"}],"description":"The token link's supply mode at the request."},"targetWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet the tokens come back from: the client's, the wallet an allocation moved them to, or the rail wallet for suspense. Null for a cancel."},"lineId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The register line a booked correction corrects: the line that minted or allocated the tokens."},"delivery":{"anyOf":[{"$ref":"#/components/schemas/BankCreditDeliveryState"},{"type":"null"}],"description":"Where the credit's delivery to the client's custody gateway stood when the recall was requested; null for a credit that does not deliver through a gateway. It decides whether the rail burns the coins from its own wallet, waits for the gateway's managers to recover them, or takes back and redeems the receipts the gateway issued (settled)."},"receiptToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The custody gateway receipt token the recall takes back when the credit settled into receipts; null otherwise. Its recovered and excess units then count receipts until the redemption pays."},"redemption":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallRedemption"},{"type":"null"}],"description":"The rail wallet's redemption of the recovered receipts; null until the rail requests it."},"recoveredUnits":{"type":"string","pattern":"^-?\\d+$"},"excessUnits":{"type":"string","pattern":"^-?\\d+$"},"excessTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transfer that returned the excess."},"writtenDownUnits":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Token base units the recall could not take back, written down as a reserve adjustment effective at the reversal; set once the recall completes."},"txHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The burn or booked correction that took the tokens back."},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the recall ended recalled."},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","creditId","reversalId","originalBankTxId","amount","units","currency","valueDate","state","approval","action","decidedBy","approvedAt","abandonReason","execution","supplyMode","targetWallet","lineId","delivery","receiptToken","redemption","recoveredUnits","excessUnits","excessTxHash","writtenDownUnits","txHash","receivedAt","completedAt","updatedAt"],"additionalProperties":false,"description":"The bank's reversal of an earlier credit, recorded from its FIX message. While the recall is open the credit neither mints nor retries. One bank rail manager asks to execute or abandon it and another approves; executing takes the tokens back by cancel, burn, forced transfer or booked correction and writes down what it cannot take back."},"BankCreditRecallRedemption":{"type":"object","properties":{"gateway":{"$ref":"#/components/schemas/EvmAddress"},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"stage":{"$ref":"#/components/schemas/BankCreditRecallRedemptionStage"},"requestId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The withdrawal request id the gateway assigned; null until the request is mined."},"receiptUnits":{"type":"string","pattern":"^-?\\d+$"},"paidUnits":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Coin base units the gateway paid to the rail wallet; null until paid."}},"required":["gateway","wallet","stage","requestId","receiptUnits","paidUnits"],"additionalProperties":false,"description":"The rail wallet's redemption of recovered receipts through its own custody gateway."},"BankCreditRecallRedemptionStage":{"type":"string","enum":["approving","requesting","requested","in-review","awaiting-funds","claimable","paid","failed"],"description":"Where the rail wallet's redemption of the recovered receipts stands on its own custody gateway: approving while the rail wallet lets the gateway's escrow take the receipts, requesting while it submits the request, then the request's own stage (requested, in-review while gateway managers or the screener decide it, awaiting-funds until the custodian funds the gateway, claimable once the rail can collect it), paid once the gateway paid the coins to the rail wallet, or failed when the request was frozen, rejected, returned or paid elsewhere, which raises a case."},"BankCreditRecallExecution":{"type":"string","enum":["cancel","suspense","claw","book"],"description":"How an approved recall takes the tokens back: cancel an unminted credit, burn or book back what the rail wallet holds in suspense (suspense), burn what a token custodian force-transfers from the client in delegate mode (claw), or book a correction from the client to zero in booked mode (book)."},"BankCreditRecallAction":{"type":"string","enum":["execute","abandon"],"description":"What the recall's request asks the checker to approve: take the tokens back (execute) or abandon it."},"BankCreditRecallApproval":{"type":"object","properties":{"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The approval another bank rail manager decides; send it back with approve or reject."},"action":{"$ref":"#/components/schemas/BankCreditRecallAction"},"requestedBy":{"$ref":"#/components/schemas/UserId_4"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["approvalId","action","requestedBy","expiresAt"],"additionalProperties":false,"description":"The recall's open request for another bank rail manager to approve."},"UserId_4":{"type":"string","minLength":1,"description":"The manager who asked, who cannot decide it."},"BankCreditRecallState":{"type":"string","enum":["received","awaiting-checker","approved","clawing","burning","recalled","abandoned"],"description":"received when the bank's reversal is recorded; the credit then neither mints nor retries. awaiting-checker while another bank rail manager decides a request to execute or abandon it. approved while the rail cancels, books or burns, clawing while a token custodian force-transfers the client's tokens, or the custody gateway receipts that hold them, to the rail wallet, and burning while the rail wallet redeems recovered receipts through its own custody gateway and burns what was recorded or paid, or books it back. A recall ends recalled once the tokens are taken back or written down, or abandoned."},"BankCreditRecallDecision":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The recall's open approval, from approval.approvalId."}},"required":["action","approvalId"],"additionalProperties":false,"description":"A checker's decision on the recall's open request. Approve recomputes what the request bound and refuses recall-stale when it changed; reject returns the recall to received. The requester cannot decide it."},"BankCreditRecallTransition":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["request-execution"]}},"required":["transition"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["abandon"]},"reason":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":500}},"required":["transition","reason"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["record-claw"]},"transactionHash":{"$ref":"#/components/schemas/LowercaseEthereumHashEncoded"},"logIndex":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The log index of the forced transfer's event in that transaction."}},"required":["transition","transactionHash","logIndex"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["close-claw"]}},"required":["transition"],"additionalProperties":false}],"description":"request-execution asks another bank rail manager to approve taking the tokens back; it names what the rail will do and the most it may write down. abandon asks them to approve ending the recall without taking anything back, with your reason. record-claw counts a token custodian's forced transfer from the target into the rail wallet, made after the approval, while the recall is clawing; it is idempotent on the transfer. close-claw ends the clawing: the rail burns what was recorded, or first redeems recorded receipts through its own custody gateway and burns the coins paid, and writes down the rest."},"BankCreditRecallDetail":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"creditId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The credit the bank reversed."},"reversalId":{"type":"string","minLength":1,"description":"The bank's identifier for the reversal (FIX tag 162)."},"originalBankTxId":{"type":"string","minLength":1,"description":"The bank transaction id of the reversed credit."},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The amount the bank reversed, as the bank's decimal. It can be less than the credit."},"units":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The token base units the recall takes back; null when the bank's amount has no token amount, which the rail cannot execute."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"valueDate":{"$ref":"#/components/schemas/TimestampEncoded"},"state":{"$ref":"#/components/schemas/BankCreditRecallState"},"approval":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallApproval"},{"type":"null"}],"description":"The open request, while the recall is awaiting-checker."},"action":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallAction"},{"type":"null"}],"description":"What the latest request asked for; null before any request."},"decidedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The manager who approved the request."},"approvedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the request was approved. A forced transfer counts only from this time."},"abandonReason":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Why the requester asked to abandon it."},"execution":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallExecution"},{"type":"null"}]},"supplyMode":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyMode"},{"type":"null"}],"description":"The token link's supply mode at the request."},"targetWallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet the tokens come back from: the client's, the wallet an allocation moved them to, or the rail wallet for suspense. Null for a cancel."},"lineId":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The register line a booked correction corrects: the line that minted or allocated the tokens."},"delivery":{"anyOf":[{"$ref":"#/components/schemas/BankCreditDeliveryState"},{"type":"null"}],"description":"Where the credit's delivery to the client's custody gateway stood when the recall was requested; null for a credit that does not deliver through a gateway. It decides whether the rail burns the coins from its own wallet, waits for the gateway's managers to recover them, or takes back and redeems the receipts the gateway issued (settled)."},"receiptToken":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The custody gateway receipt token the recall takes back when the credit settled into receipts; null otherwise. Its recovered and excess units then count receipts until the redemption pays."},"redemption":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallRedemption"},{"type":"null"}],"description":"The rail wallet's redemption of the recovered receipts; null until the rail requests it."},"recoveredUnits":{"type":"string","pattern":"^-?\\d+$"},"excessUnits":{"type":"string","pattern":"^-?\\d+$"},"excessTxHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transfer that returned the excess."},"writtenDownUnits":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Token base units the recall could not take back, written down as a reserve adjustment effective at the reversal; set once the recall completes."},"txHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The burn or booked correction that took the tokens back."},"receivedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"completedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the recall ended recalled."},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"claws":{"type":"array","items":{"$ref":"#/components/schemas/BankCreditRecallClaw"},"description":"The forced transfers recorded so far."},"target":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRecallTargetBalances"},{"type":"null"}],"description":"The target wallet's balances while the recall is clawing; null otherwise."}},"required":["id","connectionId","organizationId","creditId","reversalId","originalBankTxId","amount","units","currency","valueDate","state","approval","action","decidedBy","approvedAt","abandonReason","execution","supplyMode","targetWallet","lineId","delivery","receiptToken","redemption","recoveredUnits","excessUnits","excessTxHash","writtenDownUnits","txHash","receivedAt","completedAt","updatedAt","claws","target"],"additionalProperties":false,"description":"One recall with the forced transfers recorded against it and what its target still holds."},"BankCreditRecallTargetBalances":{"type":"object","properties":{"wallet":{"$ref":"#/components/schemas/EvmAddress"},"freeUnits":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Token base units the wallet holds outside any freeze; null when the index cannot be read."},"escrowUnits":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Token base units the wallet holds free (unlocked) on the rail's escrow; null in booked mode, without an escrow, or when the index cannot be read."}},"required":["wallet","freeUnits","escrowUnits"],"additionalProperties":false,"description":"What a custodian can force-transfer from the recall's target wallet, as indexed."},"BankCreditRecallClaw":{"type":"object","properties":{"transactionHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"logIndex":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"route":{"$ref":"#/components/schemas/BankCreditRecallClawRoute"},"escrow":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The escrow the tokens left, on the escrow route."},"from":{"$ref":"#/components/schemas/EvmAddress"},"to":{"$ref":"#/components/schemas/EvmAddress"},"observedUnits":{"type":"string","pattern":"^-?\\d+$"},"recordedUnits":{"type":"string","pattern":"^-?\\d+$"},"blockTimestamp":{"$ref":"#/components/schemas/TimestampEncoded"},"recordedBy":{"$ref":"#/components/schemas/UserId"}},"required":["transactionHash","logIndex","route","escrow","from","to","observedUnits","recordedUnits","blockTimestamp","recordedBy"],"additionalProperties":false,"description":"A custodian's forced transfer a bank rail manager recorded against the recall."},"BankCreditRecallClawRoute":{"type":"string","enum":["token","escrow","gateway"],"description":"Whether the custodian forced the transfer on the token itself or out of an escrow, or the custody gateway paid the coins back to the rail wallet."},"BankCreditRecallList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankCreditRecall"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankCredit":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"bankTxId":{"type":"string","minLength":1},"amount":{"type":"string","pattern":"^\\d+(?:\\.\\d+)?$","description":"The amount the bank credited, as the bank's decimal: 1250.50 is 1,250.50 of the currency."},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"valueDate":{"$ref":"#/components/schemas/TimestampEncoded"},"clientReference":{"type":"string","minLength":1,"description":"The payment reference the bank reported."},"creditedAccount":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The account the bank credited, when it reported one: the client's virtual IBAN on a virtual-iban connection."},"payer":{"anyOf":[{"$ref":"#/components/schemas/BankPayer"},{"type":"null"}],"description":"The payer the bank named on the credit; null when the bank sent no payer details."},"screening":{"anyOf":[{"$ref":"#/components/schemas/BankCreditScreening"},{"type":"null"}],"description":"The AML screening of the credit; null while the connection does not screen or the credit has not reached it."},"returnedCashOutId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The cash-out whose payout the receiving bank returned, when the credit re-credits that return; its mint always needs a bank rail manager's approval and it cannot be returned to the payer. Null for a credit the bank reported."},"clientLinkId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The client the credit matched, if any."},"participantId":{"anyOf":[{"$ref":"#/components/schemas/ParticipantId"},{"type":"null"}]},"phase":{"$ref":"#/components/schemas/BankCreditPhase"},"parkReason":{"anyOf":[{"$ref":"#/components/schemas/BankCreditParkReason"},{"type":"null"}]},"recipient":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The wallet the credit mints to: the client's wallet, or the rail wallet when the credit is held as suspense or delivers to the client's custody gateway. Null until the rail chooses it, and never changed once the mint is submitted."},"txHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The mint transaction, once it settled."},"caseId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The operations case the park raised."},"ack":{"$ref":"#/components/schemas/BankCreditAck"},"resolution":{"anyOf":[{"$ref":"#/components/schemas/BankCreditResolution"},{"type":"null"}],"description":"The allocation or return a manager asked for on the parked credit; null while nobody asked."},"mintApproval":{"anyOf":[{"$ref":"#/components/schemas/BankCreditMintApproval"},{"type":"null"}],"description":"The open request to approve the credit's mint while it is awaiting-mint-approval; null otherwise."},"activeRecallId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The recall the bank opened on the credit; while it is open the credit neither mints nor retries."},"recalledUnits":{"type":"string","pattern":"^-?\\d+$"},"delivery":{"anyOf":[{"$ref":"#/components/schemas/BankCreditDelivery"},{"type":"null"}],"description":"The credit's delivery to the client's custody gateway; null for a credit that mints to a wallet."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","bankTxId","amount","currency","valueDate","clientReference","creditedAccount","payer","screening","returnedCashOutId","clientLinkId","participantId","phase","parkReason","recipient","txHash","caseId","ack","resolution","mintApproval","activeRecallId","recalledUnits","delivery","createdAt","updatedAt"],"additionalProperties":false,"description":"One credit the bank reported on the connection, and what the rail did with it."},"BankCreditDelivery":{"type":"object","properties":{"state":{"anyOf":[{"$ref":"#/components/schemas/BankCreditDeliveryState"},{"type":"null"}],"description":"Null while the mint to the rail wallet is being submitted."},"gateway":{"$ref":"#/components/schemas/EvmAddress"},"receiptToken":{"$ref":"#/components/schemas/EvmAddress"},"amount":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The credit's coins still on the delivery path, in the token's smallest units; null while the mint to the rail wallet is being submitted."},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many times the rail started delivering the credit."},"transactionHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The transfer of the current attempt into the gateway, once the rail sent it."},"logIndex":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The log index of that transfer in its transaction."},"depositId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The gateway's deposit for the transfer, once its keeper reported it."},"gatewayStage":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The gateway's own stage of the deposit, once its keeper reported it."},"gatewayStages":{"type":"array","items":{"$ref":"#/components/schemas/BankCreditDeliveryStageEvent"},"description":"The stages the gateway moved the deposit through, oldest first; empty until the keeper reported it."},"receiptsMinted":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The receipts the gateway issued for the deposit, in the receipt token's smallest units, once it settled."},"fee":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The deposit fee the gateway took, in the coin's smallest units, once it settled."},"receiptRecipient":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The address the gateway issued the receipts to, once it settled."},"returnedTo":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The address the gateway paid the coins back to, once it returned them."},"lastCheck":{"$ref":"#/components/schemas/BankClientLinkDeliveryLastCheck"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["state","gateway","receiptToken","amount","attempts","transactionHash","logIndex","depositId","gatewayStage","gatewayStages","receiptsMinted","fee","receiptRecipient","returnedTo","lastCheck","updatedAt"],"additionalProperties":false,"description":"The credit's delivery to the client's custody gateway: the rail minted it to its own wallet and sends the coins to the gateway, which issues receipts to the client."},"BankClientLinkDeliveryLastCheck":{"type":"object","properties":{"block":{"type":"string","pattern":"^-?\\d+$"},"checks":{"type":"array","items":{"$ref":"#/components/schemas/BankClientLinkDeliveryCheck"}}},"required":["block","checks"],"additionalProperties":false,"description":"The last gateway evaluation for this client: the block it was read at and every check by name."},"BankClientLinkDeliveryCheck":{"type":"object","properties":{"name":{"type":"string","enum":["no-gateway","addon-paused","gateway-paused","gateway-closed","coin-not-enabled","receipts-to-sender","client-wallet-unset","client-wallet-not-client","rail-wallet-blocked","gateway-blocked","screening-quarantines-all","rail-wallet-not-approved-source","screening-answerer-not-provider","no-screening-provider","rail-wallet-is-funding-source"]},"passed":{"type":"boolean"},"detail":{"type":"string","description":"What the rail read for this check, with the fix a gateway manager must make when it failed."}},"required":["name","passed","detail"],"additionalProperties":false,"description":"One gateway precondition the rail read when it last judged whether this client can deliver into custody."},"BankCreditDeliveryStageEvent":{"type":"object","properties":{"stage":{"type":"string","minLength":1,"description":"The gateway's name for the stage the deposit entered."},"transactionHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The transaction that moved the deposit into the stage, when one did."},"at":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["stage","transactionHash","at"],"additionalProperties":false,"description":"One stage the gateway moved the credit's deposit through."},"BankCreditMintApproval":{"type":"object","properties":{"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The approval a bank rail manager decides; send it back with approve or reject."},"requestedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}],"description":"The manager who retried the credit and so asked again, who cannot decide it; null when the bank's credit opened the request and any bank rail manager may decide it."},"requestedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["approvalId","requestedBy","requestedAt","expiresAt"],"additionalProperties":false,"description":"The open request for a bank rail manager to approve the credit's mint."},"BankCreditResolution":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/BankParkResolution"},"clientLinkId":{"anyOf":[{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},{"type":"null"}],"description":"The client the parked tokens go to when kind is allocate."},"wallet":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The client's wallet the allocation pays, fixed when the manager asked for it."},"refundReference":{"anyOf":[{"type":"string","minLength":1,"maxLength":140,"description":"The bank's reference for the refund it sent the payer."},{"type":"null"}],"description":"The bank's refund reference when kind is returned-to-payer."},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The approval a second bank rail manager decides; send it back with approve or reject."},"requestedBy":{"$ref":"#/components/schemas/UserId_3"},"txHash":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The allocation or burn transaction, once it settled."}},"required":["kind","clientLinkId","wallet","refundReference","approvalId","requestedBy","txHash"],"additionalProperties":false,"description":"How a manager asked to resolve the parked credit."},"UserId_3":{"type":"string","minLength":1,"description":"The manager who asked for the resolution."},"BankParkResolution":{"type":"string","enum":["allocate","returned-to-payer"],"description":"allocate: move the parked tokens from the rail wallet to the client's wallet; returned-to-payer: the bank refunded the payer, so the rail burns the parked tokens it holds."},"BankCreditAck":{"type":"string","enum":["processed","parked"],"description":"What the rail acknowledged to the bank on admission: processed when the credit matched a client, parked when it matched none or its amount needs review."},"BankCreditParkReason":{"type":"string","enum":["unknown-reference","screening-hit","screening-unobserved","precision","unrepresentable","supply-authority","mint-failed","mint-unapproved","mint-cap","payer-account-not-verified","aml-rejected","aml-held","delivery-blocked"],"description":"Why the credit is parked. The rail minted it to its own wallet, held as suspense, when no client matches (unknown-reference), the client's wallet is blocked (screening-hit) or still needs action (screening-unobserved) under the token's compliance, or the amount has more decimals than the currency (precision). It minted nothing when the token cannot represent the amount (unrepresentable), the rail wallet lost its sole supply authority under the link's supply mode: another account holds the supply management role or is a supply delegate, the rail wallet is not, or the token lost the feature the mode needs (supply-authority), the mint transaction failed (mint-failed), a checker rejected the mint the credit needed approval for, or that approval expired (mint-unapproved), the mint would take the rail wallet past the mint cap of its supply delegation (mint-cap), or the client takes delivery through a custody gateway that fails a delivery check (delivery-blocked). The rail also mints nothing, and holds the credit for a second bank rail manager to release, when the payer's account is not one of the client's active bank accounts (payer-account-not-verified), or the AML provider rejected (aml-rejected) or held (aml-held) the fiat transaction."},"BankCreditPhase":{"type":"string","enum":["admitted","awaiting-mint-approval","minting","minted","parked","awaiting-checker","resolving","allocated","returned-to-payer","cancelled","recalled"],"description":"admitted: acknowledged to the bank and waiting for its mint; awaiting-mint-approval: a bank rail manager has to approve the mint, always for the re-credit of a returned payout, otherwise because the credit, alone or with the client's credits of the last 24 hours, is above the token link's credit checker threshold; minting: the mint is submitted; minted: the client's wallet holds the tokens, or, for a client that takes delivery through a custody gateway, the rail wallet holds them on their way there (see delivery); parked: parkReason says why the credit waits for a manager; awaiting-checker: a manager asked to allocate or return the parked credit and a second manager has to approve; resolving: the approved allocation or return is being submitted; allocated: the rail wallet moved the parked tokens to the client's wallet; returned-to-payer: the bank refunded the payer and the rail burnt the parked tokens, if it held any; cancelled: the bank recalled the whole credit before it minted, so it never mints; recalled: the bank's recalls took back the whole credit and the rail burnt or wrote down its tokens."},"BankCreditScreening":{"type":"object","properties":{"verdict":{"$ref":"#/components/schemas/BankFiatScreeningVerdict"},"alerts":{"type":"array","items":{"type":"object"}},"score":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"payerCheck":{"$ref":"#/components/schemas/BankFiatPayerCheck"},"providerReference":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}]},"submittedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"decidedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"releasedBy":{"anyOf":[{"$ref":"#/components/schemas/UserId"},{"type":"null"}]},"releasedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["verdict","alerts","score","payerCheck","providerReference","submittedAt","decidedAt","releasedBy","releasedAt"],"additionalProperties":false,"description":"The AML provider's verdict on the fiat transaction and the source-of-funds check on its payer, with the release a second bank rail manager gave when either blocked the credit."},"BankCreditDecisionPayload":{"type":"object","properties":{"action":{"type":"string","enum":["approve","reject"]},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The approval shown on the credit's resolution or mint approval, so the decision applies to the request you read."}},"required":["action","approvalId"],"additionalProperties":false,"description":"Approve or reject another manager's allocation or return, or the mint of a credit awaiting-mint-approval. Approving an allocation or return starts the transaction; rejecting leaves the credit parked. Approving a mint lets the rail mint the credit; rejecting parks it as mint-unapproved."},"BankCreditTransitionPayload":{"anyOf":[{"$ref":"#/components/schemas/BankCreditRetryAction"},{"$ref":"#/components/schemas/BankCreditAllocateAction"},{"$ref":"#/components/schemas/BankCreditReturnAction"}],"discriminator":{"propertyName":"action","mapping":{"retry":"#/components/schemas/BankCreditRetryAction","allocate":"#/components/schemas/BankCreditAllocateAction","return-to-payer":"#/components/schemas/BankCreditReturnAction"}}},"BankCreditReturnAction":{"type":"object","properties":{"action":{"type":"string","enum":["return-to-payer"]},"refundReference":{"type":"string","minLength":1,"maxLength":140,"description":"The bank's reference for the refund it sent the payer."}},"required":["action","refundReference"],"additionalProperties":false,"description":"Record that the bank refunded the payer, which burns the suspense tokens the rail wallet holds for the credit. A second bank rail manager approves before anything burns."},"BankCreditAllocateAction":{"type":"object","properties":{"action":{"type":"string","enum":["allocate"]},"clientLinkId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The client of this connection to allocate an unmatched credit to. A credit that matched a client allocates only to that client and may omit it."}},"required":["action"],"additionalProperties":false,"description":"Ask to move a suspense credit from the rail wallet to the client's wallet. A second bank rail manager approves before anything moves."},"BankCreditRetryAction":{"type":"object","properties":{"action":{"type":"string","enum":["retry"]}},"required":["action"],"additionalProperties":false,"description":"Mint a credit parked with supply-authority, mint-failed, mint-unapproved or mint-cap again, once its cause is fixed. The retry screens the client wallet again; a wallet the token now blocks mints to the rail wallet as suspense. A mint-unapproved credit asks for approval again, and the manager who retried it cannot approve it. A minted credit whose send to its custody gateway failed sends again under its next attempt, after the gateway passes its checks; a failed send whose transaction landed after all is recorded as sent instead."},"BankCreditList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankCredit"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankClientLink":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"participantId":{"$ref":"#/components/schemas/ParticipantId"},"walletId":{"$ref":"#/components/schemas/WalletId"},"wallet":{"$ref":"#/components/schemas/EvmAddress"},"key":{"$ref":"#/components/schemas/BankClientKey"},"delivery":{"$ref":"#/components/schemas/BankClientLinkDelivery"},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"The link's version. A delivery change names the version it read and is refused when the link moved on."},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","participantId","walletId","wallet","key","delivery","rowVersion","createdBy","createdAt"],"additionalProperties":false,"description":"A client of the connection: the participant, the wallet its credits mint to and the key that matches them."},"BankClientLinkDelivery":{"type":"object","properties":{"target":{"$ref":"#/components/schemas/BankClientLinkDeliveryTarget"},"request":{"anyOf":[{"$ref":"#/components/schemas/BankClientLinkDeliveryRequest"},{"type":"null"}]},"lastCheck":{"anyOf":[{"$ref":"#/components/schemas/BankClientLinkDeliveryLastCheck"},{"type":"null"}]},"depositFee":{"anyOf":[{"$ref":"#/components/schemas/BankClientLinkDeliveryFee"},{"type":"null"}]}},"required":["target","request","lastCheck","depositFee"],"additionalProperties":false,"description":"Where the client's credits land, the open request to change that, and the last gateway evaluation with its deposit fee."},"BankClientLinkDeliveryFee":{"type":"object","properties":{"kind":{"type":"string","enum":["none","flat","basis-points"]},"amount":{"type":"string","pattern":"^-?\\d+$"},"mode":{"type":"string","enum":["deducted","accounting-only"]}},"required":["kind","amount","mode"],"additionalProperties":false,"description":"The gateway's deposit fee for the coin when the rail last judged this client."},"BankClientLinkDeliveryRequest":{"type":"object","properties":{"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"requestedBy":{"$ref":"#/components/schemas/UserId_2"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"},"gateway":{"$ref":"#/components/schemas/EvmAddress"},"receiptToken":{"$ref":"#/components/schemas/EvmAddress"},"checkedBlock":{"type":"string","pattern":"^-?\\d+$"}},"required":["approvalId","requestedBy","expiresAt","gateway","receiptToken","checkedBlock"],"additionalProperties":false,"description":"An open request to deliver the client's credits into its custody gateway. Another bank rail manager decides it; the client's credits keep minting to its wallet until then."},"UserId_2":{"type":"string","minLength":1,"description":"The manager who asked to deliver this client's credits into custody."},"BankClientLinkDeliveryTarget":{"type":"string","enum":["wallet","gateway"],"description":"Where the client's confirmed credits land. wallet: each credit mints to the client's linked wallet. gateway: each credit is delivered into the client's custody gateway as receipts."},"BankClientLinkDecision":{"type":"object","properties":{"decision":{"type":"string","enum":["approve","reject"]},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The link's open delivery request."},"reason":{"type":"string","minLength":1,"description":"Why the request is decided, kept on the approval."}},"required":["decision","approvalId"],"additionalProperties":false,"description":"Approves or rejects the link's open delivery request. An approval reads the gateway again and sets delivery to the gateway only when every check still passes; a rejection keeps the client's credits minting to its wallet."},"BankClientLinkTransition":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["enable-gateway-delivery"]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"The link's rowVersion as the caller read it."}},"required":["transition","rowVersion"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["disable-gateway-delivery"]},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0,"description":"The link's rowVersion as the caller read it."}},"required":["transition","rowVersion"],"additionalProperties":false}],"description":"enable-gateway-delivery reads the client's gateway and, when every check passes, opens a request another bank rail manager decides; the client's credits keep minting to its wallet until then. disable-gateway-delivery sends the client's future credits back to its wallet at once and withdraws an open delivery request. Credits whose mint already settled keep delivering."},"BankClientLinkCreatePayload":{"type":"object","properties":{"participantId":{"$ref":"#/components/schemas/ParticipantId"},"walletId":{"$ref":"#/components/schemas/WalletId"},"virtualIban":{"type":"string","pattern":"^[A-Z]{2}\\d{2}[A-Z0-9]{11,30}$"}},"required":["participantId","walletId"],"additionalProperties":false,"description":"The participant and one of its wallets. On a reference connection DALP generates the client's payment reference; on a virtual-iban connection virtualIban is the account the bank assigned to the client and is required."},"BankClientLinkList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankClientLink"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"BankMintCapReplacement":{"type":"object","properties":{"transactionId":{"type":"string","minLength":1,"description":"The queued transaction that removes the rail wallet as the token's supply delegate and adds it back with the new mint cap."},"previousMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The mint cap the link keeps if the queued transaction fails, in the token's smallest units; null: no cap."}},"required":["transactionId","previousMintCap"],"additionalProperties":false,"description":"The re-delegation of the rail wallet that a mint cap change queued and that has not landed yet. A read of the link settles it from the queue: it clears once the transaction lands, and puts the previous mint cap back if the transaction fails."},"BankMintLimitRequest":{"type":"object","properties":{"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"field":{"$ref":"#/components/schemas/BankMintLimitField"},"oldValue":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The value in force until the request is approved, in the field's units: the currency's minor units for creditCheckerThreshold, the token's smallest units for expectedMintCap."},"newValue":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"The value the request asks for, in the field's units; null removes the limit."},"requestedBy":{"$ref":"#/components/schemas/UserId_1"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["approvalId","field","oldValue","newValue","requestedBy","expiresAt"],"additionalProperties":false,"description":"An open request to raise or remove one of the link's mint limits. The old value stays in force until another bank rail manager approves it."},"UserId_1":{"type":"string","minLength":1,"description":"The bank rail manager who opened the request. Another bank rail manager has to approve it."},"BankMintLimitField":{"type":"string","enum":["creditCheckerThreshold","expectedMintCap"],"description":"The token link field a mint-limit request changes."},"BankSupplyManagersRequest":{"type":"object","properties":{"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["approvalId","expiresAt"],"additionalProperties":false,"description":"An open request to allow other supply managers on a booked link. The switch stays off until another bank rail manager approves it."},"BankSupplyManagerHolder":{"type":"object","properties":{"account":{"$ref":"#/components/schemas/EvmAddress"},"since":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the token's index recorded the grant; null when the grant time is not indexed yet."}},"required":["account","since"],"additionalProperties":false,"description":"A holder of the token's supply management role other than the rail wallet."},"BankTokenLinkDecision":{"type":"object","properties":{"decision":{"type":"string","enum":["approve","reject"]},"approvalId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The link's open mint-limit or allow-other-supply-managers request."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["decision","approvalId"],"additionalProperties":false,"description":"Approves or rejects the link's open mint-limit or allow-other-supply-managers request. An approval stores the new value; a rejection keeps the old one. Approving an expected mint cap also re-adds the rail wallet as the token's supply delegate with it, which your own wallet signs."},"BankTokenLinkTransition":{"anyOf":[{"type":"object","properties":{"transition":{"type":"string","enum":["update-credit-threshold"]},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition","creditCheckerThreshold"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["update-mint-cap"]},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition","expectedMintCap"],"additionalProperties":false},{"type":"object","properties":{"transition":{"type":"string","enum":["update-supply-managers"]},"allowOtherSupplyManagers":{"type":"boolean","description":"Booked links only: true lets accounts other than the rail wallet that hold the token's supply management role book movements; false restores the rail wallet as the only allowed holder."},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"required":["transition","allowOtherSupplyManagers"],"additionalProperties":false}],"description":"update-credit-threshold sets the credit checker threshold. update-mint-cap sets a delegate link's expected mint cap and re-adds the rail wallet as the token's supply delegate with it, which your own wallet signs, so you need the token's governor role; credits wait while the rail wallet is between the removal and the new delegation. update-mint-cap is refused on a booked link and while a rail wallet rotation is open on the chain. For either field, setting a value where there was none, keeping it or lowering it applies at once; raising or removing it opens a mint-limit request that another bank rail manager decides, and the old value stays in force until then. When the bank-rail approval policy is off, a raise or removal applies at once but needs your wallet verification, and is recorded as not approved by a second person. update-supply-managers exists on booked links only: turning it on opens a bank-rail-supply-managers request that another bank rail manager decides, and the switch stays off until then; turning it off applies at once. When the bank-rail approval policy is off, turning it on still needs your wallet verification, applies at once, and is recorded as not approved by a second person."},"BankTokenLink":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"connectionId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"currency":{"$ref":"#/components/schemas/FiatCurrency"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"token":{"$ref":"#/components/schemas/EvmAddress"},"decimals":{"type":"integer","minimum":0,"maximum":77},"supplyMode":{"$ref":"#/components/schemas/BankSupplyMode"},"state":{"$ref":"#/components/schemas/BankTokenLinkState"},"railWallet":{"$ref":"#/components/schemas/EvmAddress"},"railWalletId":{"$ref":"#/components/schemas/WalletId"},"checkerThreshold":{"type":"string","pattern":"^-?\\d+$"},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."},"outstandingMint":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the units the rail wallet has minted and not yet burned, counted against the mint cap, in the token's smallest units as a decimal integer string, as of the last indexed block. null: a booked link, or the indexed delegate could not be read."},"allowOtherSupplyManagers":{"type":"boolean","description":"Booked links only: while true, accounts other than the rail wallet that hold the token's supply management role may book movements, and the rail requires only that the rail wallet still holds the role. Off by default; turning it on needs a second bank rail manager, turning it off applies at once."},"supplyManagers":{"type":"array","items":{"$ref":"#/components/schemas/BankSupplyManagerHolder"},"description":"The accounts other than the rail wallet that currently hold the token's supply management role, read from the token; empty in delegate mode and while the token's facts cannot be read."},"supplyManagersRequest":{"anyOf":[{"$ref":"#/components/schemas/BankSupplyManagersRequest"},{"type":"null"}]},"mintLimitRequest":{"anyOf":[{"$ref":"#/components/schemas/BankMintLimitRequest"},{"type":"null"}]},"mintCapReplacement":{"anyOf":[{"$ref":"#/components/schemas/BankMintCapReplacement"},{"type":"null"}]},"suspendedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the rail suspended the link, while it is suspended."},"suspensionReason":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"Why the token no longer fits the link's supply mode, while the link is suspended."},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","connectionId","organizationId","currency","chainId","token","decimals","supplyMode","state","railWallet","railWalletId","checkerThreshold","creditCheckerThreshold","expectedMintCap","outstandingMint","allowOtherSupplyManagers","supplyManagers","supplyManagersRequest","mintLimitRequest","mintCapReplacement","suspendedAt","suspensionReason","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"The token that represents the connection's reserve currency: the bank's credits mint it and its payouts burn it."},"BankRailEscrowCreatePayload":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false,"description":"The manager's wallet verification. The manager's own executor wallet, which must hold the escrow manager role, creates the escrow with the rail wallet as its controller, or with the staged wallet while a rotation of the rail wallet is open."},"BankRailEscrow":{"type":"object","properties":{"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"},"controller":{"$ref":"#/components/schemas/EvmAddress"},"state":{"$ref":"#/components/schemas/BankRailEscrowState"},"escrows":{"type":"array","items":{"$ref":"#/components/schemas/EvmAddress"},"description":"The escrows the rail wallet controls on the system's escrow factory, oldest first."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The outstanding creation transaction while the state is creating, once the queue has broadcast it; null otherwise."}},"required":["chainId","controller","state","escrows","transactionHash"],"additionalProperties":false,"description":"The escrow that holds a delegate-mode token link's cash-outs: the holder approves it for the amount, the rail locks the tokens in it, and burns them once the bank reports the payout settled."},"BankTokenLinkActivationPreflight":{"type":"object","properties":{"action":{"$ref":"#/components/schemas/BankTokenLinkActivationAction"}},"required":["action"],"additionalProperties":false,"description":"Activation would be accepted now. Nothing was granted, signed, queued or stored. The refusals it can return are the ones activation returns for the same token and rail wallet state, so a link cleared here can still be refused if that state changes before activation is sent."},"BankTokenLinkActivationAction":{"type":"string","enum":["none","reinstate","activate","grant-supply-role","add-supply-delegate"],"description":"What activation would do now. none: the link is already active. reinstate: the suspended link passes its checks again and becomes active. activate: the rail wallet already holds the token's supply authority, so the link becomes active without a wallet signature. grant-supply-role: your wallet grants the rail wallet the token's supply management role (booked mode), and the link becomes active on the next activation once the grant is indexed. add-supply-delegate: your wallet adds the rail wallet as the token's supply delegate (delegate mode), and the link becomes active on the next activation once the delegation is indexed."},"BankTokenLinkActivationPayload":{"type":"object","properties":{"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false,"description":"The manager's wallet verification. Activation grants the token's supply management role to the rail wallet with the manager's wallet when no account holds it yet."},"BankTokenLinkCreatePayload":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/EvmAddress"},"checkerThreshold":{"type":"string","pattern":"^-?\\d+$"},"creditCheckerThreshold":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"A client's credits above this total in the last 24 hours, in the currency's minor units, wait for a bank rail manager's approval before they mint; a credit that matched no client is judged on its own amount. null: credits mint without approval."},"expectedMintCap":{"anyOf":[{"type":"string","pattern":"^-?\\d+$"},{"type":"null"}],"description":"Delegate links only: the mint cap the rail wallet is added to the token's supply delegate feature with, in the token's smallest units as a decimal integer string, so the rail wallet's mints minus its own burns can never pass it. The rail accepts its supply authority only while the rail wallet's cap on chain equals this value. null: no cap."}},"required":["token","checkerThreshold"],"additionalProperties":false,"description":"The token on the request's chain that represents the connection's reserve currency, the redemption checker threshold and, optionally, the credit checker threshold and, for a delegate link, the expected mint cap."},"BankTokenLinkCandidateList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankTokenLinkCandidate"}}},"required":["data"],"additionalProperties":false},"BankTokenLinkCandidate":{"type":"object","properties":{"token":{"$ref":"#/components/schemas/EvmAddress"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer","minimum":0,"maximum":77}},"required":["token","name","symbol","decimals"],"additionalProperties":false,"description":"A token the connection can link now: the organisation issued it, it carries Booked movements with Hold and requestable redemption or the supply delegate feature, it has no supply, its decimals cover the connection's currency, and no connection links it yet."},"BankTokenLinkList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankTokenLink"}}},"required":["data"],"additionalProperties":false},"BankConnection":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"senderCompId":{"type":"string","pattern":"^[A-Za-z0-9._-]{1,64}$","description":"A FIX CompID: 1 to 64 letters, digits, dots, underscores or hyphens.","examples":["DALP-NORTHWIND"]},"targetCompId":{"type":"string","pattern":"^[A-Za-z0-9._-]{1,64}$","description":"A FIX CompID: 1 to 64 letters, digits, dots, underscores or hyphens.","examples":["DALP-NORTHWIND"]},"reserveAccount":{"$ref":"#/components/schemas/BankReserveAccount"},"matchingMode":{"$ref":"#/components/schemas/BankMatchingMode"},"bankName":{"type":"string","minLength":1,"maxLength":200},"allowedMessages":{"$ref":"#/components/schemas/BankAllowedMessages"},"payoutDeadlineSeconds":{"type":"integer","minimum":60,"maximum":31536000},"settlementWindowSeconds":{"type":"integer","minimum":60,"maximum":31536000},"reportCutoff":{"$ref":"#/components/schemas/BankReportCutoff"},"holidayCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The holiday calendar the bank's business days follow, which also closes Saturday and Sunday. Null means every day is a business day. A new connection defaults to the ADGM calendar with the UAE public holidays."},"paymentTimeZone":{"type":"string"},"paymentCutOffTime":{"anyOf":[{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},{"type":"null"}],"description":"The local time payments stop for the day. A cash-out approved at or after it goes on the next business day. Null means the whole business day takes payments. A change applies to new cash-outs only."},"state":{"$ref":"#/components/schemas/BankConnectionState"},"credentialVersion":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many times the FIX logon password was set; 0 means none is set and the connection cannot activate. The password itself is never returned."},"rowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","senderCompId","targetCompId","reserveAccount","matchingMode","bankName","allowedMessages","payoutDeadlineSeconds","settlementWindowSeconds","reportCutoff","holidayCalendarId","paymentTimeZone","paymentCutOffTime","state","credentialVersion","rowVersion","createdBy","createdAt","updatedAt"],"additionalProperties":false,"description":"An organisation's FIX connection to its bank: the session's CompIDs, the reserve account, the messages it allows, how credits match clients, the payout timing and when the bank takes payments."},"BankConnectionState":{"type":"string","enum":["draft","active","suspended"],"description":"draft until a manager activates it; active while its FIX session accepts the bank's logon; suspended after a manager stops it."},"BankReportCutoff":{"type":"object","properties":{"time":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$"},"timeZone":{"type":"string"}},"required":["time","timeZone"],"additionalProperties":false,"description":"The daily report's cutoff as local HH:MM:SS and an IANA time zone.","default":{"time":"23:59:59","timeZone":"UTC"}},"BankAllowedMessages":{"type":"object","properties":{"inbound":{"type":"array","items":{"$ref":"#/components/schemas/BankInboundMessage"}},"outbound":{"type":"array","items":{"$ref":"#/components/schemas/BankOutboundMessage"}}},"required":["inbound","outbound"],"additionalProperties":false,"description":"The FIX application messages this connection accepts from the bank and may send to it."},"BankOutboundMessage":{"anyOf":[{"type":"string","enum":["payment-instruction"]}]},"BankInboundMessage":{"type":"string","enum":["credit","balance-report","execution-report","credit-reversal"]},"BankMatchingMode":{"type":"string","enum":["reference","virtual-iban"],"description":"How a credit finds its client: reference matches the payment reference the client was given, virtual-iban matches the account the bank credited."},"BankConnectionCredentialPayload":{"type":"object","properties":{"password":{"type":"string","pattern":"^[ -~]{8,256}$","description":"8 to 256 printable ASCII characters, the only bytes a FIX Logon can carry in tag 554."},"expectedCredentialVersion":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["password","expectedCredentialVersion"],"additionalProperties":false,"description":"The password the bank sends in its FIX Logon (tag 554). It is stored in the platform's secret store, never in the connection, and never returned. expectedCredentialVersion is the credentialVersion the manager read."},"BankConnectionUpdatePayload":{"type":"object","properties":{"bankName":{"type":"string","minLength":1,"maxLength":200},"allowedMessages":{"$ref":"#/components/schemas/BankAllowedMessages"},"payoutDeadlineSeconds":{"type":"integer","minimum":60,"maximum":31536000},"settlementWindowSeconds":{"type":"integer","minimum":60,"maximum":31536000},"reportCutoff":{"$ref":"#/components/schemas/BankReportCutoff_1"},"holidayCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The holiday calendar the bank's business days follow, which also closes Saturday and Sunday. Null means every day is a business day. A new connection defaults to the ADGM calendar with the UAE public holidays."},"paymentTimeZone":{"type":"string"},"paymentCutOffTime":{"anyOf":[{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},{"type":"null"}],"description":"The local time payments stop for the day. A cash-out approved at or after it goes on the next business day. Null means the whole business day takes payments. A change applies to new cash-outs only."},"expectedRowVersion":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0}},"required":["bankName","allowedMessages","payoutDeadlineSeconds","settlementWindowSeconds","expectedRowVersion"],"additionalProperties":false},"BankConnectionCreatePayload":{"type":"object","properties":{"senderCompId":{"type":"string","pattern":"^[A-Za-z0-9._-]{1,64}$","description":"A FIX CompID: 1 to 64 letters, digits, dots, underscores or hyphens.","examples":["DALP-NORTHWIND"]},"targetCompId":{"type":"string","pattern":"^[A-Za-z0-9._-]{1,64}$","description":"A FIX CompID: 1 to 64 letters, digits, dots, underscores or hyphens.","examples":["DALP-NORTHWIND"]},"reserveAccount":{"$ref":"#/components/schemas/BankReserveAccount"},"matchingMode":{"$ref":"#/components/schemas/BankMatchingMode"},"bankName":{"type":"string","minLength":1,"maxLength":200},"allowedMessages":{"$ref":"#/components/schemas/BankAllowedMessages"},"payoutDeadlineSeconds":{"type":"integer","minimum":60,"maximum":31536000},"settlementWindowSeconds":{"type":"integer","minimum":60,"maximum":31536000},"reportCutoff":{"$ref":"#/components/schemas/BankReportCutoff_1"},"holidayCalendarId":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"description":"The holiday calendar the bank's business days follow, which also closes Saturday and Sunday. Null means every day is a business day. A new connection defaults to the ADGM calendar with the UAE public holidays."},"paymentTimeZone":{"type":"string"},"paymentCutOffTime":{"anyOf":[{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},{"type":"null"}],"description":"The local time payments stop for the day. A cash-out approved at or after it goes on the next business day. Null means the whole business day takes payments. A change applies to new cash-outs only."}},"required":["senderCompId","targetCompId","reserveAccount","matchingMode","bankName","allowedMessages","payoutDeadlineSeconds","settlementWindowSeconds"],"additionalProperties":false},"BankConnectionList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BankConnection"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"OwnAccountClosureRequest":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$","format":"uuid"},"userId":{"$ref":"#/components/schemas/UserId"},"status":{"$ref":"#/components/schemas/AccountClosureRequestStatus"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"settledAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"declineReason":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","userId","status","createdAt","settledAt","declineReason"],"additionalProperties":false,"description":"The caller's own request. It carries the outcome and the decline reason, not who decided it."},"AccountClosureRequestTransition":{"type":"object","properties":{"status":{"type":"string","enum":["withdrawn"]}},"required":["status"],"additionalProperties":false},"AccountClosureRequestCreate":{"type":"object","properties":{"password":{"anyOf":[{"type":"string","minLength":1,"maxLength":128,"description":"The account password. Required when the account signs in with a password."},{"type":"null"}]},"walletVerification":{"anyOf":[{"$ref":"#/components/schemas/WalletVerification"},{"type":"null"}]}},"additionalProperties":false,"description":"Proof that the account holder files the request: the password for an account that signs in with one, otherwise a wallet factor (the transaction PIN, the transaction code, a recovery code or a code from the identity provider's authenticator) in `walletVerification`."},"LegalDocumentVersion":{"type":"string","pattern":"^\\d+(?:\\.\\d+)*$","description":"A dot-separated numeric version, such as 1 or 1.1."},"LegalDocumentKind":{"type":"string","enum":["terms","risk-disclosure"]},"LegalDocumentAcceptance":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"userId":{"$ref":"#/components/schemas/UserId"},"documentId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"kind":{"$ref":"#/components/schemas/LegalDocumentKind"},"version":{"$ref":"#/components/schemas/LegalDocumentVersion"},"acceptedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"ip":{"anyOf":[{"type":"string"},{"type":"null"}]},"userAgent":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","organizationId","userId","documentId","kind","version","acceptedAt","ip","userAgent"],"additionalProperties":false},"LegalDocumentAccept":{"type":"object","properties":{"version":{"$ref":"#/components/schemas/LegalDocumentVersion"}},"required":["version"],"additionalProperties":false},"LegalDocument":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid"},"organizationId":{"$ref":"#/components/schemas/OrganizationId"},"kind":{"$ref":"#/components/schemas/LegalDocumentKind"},"version":{"$ref":"#/components/schemas/LegalDocumentVersion"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"fileRef":{"anyOf":[{"type":"string"},{"type":"null"}]},"requiresReacceptance":{"type":"boolean"},"publishedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdByUserId":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","organizationId","kind","version","effectiveAt","content","fileRef","requiresReacceptance","publishedAt","createdByUserId","createdAt"],"additionalProperties":false},"LegalDocumentPublish":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/LegalDocumentKind"},"version":{"$ref":"#/components/schemas/LegalDocumentVersion"},"effectiveAt":{"$ref":"#/components/schemas/TimestampEncoded"},"content":{"anyOf":[{"type":"string"},{"type":"null"}]},"fileRef":{"anyOf":[{"type":"string"},{"type":"null"}]},"requiresReacceptance":{"type":"boolean"}},"required":["kind","version","effectiveAt","requiresReacceptance"],"additionalProperties":false},"LegalDocumentStatus":{"type":"object","properties":{"kind":{"$ref":"#/components/schemas/LegalDocumentKind"},"document":{"anyOf":[{"$ref":"#/components/schemas/LegalDocument"},{"type":"null"}]},"accepted":{"type":"boolean"},"acceptedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]}},"required":["kind","document","accepted","acceptedAt"],"additionalProperties":false},"StepUpChallengeIssueResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/WalletStepUpChallenge"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"WalletStepUpChallenge":{"type":"object","properties":{"challengeId":{"type":"string"},"expiresAt":{"type":"string"}},"required":["challengeId","expiresAt"],"additionalProperties":false},"WalletStepUpChallengeRequest":{"type":"object","properties":{"operation":{"$ref":"#/components/schemas/WalletStepUpOperation"},"target":{"$ref":"#/components/schemas/WalletStepUpTarget"},"payloadDigest":{"$ref":"#/components/schemas/WalletStepUpPayloadDigest"}},"required":["operation","target","payloadDigest"],"additionalProperties":false},"WalletStepUpPayloadDigest":{"type":"string","pattern":"^[0-9a-f]{64}$","description":"Lowercase hex SHA-256 of the request body's canonical JSON: object keys sorted, absent fields dropped, and the top-level `walletVerification` left out."},"WalletStepUpTarget":{"anyOf":[{"type":"string","minLength":1,"maxLength":512},{"type":"null"}],"description":"The request's path parameters in route order, each URI-encoded and joined by `/`, such as a provider id; `null` when the route has none. If chain, network, executor, or custody-account scope headers are present, use the JSON array of this target followed by their values in that order, with missing headers as null."},"WalletStepUpOperation":{"type":"string","maxLength":512,"pattern":"^(?:DELETE|GET|PATCH|POST|PUT) \\/api\\/\\S+$","description":"Route the challenge authorizes: the HTTP method, a space, and the route's path template, such as `POST /api/v2/compliance/providers/:providerId/secret-rotations`."},"SessionRevokeResponse":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SessionRevokeResult"},"links":{"type":"object","properties":{"self":{"type":"string"}},"required":["self"],"additionalProperties":false}},"required":["data","links"],"additionalProperties":false},"SessionRevokeResult":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"],"additionalProperties":false},"AssistantPlanSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantPlan"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantPlan":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The plan's id."},"request":{"type":"string","description":"The request the plan was built from, as the person wrote it."},"scope":{"$ref":"#/components/schemas/AssistantScope_1"},"language":{"$ref":"#/components/schemas/AssistantPlanLanguage"},"status":{"$ref":"#/components/schemas/AssistantPlanStatus"},"steps":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPlanStep"}},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The asset's decimals, which every plan amount is in."},"symbol":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"description":"The asset's symbol."},"fingerprint":{"type":"string","description":"A digest of the chain state the plan was simulated against: the supply, the largest balances and the pause state. A different digest means the simulation is stale."},"readAt":{"$ref":"#/components/schemas/TimestampEncoded"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","request","scope","language","status","steps","decimals","symbol","fingerprint","readAt","createdAt","updatedAt"],"additionalProperties":false,"description":"An ordered set of drafted controls, each simulated against chain state before anything is signed. Nothing in a plan is signed or submitted by the assistant."},"AssistantPlanStep":{"type":"object","properties":{"index":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"The step's place in the plan, from 0."},"control":{"$ref":"#/components/schemas/AssistantControlId_1"},"routeIdentifier":{"type":"string","description":"The write route the control submits."},"label":{"type":"string","maxLength":200,"description":"The control's name in the plan's language."},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AssistantDraftField"},"description":"The drafted values of the control, each with the words it came from."},"quote":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The words of the request this step came from, as the person wrote them."},"state":{"$ref":"#/components/schemas/AssistantPlanStepState"},"executedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"simulation":{"$ref":"#/components/schemas/AssistantPlanStepSimulation"}},"required":["index","control","routeIdentifier","label","fields","quote","state","executedAt","simulation"],"additionalProperties":false,"description":"One control in the plan, drafted and simulated. The person still previews, approves and signs it in the control itself."},"AssistantPlanStepSimulation":{"type":"object","properties":{"verdict":{"$ref":"#/components/schemas/AssistantPlanVerdict"},"revertKey":{"$ref":"#/components/schemas/AssistantPlanRevertKey"},"supply":{"$ref":"#/components/schemas/AssistantPlanSupplyStep"},"holdings":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPlanHolding"},"description":"The holders whose balance the step changes, or would fail to change."},"treasury":{"anyOf":[{"$ref":"#/components/schemas/AssistantPlanTreasury"},{"type":"null"}],"description":"The paying treasury's balance when the step pays cash, otherwise null."},"capTable":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPlanHolding"},"description":"The largest holders after this step, each with the balance before and after it."},"checks":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPlanCheck"},"description":"The permission, funding and limit checks of the step, in a fixed order."}},"required":["verdict","supply","holdings","treasury","capTable","checks"],"additionalProperties":false,"description":"What a step does to chain state, computed in order against the state read when the plan was simulated. It is a projection of the step's own arithmetic over current balances, not a forked EVM run."},"AssistantPlanCheck":{"type":"object","properties":{"key":{"$ref":"#/components/schemas/AssistantPlanCheckKey"},"verdict":{"$ref":"#/components/schemas/AssistantPlanCheckVerdict"},"role":{"type":"string","maxLength":200,"description":"For a permission check, the role on this asset that the step needs."}},"required":["key","verdict"],"additionalProperties":false,"description":"One deterministic check of a step. The Console owns the wording; every verdict comes from code, never from a model."},"AssistantPlanCheckVerdict":{"type":"string","enum":["pass","warn","fail","unsure"]},"AssistantPlanCheckKey":{"type":"string","enum":["permission","paused","cap","balance","funding"]},"AssistantPlanHolding":{"type":"object","properties":{"holder":{"type":"string","description":"The wallet address the balance belongs to."},"before":{"$ref":"#/components/schemas/AssistantPlanAmount_2"},"after":{"$ref":"#/components/schemas/AssistantPlanAmount_3"}},"required":["holder","before","after"],"additionalProperties":false,"description":"One holder's balance before and after a step, in the smallest unit of the asset."},"AssistantPlanAmount_3":{"type":"string","pattern":"^[0-9]{1,78}$","description":"The balance after the step, in the asset's smallest unit."},"AssistantPlanAmount_2":{"type":"string","pattern":"^[0-9]{1,78}$","description":"The balance before the step, in the asset's smallest unit."},"AssistantPlanTreasury":{"type":"object","properties":{"symbol":{"type":"string","description":"The denomination asset's symbol, such as USDC."},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The denomination asset's decimals."},"before":{"$ref":"#/components/schemas/AssistantPlanAmount_4"},"after":{"$ref":"#/components/schemas/AssistantPlanAmount_5"}},"required":["symbol","decimals","before","after"],"additionalProperties":false,"description":"The paying treasury's balance of the denomination asset before and after a step."},"AssistantPlanAmount_5":{"type":"string","pattern":"^[0-9]{1,78}$","description":"The paying treasury's balance after the step, in that asset."},"AssistantPlanAmount_4":{"type":"string","pattern":"^[0-9]{1,78}$","description":"The paying treasury's balance before the step, in that asset."},"AssistantPlanSupplyStep":{"type":"object","properties":{"before":{"$ref":"#/components/schemas/AssistantPlanAmount"},"after":{"$ref":"#/components/schemas/AssistantPlanAmount_1"}},"required":["before","after"],"additionalProperties":false,"description":"The asset's total supply before and after the step."},"AssistantPlanAmount_1":{"type":"string","pattern":"^[0-9]{1,78}$","description":"The amount after the step, in the smallest unit of its asset."},"AssistantPlanAmount":{"type":"string","pattern":"^[0-9]{1,78}$","description":"The amount before the step, in the smallest unit of its asset."},"AssistantPlanRevertKey":{"type":"string","enum":["tokenPaused","insufficientBalance","capExceeded","treasuryShort","notPermitted"],"description":"Why the step would revert, when the verdict is will-revert."},"AssistantPlanVerdict":{"type":"string","enum":["will-clear","will-revert","not-simulated"],"description":"will-clear when the step's effect applies to the chain state it was simulated against; will-revert when it cannot; not-simulated for a step with no chain effect to project."},"AssistantPlanStepState":{"type":"string","enum":["pending","executed"]},"AssistantDraftField":{"type":"object","properties":{"value":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"source":{"anyOf":[{"$ref":"#/components/schemas/AssistantFieldSource"},{"type":"null"}]},"check":{"$ref":"#/components/schemas/AssistantDraftCheck"},"reading":{"type":"string"},"current":{"type":"string"}},"required":["value","source"],"additionalProperties":false,"description":"One drafted value as a wire-safe scalar, or null with a check. `reading` is the drafted value and `current` the value now, both formatted by the server in the same unit."},"AssistantDraftCheck":{"type":"object","properties":{"key":{"type":"string","enum":["missing","outOfRange","notWhole","notPositive","ambiguousHolder","noHolder","ambiguousAsset","noAsset","holderAmounts","invalidDate","pastDate","unitUnclear","notInYourWords","unreadable","notKnownHolder"]},"params":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]}}},"required":["key"],"additionalProperties":false,"description":"Why a field was left empty. A keyed message with parameters; the Console owns the wording."},"AssistantFieldSource":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["question"]},"quote":{"type":"string"}},"required":["kind","quote"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["pasted"]},"quote":{"type":"string"},"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"end":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","quote","start","end"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["context"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["default"]}},"required":["kind"],"additionalProperties":false}],"description":"Where a drafted value came from. `question` is the person's own words; `pasted` is a span of text they pasted, with the server's character offsets in the text as sent; `context` is a row action or follow-up and shows no provenance line; `default` is the control's own default."},"AssistantControlId_1":{"type":"string","enum":["asset.aumFee.setRate","asset.freezePartial.freeze","asset.corporateAction.stockSplit","asset.corporateAction.cashDividend","asset.corporateAction.cashDividendInKind","asset.corporateAction.distribution","asset.corporateAction.distributionInKind","asset.corporateAction.coordinatedDistribution","asset.corporateAction.bondCoupon","asset.corporateAction.bondCouponInKind","asset.corporateAction.maturityRedemption","asset.corporateAction.conversion","asset.corporateAction.bonusIssue","asset.corporateAction.rightsIssue","asset.corporateAction.spinOff","asset.corporateAction.capitalDecrease","asset.corporateAction.partialRedemption","asset.corporateAction.buyback","asset.mint","asset.burn","asset.freezePartial.unfreeze","asset.forcedTransfer","asset.forcedRecover","asset.recoverErc20","asset.setCap","asset.transfer","asset.transferApproval.approve","asset.transferApproval.revoke","asset.delegate","asset.clearDelegation","asset.pause","asset.unpause","asset.blocklist.block","asset.blocklist.unblock","asset.aumFee.setRecipient","asset.aumFee.collect","asset.aumFee.freeze","asset.transactionFee.setRates","asset.transactionFee.setRecipient","asset.transactionFee.freeze","asset.transactionFeeAccounting.setRates","asset.transactionFeeAccounting.setRecipient","asset.transactionFeeAccounting.freeze","asset.transactionFeeAccounting.reconcile","asset.feeExemption.set","asset.externalFee.setAmounts","asset.externalFee.setRecipient","asset.externalFee.freeze","asset.yield.setSchedule","asset.yield.setTreasury","asset.maturity.setTreasury","asset.interest.setRate","asset.interest.fundTreasury","asset.conversion.convert","asset.conversion.forceConvert","asset.conversion.publishTrigger","asset.conversion.disableTrigger","asset.conversion.setWindow","asset.conversion.addConverter","asset.conversion.removeConverter","asset.metadata.add","asset.metadata.remove","feature.maturity-redemption.attach","feature.dividend-yield.attach","feature.interest-yield.attach","feature.aum-fee.attach","feature.transaction-fee.attach","feature.transaction-fee-accounting.attach","feature.external-transaction-fee.attach","feature.maturity-redemption.replace","feature.dividend-yield.replace","feature.interest-yield.replace","feature.aum-fee.replace","feature.transaction-fee.replace","feature.transaction-fee-accounting.replace","feature.external-transaction-fee.replace","feature.permit.attach","feature.voting-power.attach","feature.hold.attach","feature.supply-delegate.attach","feature.register-lines.attach","asset.yield.attachFixedTreasury","feature.recoverTokens","feature.detach","feature.excludeAccount","asset.documents.uploadHolderNotice"],"description":"The control the step opens, from the shared registry."},"AssistantPlanStatus":{"type":"string","enum":["open","completed","abandoned"],"description":"open while the person works it, then completed or abandoned."},"AssistantPlanLanguage":{"type":"string","enum":["en","de","ar","ja","fr","nl","ms","id","th","ko"]},"AssistantScope_1":{"anyOf":[{"$ref":"#/components/schemas/AssistantAssetScope"},{"$ref":"#/components/schemas/AssistantParticipantScope"},{"$ref":"#/components/schemas/AssistantOrganizationScope"},{"$ref":"#/components/schemas/AssistantVenueScope"},{"$ref":"#/components/schemas/AssistantTrailScope"},{"$ref":"#/components/schemas/AssistantFilingScope"}],"description":"The asset the plan runs on.","discriminator":{"propertyName":"kind","mapping":{"asset":"#/components/schemas/AssistantAssetScope","participant":"#/components/schemas/AssistantParticipantScope","organization":"#/components/schemas/AssistantOrganizationScope","venue":"#/components/schemas/AssistantVenueScope","trail":"#/components/schemas/AssistantTrailScope","filing":"#/components/schemas/AssistantFilingScope"}}},"AssistantFilingScope":{"type":"object","properties":{"kind":{"type":"string","enum":["filing"]},"obligationId":{"type":"string","minLength":1,"description":"The obligation the question is about, when it names one."}},"required":["kind"],"additionalProperties":false,"description":"A question about regulatory filings, obligations and the filing calendar."},"AssistantTrailScope":{"type":"object","properties":{"kind":{"type":"string","enum":["trail"]}},"required":["kind"],"additionalProperties":false,"description":"A question about the organisation's audit trail."},"AssistantVenueScope":{"type":"object","properties":{"kind":{"type":"string","enum":["venue"]},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"}},"required":["kind","venueAddress"],"additionalProperties":false,"description":"A question about one trading venue."},"AssistantOrganizationScope":{"type":"object","properties":{"kind":{"type":"string","enum":["organization"]}},"required":["kind"],"additionalProperties":false,"description":"A question about the organisation overview. The active organisation comes from the session."},"AssistantParticipantScope":{"type":"object","properties":{"kind":{"type":"string","enum":["participant"]},"participantId":{"allOf":[{"$ref":"#/components/schemas/ParticipantId"},{"description":"The participant the question is about: the id the participant routes take."}]}},"required":["kind","participantId"],"additionalProperties":false,"description":"A question about one participant."},"AssistantAssetScope":{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"}},"required":["kind","address"],"additionalProperties":false,"description":"A question about one asset."},"AssistantPlanStepUpdate":{"type":"object","properties":{"state":{"$ref":"#/components/schemas/AssistantPlanExecuted"},"confirmation":{"type":"string","enum":["confirm"]}},"required":["state","confirmation"],"additionalProperties":false,"description":"The member confirms a step whose effect the chain does not show, such as a holder notice or a filing. Balance-changing steps are marked executed when chain state shows their effect."},"AssistantPlanExecuted":{"anyOf":[{"type":"string","enum":["executed"]}]},"AssistantPlanUpdate":{"type":"object","properties":{"status":{"$ref":"#/components/schemas/AssistantPlanSettledStatus"}},"required":["status"],"additionalProperties":false,"description":"Close the plan: completed when every step is done, abandoned otherwise."},"AssistantPlanSettledStatus":{"type":"string","enum":["abandoned","completed"]},"AssistantPlansCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPlan"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false,"description":"The caller's own plans, newest first, at most 20."},"AssistantPlanStatus_1":{"type":"string","enum":["open","completed","abandoned"],"description":"Only plans in this state."},"AssistantPeriodSummarySingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantPeriodSummary"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantPeriodSummary":{"type":"object","properties":{"running":{"type":"boolean","description":"Whether the period has not ended yet."},"window":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"}},"required":["from","to"],"additionalProperties":false,"description":"The instants the period starts and ends, ISO 8601."},"current":{"$ref":"#/components/schemas/AssistantPeriodFigures"},"previous":{"$ref":"#/components/schemas/AssistantPeriodFigures_1"},"change":{"$ref":"#/components/schemas/AssistantPeriodChange"}},"required":["running","window","current","previous","change"],"additionalProperties":false},"AssistantPeriodChange":{"type":"object","properties":{"transferCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"transferVolume":{"type":"string"},"netSupplyChange":{"type":"string"},"activeHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"newHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["transferCount","transferVolume","netSupplyChange","activeHolders","newHolders"],"additionalProperties":false,"description":"The period's figures less the previous period's."},"AssistantPeriodFigures_1":{"type":"object","properties":{"transferCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Completed transfers in the period."},"transferVolume":{"type":"string","description":"The value the transfers moved, in base units."},"minted":{"type":"string","description":"Units minted in the period, in base units."},"burned":{"type":"string","description":"Units burned in the period, in base units."},"netSupplyChange":{"type":"string","description":"Minted less burned, in base units."},"activeHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Holders who sent or received in the period."},"newHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Holders whose first balance arrived in the period."}},"required":["transferCount","transferVolume","minted","burned","netSupplyChange","activeHolders","newHolders"],"additionalProperties":false,"description":"The same figures for the period of the same length before."},"AssistantPeriodFigures":{"type":"object","properties":{"transferCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Completed transfers in the period."},"transferVolume":{"type":"string","description":"The value the transfers moved, in base units."},"minted":{"type":"string","description":"Units minted in the period, in base units."},"burned":{"type":"string","description":"Units burned in the period, in base units."},"netSupplyChange":{"type":"string","description":"Minted less burned, in base units."},"activeHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Holders who sent or received in the period."},"newHolders":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Holders whose first balance arrived in the period."}},"required":["transferCount","transferVolume","minted","burned","netSupplyChange","activeHolders","newHolders"],"additionalProperties":false},"AssistantHomeVisitSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantHomeVisit"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantHomeVisit":{"type":"object","properties":{"visitedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"previousVisitAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the caller last opened home before this visit, or null on a first visit. Opening home again within 30 minutes counts as the same visit and keeps it."}},"required":["visitedAt","previousVisitAt"],"additionalProperties":false},"AssistantViewPlacementsReplace":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantViewPlacement"},"maxItems":100,"description":"Every view the caller places, in the order the caller wants them. A view left out goes to the end and leaves the home."}},"required":["data"],"additionalProperties":false},"AssistantViewPlacement":{"type":"object","properties":{"viewId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The saved view's id."},"onHome":{"type":"boolean","description":"Whether the view shows on the caller's home."}},"required":["viewId","onHome"],"additionalProperties":false},"AssistantMcpClientsCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantMcpClient"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantMcpClient":{"type":"object","properties":{"clientId":{"type":"string"},"name":{"type":"string","description":"The label the client registered with. The client chose it."},"member":{"$ref":"#/components/schemas/AssistantMcpClientMember"},"scopes":{"type":"array","items":{"type":"string","enum":["dalp:read","dalp:prepare"]},"description":"What the member allowed: `dalp:read` to read what they can read, `dalp:prepare` to prepare actions."},"grantedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"lastUsedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the client last used the grant. Null when it never has."}},"required":["clientId","name","member","scopes","grantedAt","lastUsedAt"],"additionalProperties":false,"description":"An external agent a member connected to the organisation through the hosted MCP server."},"AssistantMcpClientMember":{"type":"object","properties":{"userId":{"$ref":"#/components/schemas/UserId"},"name":{"anyOf":[{"type":"string"},{"type":"null"}]},"email":{"type":"string"}},"required":["userId","name","email"],"additionalProperties":false,"description":"The organisation member the client acts for."},"AssistantSavedViewSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantSavedView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantSavedView":{"type":"object","properties":{"id":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The saved view's id."},"name":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":80,"description":"The view's name, 1-80 characters."},"scope":{"$ref":"#/components/schemas/AssistantScope_2"},"blocks":{"type":"array","items":{"$ref":"#/components/schemas/AssistantSavedViewBlock"}},"shared":{"type":"boolean","description":"Whether every member of the organisation can see the view."},"mine":{"type":"boolean","description":"Whether the caller saved the view, and so may rename, share or remove it."},"ownerName":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The name of the member who shared the view. Null on the caller's own views."},"onHome":{"type":"boolean","description":"Whether the caller shows the view on their home."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","name","scope","blocks","shared","mine","ownerName","onHome","createdAt","updatedAt"],"additionalProperties":false,"description":"A saved view: the reads of an answer and their layout. It stores no data and no model text; each block re-runs its read as the person viewing."},"AssistantSavedViewBlock":{"type":"object","properties":{"kind":{"type":"string","enum":["holders","events","holdings","assets","markets","orders","trail","figures"]},"toolId":{"type":"string","pattern":"^r\\d{1,4}$","description":"The id of the read in the answer the view was saved from. Figures point into it."},"routeId":{"type":"string","minLength":1,"maxLength":200,"description":"The read the block re-runs. Each kind takes only the reads that answer it: holders, events, holdings, assets, markets, orders and the audit trail from their list reads, and figures from the holders, statistics and period summary reads."},"input":{"$ref":"#/components/schemas/AssistantSavedViewRead"},"units":{"type":"object","additionalProperties":{"type":"string"},"description":"How each figure of the read is scaled: `token`, `count` and the like."},"anchors":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"minItems":1,"maxItems":5,"description":"For a rows block, the rows the answer cited, as `kind:id` anchors such as `holder:0x…`. The view shows those rows as the read returns them now, and a view the caller did not save lists only the anchors that caller's own read of the block returns."},"tiles":{"type":"array","items":{"$ref":"#/components/schemas/AssistantSavedViewTile"},"minItems":1,"maxItems":8,"description":"For a figures block, the figures it shows."}},"required":["kind","toolId","routeId","input"],"additionalProperties":false,"description":"One block of a saved view: the read it re-runs and what it shows from it. It holds no row data."},"AssistantSavedViewTile":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z]{1,32}$","description":"The figure key, such as `holders`, `supply` or `transfers`."},"fig":{"type":"string","minLength":1,"maxLength":200,"description":"The figure: the block's tool id, a dot, and the pointer into the read."},"previous":{"type":"string","minLength":1,"maxLength":200,"description":"The previous period's figure, for a period tile."}},"required":["key","fig"],"additionalProperties":false},"AssistantSavedViewRead":{"type":"object","properties":{"params":{"type":"object","additionalProperties":{"type":"string"}},"query":{"type":"object"}},"additionalProperties":false,"description":"The input of the read, in the form the Console sends it: path parameters and query. The view re-runs the read with it as the person viewing."},"AssistantScope_2":{"anyOf":[{"$ref":"#/components/schemas/AssistantAssetScope_1"},{"$ref":"#/components/schemas/AssistantParticipantScope"},{"$ref":"#/components/schemas/AssistantOrganizationScope"},{"$ref":"#/components/schemas/AssistantVenueScope_1"},{"$ref":"#/components/schemas/AssistantTrailScope"},{"$ref":"#/components/schemas/AssistantFilingScope"}],"description":"The object a question is about: an asset, a participant, the organisation overview, a trading venue, the audit trail or filings. The assistant reads only what that scope offers.","discriminator":{"propertyName":"kind","mapping":{"asset":"#/components/schemas/AssistantAssetScope_1","participant":"#/components/schemas/AssistantParticipantScope","organization":"#/components/schemas/AssistantOrganizationScope","venue":"#/components/schemas/AssistantVenueScope_1","trail":"#/components/schemas/AssistantTrailScope","filing":"#/components/schemas/AssistantFilingScope"}}},"AssistantVenueScope_1":{"type":"object","properties":{"kind":{"type":"string","enum":["venue"]},"venueAddress":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"}},"required":["kind","venueAddress"],"additionalProperties":false,"description":"A question about one trading venue."},"AssistantAssetScope_1":{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"address":{"$ref":"#/components/schemas/EvmAddress"},"chainId":{"$ref":"#/components/schemas/ChainIdEncoded_1"}},"required":["kind","address"],"additionalProperties":false,"description":"A question about one asset."},"AssistantSavedViewUpdate":{"type":"object","properties":{"name":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":80,"description":"The view's name, 1-80 characters."},"shared":{"type":"boolean"}},"additionalProperties":false,"description":"Rename the view, share it, or both."},"AssistantSavedViewCreate":{"type":"object","properties":{"name":{"type":"string","pattern":"^\\S[\\s\\S]*\\S$|^\\S$|^$","minLength":1,"maxLength":80,"description":"The view's name, 1-80 characters."},"scope":{"$ref":"#/components/schemas/AssistantScope"},"blocks":{"type":"array","items":{"$ref":"#/components/schemas/AssistantSavedViewBlock_1"},"minItems":1,"maxItems":6}},"required":["name","scope","blocks"],"additionalProperties":false},"AssistantSavedViewBlock_1":{"type":"object","properties":{"kind":{"type":"string","enum":["holders","events","holdings","assets","markets","orders","trail","figures"]},"toolId":{"type":"string","pattern":"^r\\d{1,4}$","description":"The id of the read in the answer the view was saved from. Figures point into it."},"routeId":{"type":"string","minLength":1,"maxLength":200,"description":"The read the block re-runs. Each kind takes only the reads that answer it: holders, events, holdings, assets, markets, orders and the audit trail from their list reads, and figures from the holders, statistics and period summary reads."},"input":{"$ref":"#/components/schemas/AssistantSavedViewRead_1"},"units":{"type":"object","additionalProperties":{"type":"string"},"description":"How each figure of the read is scaled: `token`, `count` and the like."},"anchors":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"minItems":1,"maxItems":5,"description":"For a rows block, the rows the answer cited, as `kind:id` anchors such as `holder:0x…`. The view shows those rows as the read returns them now, and a view the caller did not save lists only the anchors that caller's own read of the block returns."},"tiles":{"type":"array","items":{"$ref":"#/components/schemas/AssistantSavedViewTile_1"},"minItems":1,"maxItems":8,"description":"For a figures block, the figures it shows."}},"required":["kind","toolId","routeId","input"],"additionalProperties":false,"description":"One block of a saved view: the read it re-runs and what it shows from it. It holds no row data."},"AssistantSavedViewTile_1":{"type":"object","properties":{"key":{"type":"string","pattern":"^[a-zA-Z]{1,32}$","description":"The figure key, such as `holders`, `supply` or `transfers`."},"fig":{"type":"string","minLength":1,"maxLength":200,"description":"The figure: the block's tool id, a dot, and the pointer into the read."},"previous":{"type":"string","minLength":1,"maxLength":200,"description":"The previous period's figure, for a period tile."}},"required":["key","fig"],"additionalProperties":false},"AssistantSavedViewRead_1":{"type":"object","properties":{"params":{"type":"object","additionalProperties":{"type":"string"}},"query":{"type":"object"}},"additionalProperties":false,"description":"The input of the read, in the form the Console sends it: path parameters and query. The view re-runs the read with it as the person viewing."},"AssistantScope":{"anyOf":[{"$ref":"#/components/schemas/AssistantAssetScope"},{"$ref":"#/components/schemas/AssistantParticipantScope"},{"$ref":"#/components/schemas/AssistantOrganizationScope"},{"$ref":"#/components/schemas/AssistantVenueScope"},{"$ref":"#/components/schemas/AssistantTrailScope"},{"$ref":"#/components/schemas/AssistantFilingScope"}],"description":"The object a question is about: an asset, a participant, the organisation overview, a trading venue, the audit trail or filings. The assistant reads only what that scope offers.","discriminator":{"propertyName":"kind","mapping":{"asset":"#/components/schemas/AssistantAssetScope","participant":"#/components/schemas/AssistantParticipantScope","organization":"#/components/schemas/AssistantOrganizationScope","venue":"#/components/schemas/AssistantVenueScope","trail":"#/components/schemas/AssistantTrailScope","filing":"#/components/schemas/AssistantFilingScope"}}},"AssistantSavedViewsCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantSavedView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false,"description":"The caller's views and the views shared in the organisation, in the caller's order, at most 100."},"AssistantWatcherStatusCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantWatcherStatus"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantWatcherStatus":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/AssistantWatcherId"},"on":{"type":"boolean","description":"Whether the watcher runs: its switch and the assistant are on."},"lastRun":{"anyOf":[{"$ref":"#/components/schemas/AssistantWatcherRun"},{"type":"null"}]},"nextRunAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When it runs next on its own; null while off."},"runRequested":{"type":"boolean","description":"Whether a member asked for a run that has not started."},"openItems":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"level":{"$ref":"#/components/schemas/AssistantAutonomyLevel_1"},"ceiling":{"$ref":"#/components/schemas/AssistantAutonomyLevel_2"},"vetoWindowHours":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many hours a member can veto an action scheduled at `actWithVeto` before the agent principal runs it."},"levels":{"type":"array","items":{"$ref":"#/components/schemas/AssistantAutonomyLevelChoice"},"description":"Every level, in order, with whether the caller can set it now and why not."},"trackRecord":{"$ref":"#/components/schemas/AssistantTrackRecord"},"minimumTrackRecord":{"$ref":"#/components/schemas/AssistantMinimumTrackRecord"}},"required":["id","on","lastRun","nextRunAt","runRequested","openItems","level","ceiling","vetoWindowHours","levels","trackRecord","minimumTrackRecord"],"additionalProperties":false},"AssistantMinimumTrackRecord":{"type":"object","properties":{"resolved":{"type":"integer","minimum":0,"maximum":1000,"description":"How many proposals members must have resolved in the last 90 days."},"agreementPercent":{"type":"integer","minimum":0,"maximum":100,"description":"The share of those taken unchanged, in whole percent."}},"required":["resolved","agreementPercent"],"additionalProperties":false,"description":"The track record the organisation owner requires before a watcher is raised to `prepare` or above. It is measured over the last 90 days."},"AssistantTrackRecord":{"type":"object","properties":{"last30":{"$ref":"#/components/schemas/AssistantTrackRecordWindow"},"last90":{"$ref":"#/components/schemas/AssistantTrackRecordWindow"}},"required":["last30","last90"],"additionalProperties":false},"AssistantTrackRecordWindow":{"type":"object","properties":{"days":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many days back the window reaches."},"taken":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Items whose proposal a member took unchanged."},"changed":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Items whose proposal a member took with a change."},"rejected":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Items whose proposal a member rejected."},"agreementPercent":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The share taken unchanged, in whole percent. Null when no proposal was resolved in the window."}},"required":["days","taken","changed","rejected","agreementPercent"],"additionalProperties":false,"description":"How members resolved the watcher's proposals within the window, by when each item was resolved."},"AssistantAutonomyLevelChoice":{"type":"object","properties":{"level":{"$ref":"#/components/schemas/AssistantAutonomyLevel"},"allowed":{"type":"boolean","description":"Whether the caller can set this level now, given their role, the track record and the agent principals. Lowering is always allowed to anyone who may change the assistant settings."},"refusals":{"type":"array","items":{"$ref":"#/components/schemas/AssistantAutonomyRaiseRefusal"},"description":"Why the level is out of reach. Empty when allowed."}},"required":["level","allowed","refusals"],"additionalProperties":false},"AssistantAutonomyRaiseRefusal":{"type":"string","enum":["notOwner","aboveCeiling","trackRecordShort","noCoveringMandate"],"description":"Why a level is out of reach. `notOwner`: only the organisation owner raises a level. `aboveCeiling`: the watcher cannot work at that level. `trackRecordShort`: the last 90 days fall short of the owner's minimum track record. `noCoveringMandate`: the organisation has no active agent principal, or its agent kill switch is on. Whether the mandate covers the specific action is checked again when the action runs."},"AssistantAutonomyLevel":{"type":"string","enum":["observe","suggest","prepare","actWithVeto","act"],"description":"How far a watcher goes on its own in this organisation. `observe` runs and logs only. `suggest` posts an inform item. `prepare` posts its draft or options for a member to take. `actWithVeto` schedules the action under the organisation's agent principal and runs it unless a member vetoes it within the window. `act` runs the action inside the agent principal's mandate and reports it. A watcher never goes above its own ceiling."},"AssistantAutonomyLevel_2":{"type":"string","enum":["observe","suggest","prepare","actWithVeto","act"],"description":"The highest level this watcher can work at. A watcher that only informs stops at `suggest`; one whose action no on-chain mandate can cover stops at `prepare`."},"AssistantAutonomyLevel_1":{"type":"string","enum":["observe","suggest","prepare","actWithVeto","act"],"description":"The level the watcher works at in this organisation."},"AssistantWatcherRun":{"type":"object","properties":{"id":{"type":"string"},"watcher":{"$ref":"#/components/schemas/AssistantWatcherId"},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"finishedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"outcome":{"type":"string","enum":["completed","failed"]},"failure":{"anyOf":[{"$ref":"#/components/schemas/AssistantWatcherFailure"},{"type":"null"}]},"reads":{"type":"array","items":{"$ref":"#/components/schemas/AssistantWatcherRead"}},"found":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many subjects met the watcher's condition."},"posted":{"type":"array","items":{"type":"string"},"description":"The items this run opened."},"cleared":{"type":"array","items":{"type":"string"},"description":"The items this run resolved because their condition cleared."},"executed":{"type":"array","items":{"type":"string"},"description":"The items this run posted that the organisation's agent principal has since run. An item scheduled with a veto window appears here once the window has passed."},"turnId":{"type":"string","description":"The turn record the run left."},"level":{"anyOf":[{"$ref":"#/components/schemas/AssistantAutonomyLevel"},{"type":"null"}],"description":"The level the watcher ran at. Null for a run recorded before watchers had levels."}},"required":["id","watcher","startedAt","finishedAt","outcome","failure","reads","found","posted","cleared","executed","turnId","level"],"additionalProperties":false,"description":"One run of a watcher: what it read, what it found and which items it posted or cleared."},"AssistantWatcherRead":{"type":"object","properties":{"read":{"$ref":"#/components/schemas/AssistantWatcherReadId"},"rows":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["read","rows"],"additionalProperties":false,"description":"One read of a run and how many rows it returned. Never the data."},"AssistantWatcherReadId":{"type":"string","enum":["dividends.payable","coupons.next-period","treasuries.funding","filings.due","claims.expiring","credits.unmatched"],"description":"A read a watcher makes over indexed or platform data."},"AssistantWatcherFailure":{"type":"string","enum":["read-unavailable","no-active-system"],"description":"Why a run failed: a read did not answer, or the organisation has no active system on its default network."},"AssistantWatcherBacktestSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantWatcherBacktest"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantWatcherBacktest":{"type":"object","properties":{"watcher":{"$ref":"#/components/schemas/AssistantWatcherId"},"from":{"$ref":"#/components/schemas/TimestampEncoded"},"to":{"$ref":"#/components/schemas/TimestampEncoded"},"days":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many days the replay covers, newest first. It is 30 unless the history hit the row cap, and then only the newest days that were read in full count."},"fired":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"How many times the watcher would have fired: each subject counts once for every stretch of consecutive days on which it met the condition."},"proposals":{"type":"object","properties":{"inform":{"type":"integer","minimum":0,"maximum":9007199254740991},"approve":{"type":"integer","minimum":0,"maximum":9007199254740991},"decide":{"type":"integer","minimum":0,"maximum":9007199254740991},"context":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["inform","approve","decide","context"],"additionalProperties":false,"description":"What it would have posted at `prepare`, by item kind, one per firing."},"latest":{"type":"array","items":{"$ref":"#/components/schemas/AssistantBacktestFiring"},"description":"The five most recent firings, newest first."}},"required":["watcher","from","to","days","fired","proposals","latest"],"additionalProperties":false,"description":"The watcher's trigger replayed once a day over indexed and platform history, with the same checks it runs live. Holdings, treasury balances, payout claims, filing submissions and parked credits are read as of each day; verification claims, identity status, allowances and dividend cancellations are read as they stand now. Nothing is posted or changed."},"AssistantBacktestFiring":{"type":"object","properties":{"firedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"subject":{"$ref":"#/components/schemas/AssistantAgentItemSubject"},"kind":{"type":"string","enum":["inform","approve","decide","context"]},"brief":{"$ref":"#/components/schemas/AssistantWatchBrief"},"proposal":{"$ref":"#/components/schemas/AssistantAgentItemProposal"}},"required":["firedAt","subject","kind","brief","proposal"],"additionalProperties":false},"AssistantAgentItemProposal":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["inform"]}},"required":["kind"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["approve"]},"asset":{"$ref":"#/components/schemas/EvmAddress"},"draft":{"$ref":"#/components/schemas/AssistantDraftEvent"}},"required":["kind","asset","draft"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["decide"]},"options":{"type":"array","items":{"$ref":"#/components/schemas/AssistantDecideOption"},"minItems":2,"maxItems":3}},"required":["kind","options"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["context"]},"question":{"anyOf":[{"type":"string","enum":["fundingDate"]}],"description":"The one fact the watcher needs. `fundingDate`: when the treasury will be funded."},"answer":{"anyOf":[{"type":"string","enum":["date"]}]}},"required":["kind","question","answer"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["error"]},"failure":{"$ref":"#/components/schemas/AssistantWatcherFailure"},"nextRunAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["kind","failure","nextRunAt"],"additionalProperties":false}],"description":"What the watcher prepared, by kind. A watcher never signs or submits on its own: a draft opens the existing control and the member confirms with the usual wallet verification. Only at the Act levels does an agent principal run the one prepared transfer, inside its mandate."},"AssistantDecideOption":{"type":"object","properties":{"id":{"type":"string","enum":["allocate","returnToPayer","keepWaiting"]},"consequence":{"$ref":"#/components/schemas/AssistantWatchCopy"},"proposed":{"type":"boolean","description":"Whether this is the option the watcher proposes."}},"required":["id","consequence","proposed"],"additionalProperties":false},"AssistantWatchCopy":{"type":"object","properties":{"key":{"type":"string","enum":["summary.payoutShort","summary.payoutAllowanceShort","summary.payoutAssetOutside","summary.filingDue","summary.filingDueForPeriod","summary.claimsExpiring","summary.creditUnmatched","summary.watcherFailed","summary.clientPrepared","why.balanceShort","why.allowanceShort","why.covered","why.noSubmission","why.dueWithinWindow","why.claimRequired","why.claimsExpire","why.noClientMatch","why.pastThreshold","consequence.allocate","consequence.returnToPayer","consequence.keepWaiting"]},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AssistantWatchParam"}}},"required":["key","params"],"additionalProperties":false,"description":"A sentence the client writes from a fixed key and typed values. The server never sends prose."},"AssistantWatchParam":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["amount"]},"value":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"An amount in whole units, as a decimal string."},"symbol":{"type":"string"}},"required":["kind","value","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["count"]},"value":{"type":"string","pattern":"^\\d+$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["date"]},"value":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["address"]},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["payoutKind"]},"value":{"type":"string","enum":["cashDividend","distribution","bondCoupon"]}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["label"]},"value":{"type":"string","description":"A name a member wrote in DALP, such as an obligation, a period or a payment reference, or the name an MCP client registered with. Shown as text; never model text."}},"required":["kind","value"],"additionalProperties":false}],"description":"A value a sentence names, copied from the reads the watcher made. The client renders amounts, counts and dates through the page's formatters and words closed sets itself."},"AssistantDraftEvent":{"type":"object","properties":{"type":{"type":"string","enum":["draft"]},"control":{"$ref":"#/components/schemas/AssistantControlId"},"fields":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/AssistantDraftField"}},"notes":{"type":"array","items":{"$ref":"#/components/schemas/AssistantDraftNote"}}},"required":["type","control","fields","notes"],"additionalProperties":false,"description":"A control to open with values filled in. The person still previews, approves and signs in the control itself."},"AssistantDraftNote":{"type":"object","properties":{"key":{"type":"string","enum":["dateResolved","noSuchField","noStartDate","standardWording"]},"params":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"}]}}},"required":["key"],"additionalProperties":false,"description":"A plain statement shown under the drafted line. Keyed, never model text."},"AssistantControlId":{"type":"string","enum":["asset.aumFee.setRate","asset.freezePartial.freeze","asset.corporateAction.stockSplit","asset.corporateAction.cashDividend","asset.corporateAction.cashDividendInKind","asset.corporateAction.distribution","asset.corporateAction.distributionInKind","asset.corporateAction.coordinatedDistribution","asset.corporateAction.bondCoupon","asset.corporateAction.bondCouponInKind","asset.corporateAction.maturityRedemption","asset.corporateAction.conversion","asset.corporateAction.bonusIssue","asset.corporateAction.rightsIssue","asset.corporateAction.spinOff","asset.corporateAction.capitalDecrease","asset.corporateAction.partialRedemption","asset.corporateAction.buyback","asset.mint","asset.burn","asset.freezePartial.unfreeze","asset.forcedTransfer","asset.forcedRecover","asset.recoverErc20","asset.setCap","asset.transfer","asset.transferApproval.approve","asset.transferApproval.revoke","asset.delegate","asset.clearDelegation","asset.pause","asset.unpause","asset.blocklist.block","asset.blocklist.unblock","asset.aumFee.setRecipient","asset.aumFee.collect","asset.aumFee.freeze","asset.transactionFee.setRates","asset.transactionFee.setRecipient","asset.transactionFee.freeze","asset.transactionFeeAccounting.setRates","asset.transactionFeeAccounting.setRecipient","asset.transactionFeeAccounting.freeze","asset.transactionFeeAccounting.reconcile","asset.feeExemption.set","asset.externalFee.setAmounts","asset.externalFee.setRecipient","asset.externalFee.freeze","asset.yield.setSchedule","asset.yield.setTreasury","asset.maturity.setTreasury","asset.interest.setRate","asset.interest.fundTreasury","asset.conversion.convert","asset.conversion.forceConvert","asset.conversion.publishTrigger","asset.conversion.disableTrigger","asset.conversion.setWindow","asset.conversion.addConverter","asset.conversion.removeConverter","asset.metadata.add","asset.metadata.remove","feature.maturity-redemption.attach","feature.dividend-yield.attach","feature.interest-yield.attach","feature.aum-fee.attach","feature.transaction-fee.attach","feature.transaction-fee-accounting.attach","feature.external-transaction-fee.attach","feature.maturity-redemption.replace","feature.dividend-yield.replace","feature.interest-yield.replace","feature.aum-fee.replace","feature.transaction-fee.replace","feature.transaction-fee-accounting.replace","feature.external-transaction-fee.replace","feature.permit.attach","feature.voting-power.attach","feature.hold.attach","feature.supply-delegate.attach","feature.register-lines.attach","asset.yield.attachFixedTreasury","feature.recoverTokens","feature.detach","feature.excludeAccount","asset.documents.uploadHolderNotice"],"description":"A control the assistant can open drafted. Closed: the server registry and the Console registry share it."},"AssistantWatchBrief":{"type":"object","properties":{"summary":{"type":"array","items":{"$ref":"#/components/schemas/AssistantWatchCopy"}},"checks":{"type":"array","items":{"$ref":"#/components/schemas/AssistantWatchCheck"}}},"required":["summary","checks"],"additionalProperties":false,"description":"The item's brief in the brief-an-approval format: summary sentences and checks marked Matches, Differs, Unsure or Not stated, all from fixed keys and typed values."},"AssistantWatchCheck":{"type":"object","properties":{"id":{"type":"string","enum":["payout.balance-covers","payout.allowance-covers","filing.submitted","filing.due-within-window","claims.required-by-rules","claims.valid-30-days","credit.client-matched","credit.within-threshold","client.permission-held","client.fields-complete"]},"verdict":{"type":"string","enum":["matches","differs","unsure","notStated"]},"why":{"anyOf":[{"$ref":"#/components/schemas/AssistantWatchCopy"},{"type":"null"}]}},"required":["id","verdict","why"],"additionalProperties":false},"AssistantAgentItemSubject":{"type":"object","properties":{"kind":{"type":"string","enum":["dividend","coupon","filing-period","asset","credit","watcher","client-request"]},"id":{"type":"string","description":"The subject's id within its kind: the dividend or coupon period, the filing period id, the asset address, the credit id, the watcher id or the MCP client's request id."},"asset":{"anyOf":[{"$ref":"#/components/schemas/EvmAddress"},{"type":"null"}],"description":"The asset the subject belongs to, when it has one."}},"required":["kind","id","asset"],"additionalProperties":false},"AssistantWatcherStatusSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantWatcherStatus"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantWatcherUpdate":{"type":"object","properties":{"level":{"$ref":"#/components/schemas/AssistantAutonomyLevel"},"minimumTrackRecord":{"$ref":"#/components/schemas/AssistantMinimumTrackRecord"}},"additionalProperties":false,"description":"Change a watcher's level or the minimum track record it needs. Lowering the level is immediate and open to anyone who may change the assistant settings. Raising it, and changing the minimum, needs the organisation owner; a raise to `prepare` or above also needs the minimum track record, and a raise to `actWithVeto` or `act` an agent principal whose mandate covers the action."},"AssistantWatcherRunsCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantWatcherRun"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantAgentItemSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantAgentItem"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantAgentItem":{"type":"object","properties":{"id":{"type":"string"},"watcher":{"anyOf":[{"$ref":"#/components/schemas/AssistantWatcherId"},{"type":"null"}],"description":"The watcher that posted the item; null for an item an MCP client prepared."},"client":{"anyOf":[{"$ref":"#/components/schemas/AssistantAgentItemClient"},{"type":"null"}],"description":"The MCP client that prepared the item; null for an item a watcher posted."},"kind":{"$ref":"#/components/schemas/AssistantAgentItemKind"},"condition":{"$ref":"#/components/schemas/AssistantAgentItemCondition"},"subject":{"$ref":"#/components/schemas/AssistantAgentItemSubject"},"brief":{"$ref":"#/components/schemas/AssistantWatchBrief"},"proposal":{"$ref":"#/components/schemas/AssistantAgentItemProposal"},"dueAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The deadline the finding is about, when it has one."},"openedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"runId":{"type":"string","description":"The watcher run that posted the item, or the MCP client's request id for a prepared item."},"snoozedUntil":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"draftOpenedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When a member first opened the item's draft in its control."},"executeAfter":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When the agent principal runs the item's action unless a member vetoes it first. Null when nothing is scheduled."},"execution":{"anyOf":[{"$ref":"#/components/schemas/AssistantAgentItemExecution"},{"type":"null"}],"description":"What happened when the action was handed to the agent principal. Null until it was."},"resolution":{"anyOf":[{"$ref":"#/components/schemas/AssistantAgentItemResolution"},{"type":"null"}],"description":"Null while the item is open."}},"required":["id","watcher","client","kind","condition","subject","brief","proposal","dueAt","openedAt","runId","snoozedUntil","draftOpenedAt","executeAfter","execution","resolution"],"additionalProperties":false,"description":"Prepared, checked work a watcher or an MCP client posted to the Actions inbox. Every figure, trigger and check comes from code over indexed and platform data."},"AssistantAgentItemResolution":{"type":"object","properties":{"outcome":{"$ref":"#/components/schemas/AssistantAgentItemOutcome"},"agreement":{"anyOf":[{"$ref":"#/components/schemas/AssistantProposalAgreement"},{"type":"null"}]},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"by":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member who resolved it; null when it cleared."},"option":{"anyOf":[{"type":"string","enum":["allocate","returnToPayer","keepWaiting"]},{"type":"null"}]},"answer":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"The date given for a `context` item."},"reason":{"anyOf":[{"type":"string","enum":["notNeeded","handledElsewhere","wrongFinding","other"]},{"type":"null"}]},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The member's own note with a dismissal."}},"required":["outcome","agreement","at","by","option","answer","reason","note"],"additionalProperties":false},"AssistantProposalAgreement":{"type":"string","enum":["taken","changed","rejected"],"description":"Whether the member took the watcher's proposal unchanged, changed it, or rejected it. Null when the item made no proposal or cleared without one being used."},"AssistantAgentItemOutcome":{"type":"string","enum":["accepted","changed","picked","answered","dismissed","vetoed","cleared"],"description":"How the item ended. `accepted` and `changed`: the member opened the draft and the condition cleared with the proposed figure, or with another one; for an item an MCP client prepared, `accepted` means the member opened its draft in the control. `picked`: an option was chosen. `answered`: the missing fact was given. `dismissed`: a member dismissed it with a reason. `vetoed`: a member stopped the scheduled action before its window ended. `cleared`: the condition cleared without the draft."},"AssistantAgentItemExecution":{"anyOf":[{"type":"object","properties":{"outcome":{"type":"string","enum":["executed"]},"agentId":{"$ref":"#/components/schemas/ParticipantId_1"},"agentName":{"type":"string","description":"The agent principal's name when the action ran."},"requestId":{"type":"string","minLength":1,"description":"The transaction request the agent platform queued."},"transactionHash":{"anyOf":[{"$ref":"#/components/schemas/EthereumHashEncoded"},{"type":"null"}],"description":"The transaction hash. Null until the transaction is on chain."},"status":{"type":"string","enum":["queued","landed"]},"at":{"$ref":"#/components/schemas/TimestampEncoded"},"undo":{"type":"null","description":"Always null. Only a reversible action offers undo, and an ERC-20 top-up of a treasury is not reversible by the agent."}},"required":["outcome","agentId","agentName","requestId","transactionHash","status","at","undo"],"additionalProperties":false},{"type":"object","properties":{"outcome":{"type":"string","enum":["refused"]},"reason":{"$ref":"#/components/schemas/AssistantExecutionRefusalReason"},"at":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["outcome","reason","at"],"additionalProperties":false}],"description":"What happened when the item's action was handed to the agent principal. `executed`: the agent platform accepted it; the agent, the request and the transaction are named. `refused`: it was not run; the item stays open for a member to do by hand. The agent platform writes the audit row."},"AssistantExecutionRefusalReason":{"type":"string","enum":["agent-not-active","agent-revoked","organisation-halted","mandate-missing","mandate-expired","target-not-allowed","self-call-refused","asset-per-transaction-exceeded","asset-per-period-exceeded","native-per-transaction-exceeded","native-per-period-exceeded","amount-undecodable","chain-refused","unavailable"],"description":"Why the agent principal did not run the action: the mandate, the agent's state or the kill switch refused it, the chain refused it, or the agent platform could not answer (`unavailable`)."},"ParticipantId_1":{"type":"string","minLength":1,"description":"The agent principal that ran the action."},"AssistantAgentItemClient":{"type":"object","properties":{"id":{"type":"string","description":"The MCP client's OAuth client id."},"name":{"type":"string","description":"The name the client registered with. The client chose it, so it is shown as the client's own label."},"requestedBy":{"type":"string","description":"The member who signed the client in and whose inbox holds the item."}},"required":["id","name","requestedBy"],"additionalProperties":false,"description":"The MCP client that prepared the item through DALP's hosted MCP server."},"AssistantAgentItemTransitionRequest":{"anyOf":[{"type":"object","properties":{"action":{"type":"string","enum":["dismiss"]},"reason":{"type":"string","enum":["notNeeded","handledElsewhere","wrongFinding","other"]},"note":{"type":"string","maxLength":500}},"required":["action","reason"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["pick"]},"option":{"type":"string","enum":["allocate","returnToPayer","keepWaiting"]}},"required":["action","option"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["answer"]},"answer":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["action","answer"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["snooze"]},"until":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["action","until"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["open-draft"]}},"required":["action"],"additionalProperties":false},{"type":"object","properties":{"action":{"type":"string","enum":["veto"]}},"required":["action"],"additionalProperties":false}],"description":"Act on an open item: dismiss it with a reason, pick one of a `decide` item's options, answer a `context` item, snooze it until a date, record that the member opened an `approve` item's draft, or veto a scheduled action before its window ends. A veto resolves the item as rejected and the watcher does not post the finding again until its condition clears. An approve item resolves when its condition clears; nothing here signs or submits."},"AssistantAgentItemsCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantAgentItem"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantTurnFeedbackRequest":{"type":"object","properties":{"rating":{"$ref":"#/components/schemas/AssistantFeedbackRating"},"reason":{"$ref":"#/components/schemas/AssistantFeedbackReason"},"detail":{"type":"string","maxLength":500,"description":"What was wrong, in the person's words, up to 500 characters."}},"additionalProperties":false},"AssistantFeedbackReason":{"type":"string","enum":["wrong-answer","wrong-source","should-not-answer","other"]},"AssistantFeedbackRating":{"type":"string","enum":["helpful","notHelpful"],"description":"How the person rated the answer: helpful or notHelpful."},"AssistantTurnSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantTurn"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantTurn":{"type":"object","properties":{"id":{"type":"string","description":"The turn id. A trail entry for the turn names it as `turn=<id>`."},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"actorUserId":{"$ref":"#/components/schemas/UserId"},"scope":{"$ref":"#/components/schemas/AssistantScope_2"},"question":{"type":"string","description":"The question as the person typed it."},"outcome":{"type":"string","enum":["started","completed","refused","timeout","error","cancelled"]},"feedback":{"$ref":"#/components/schemas/AssistantTurnFeedback"},"prompt":{"type":"string","description":"What was sent to the model, with names replaced by handles."},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The final prose as streamed, with handles and figure references, never names."},"toolCalls":{"type":"array","items":{"$ref":"#/components/schemas/AssistantTurnToolCall"},"description":"The reads the turn made: route identifier and input, never the response body."},"model":{"anyOf":[{"type":"string"},{"type":"null"}]},"latencyMs":{"anyOf":[{"type":"integer","minimum":0,"maximum":9007199254740991},{"type":"null"}]},"usage":{"anyOf":[{"$ref":"#/components/schemas/AssistantUsage"},{"type":"null"}]},"roleAtTime":{"anyOf":[{"type":"string"},{"type":"null"}]},"refusalCode":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["id","startedAt","actorUserId","scope","question","outcome","prompt","answer","toolCalls","model","latencyMs","usage","roleAtTime","refusalCode"],"additionalProperties":false},"AssistantUsage":{"type":"object","properties":{"inputTokens":{"type":"integer","minimum":0,"maximum":9007199254740991},"outputTokens":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["inputTokens","outputTokens"],"additionalProperties":false},"AssistantTurnToolCall":{"type":"object","properties":{"routeIdentifier":{"type":"string","description":"The operation id of the read, as the audit trail names a route: `<group>.<identifier>`."},"input":{}},"required":["routeIdentifier","input"],"additionalProperties":false},"AssistantTurnFeedback":{"type":"object","properties":{"rating":{"$ref":"#/components/schemas/AssistantFeedbackRating"},"reason":{"$ref":"#/components/schemas/AssistantFeedbackReason"},"detail":{"type":"string","maxLength":500,"description":"What was wrong, in the person's words, up to 500 characters."},"at":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["rating","at"],"additionalProperties":false},"AssistantTurnsCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantTurnSummary"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantTurnSummary":{"type":"object","properties":{"id":{"type":"string","description":"The turn id. A trail entry for the turn names it as `turn=<id>`."},"startedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"actorUserId":{"$ref":"#/components/schemas/UserId"},"scope":{"$ref":"#/components/schemas/AssistantScope_2"},"question":{"type":"string","description":"The question as the person typed it."},"outcome":{"type":"string","enum":["started","completed","refused","timeout","error","cancelled"]},"feedback":{"$ref":"#/components/schemas/AssistantTurnFeedback"}},"required":["id","startedAt","actorUserId","scope","question","outcome"],"additionalProperties":false},"AssistantUsageSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantOrganizationUsage"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantOrganizationUsage":{"type":"object","properties":{"windowDays":{"type":"number","enum":[7]},"turns":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Questions the organisation asked in the window."},"refusedBusy":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Questions refused because a limit was spent."},"helpful":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Questions whose answer a person rated helpful in the window."},"notHelpful":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Questions whose answer a person rated notHelpful in the window."},"path":{"anyOf":[{"type":"string","enum":["platform","own"],"description":"Which key serves the organisation: the platform's free key or the organisation's own."},{"type":"null"}],"description":"Which key serves the organisation, or null while the assistant is off."},"limits":{"type":"object","properties":{"perUser":{"type":"object","properties":{"turns":{"type":"integer","minimum":0,"maximum":9007199254740991},"windowMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["turns","windowMinutes"],"additionalProperties":false},"perOrganization":{"type":"object","properties":{"turns":{"type":"integer","minimum":0,"maximum":9007199254740991},"windowMinutes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["turns","windowMinutes"],"additionalProperties":false}},"required":["perUser","perOrganization"],"additionalProperties":false,"description":"The limits that apply to the organisation's key path. The platform key's limits are named while the path is null."}},"required":["windowDays","turns","refusedBusy","helpful","notHelpful","path","limits"],"additionalProperties":false},"AssistantPlatformSwitchSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantPlatformSwitch"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantPlatformSwitch":{"type":"object","properties":{"enabled":{"type":"boolean","description":"Whether the assistant is on for the installation. A setting never written reads as on."},"platformKeyAvailable":{"type":"boolean","description":"Whether the deployment holds the free assistant key that organisations without their own key use."}},"required":["enabled","platformKeyAvailable"],"additionalProperties":false},"AssistantPlatformSwitchUpdate":{"type":"object","properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"additionalProperties":false},"AssistantTermSheetFillSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantTermSheetFill"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantTermSheetFill":{"type":"object","properties":{"status":{"type":"string","enum":["read","unreadable","password-protected"]},"fields":{"type":"array","items":{"$ref":"#/components/schemas/AssistantFillField"}},"scannedPages":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["status","fields","scannedPages"],"additionalProperties":false},"AssistantFillField":{"type":"object","properties":{"field":{"type":"string","description":"The form field id, or `metadata.<key>` for a template metadata field."},"status":{"type":"string","enum":["filled","unsure","not-stated"]},"value":{"anyOf":[{"$ref":"#/components/schemas/AssistantFillValue"},{"type":"null"}]},"page":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quote":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"At most 60 characters of the document around the value. Shown to the caller only."},"check":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["several","one"],"description":"several: the document gives different values for the field; one: it gives one statement the code could not settle."},"pages":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["kind","pages"],"additionalProperties":false},{"type":"null"}]}},"required":["field","status","value","page","quote","check"],"additionalProperties":false},"AssistantFillValue":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"value":{"type":"string"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["date"]},"iso":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["kind","iso"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["bps"]},"bps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","bps"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["percentage"]},"value":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["amount"]},"decimal":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","decimal","currency"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["enum"]},"value":{"type":"string"}},"required":["kind","value"],"additionalProperties":false}],"description":"A typed value parsed by code from the document or taken from a fixed lexicon. The wire never carries a formatted string or model text."},"AssistantTermSheetFillRequest":{"type":"object","properties":{"objectKey":{"type":"string","maxLength":256},"fields":{"type":"array","items":{"$ref":"#/components/schemas/TermFillTarget"},"maxItems":20}},"required":["objectKey","fields"],"additionalProperties":false},"TermFillTarget":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["form"]},"field":{"$ref":"#/components/schemas/TermFillFormField"}},"required":["kind","field"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["metadata"]},"key":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_.-]*$","maxLength":64},"type":{"$ref":"#/components/schemas/TermFillMetadataType"},"label":{"type":"string","minLength":1,"maxLength":64,"description":"The template's label for the field. It ranks extracts by keyword and reaches the model only as sanitized text inside the question."}},"required":["kind","key","type","label"],"additionalProperties":false}],"description":"One field the person left open and has not edited."},"TermFillMetadataType":{"type":"string","enum":["isin","date","bps","percentage","decimal-money","currency-code"],"description":"The template metadata field types a term sheet can fill. Other types (text, url, lei, enum, address, and so on) are never filled."},"TermFillFormField":{"type":"string","enum":["name","maturityDate","faceValue","fixedYieldRate","fixedYieldInterval","fixedYieldStartDate","fixedYieldEndDate","interestYieldAnnualRateBps","interestYieldStartDate","interestYieldDaycountConvention","managementFeeBps"],"description":"A wizard form field a term sheet can fill. A field outside this list is refused when the request decodes."},"AssistantDocumentDraftSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantDocumentDraft"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantDocumentDraft":{"type":"object","properties":{"status":{"type":"string","enum":["read","unreadable","password-protected"]},"kind":{"anyOf":[{"$ref":"#/components/schemas/AssistantDocumentKind"},{"type":"null"}],"description":"The document's kind from the fixed list, or null when it is none of them or the read was unsure."},"fields":{"type":"array","items":{"$ref":"#/components/schemas/AssistantDocumentField"}},"matches":{"type":"array","items":{"$ref":"#/components/schemas/AssistantBankStatementMatch"}},"refused":{"type":"boolean","description":"True when the caller may not read what the kind needs, such as the bank rail credits for a statement. Nothing is matched then."},"scannedPages":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["status","kind","fields","matches","refused","scannedPages"],"additionalProperties":false},"AssistantBankStatementMatch":{"type":"object","properties":{"connectionId":{"type":"string"},"creditId":{"type":"string"},"status":{"type":"string","enum":["proposed","unsure"],"description":"proposed: the statement line for this credit names exactly one client of the connection; unsure: it names none or several, or the line could not be settled."},"clientLinkId":{"anyOf":[{"type":"string"},{"type":"null"}]},"page":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quote":{"anyOf":[{"type":"string"},{"type":"null"}]},"check":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["several","one"],"description":"several: the document gives different values for the field; one: it gives one statement the code could not settle."},"pages":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["kind","pages"],"additionalProperties":false},{"type":"null"}]}},"required":["connectionId","creditId","status","clientLinkId","page","quote","check"],"additionalProperties":false,"description":"One credit the bank rail could not match to a client, and the statement line that pays it."},"AssistantDocumentField":{"type":"object","properties":{"field":{"type":"string","enum":["asset","investor","units","participant","validUntil","name","cadence","deadlineOffset","deadlineUnit","reportingEntityLei"]},"status":{"type":"string","enum":["filled","unsure","not-stated"]},"value":{"anyOf":[{"$ref":"#/components/schemas/AssistantDocumentValue"},{"type":"null"}]},"page":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"quote":{"anyOf":[{"type":"string"},{"type":"null"}]},"check":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["several","one"],"description":"several: the document gives different values for the field; one: it gives one statement the code could not settle."},"pages":{"type":"array","items":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}}},"required":["kind","pages"],"additionalProperties":false},{"type":"null"}]}},"required":["field","status","value","page","quote","check"],"additionalProperties":false},"AssistantDocumentValue":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["text"]},"value":{"type":"string"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["date"]},"iso":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},"required":["kind","iso"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["bps"]},"bps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["kind","bps"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["percentage"]},"value":{"type":"string","pattern":"^\\d+(\\.\\d+)?$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["amount"]},"decimal":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","decimal","currency"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["enum"]},"value":{"type":"string"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["participant"]},"target":{"type":"string","enum":["user","entity","wallet"],"description":"What `id` names: a user id for a person, the address of an entity, or the wallet of a contact. It comes from the caller's own search, never from an address in the document."},"id":{"type":"string"},"name":{"type":"string","description":"The participant's name as the caller's search knows it."}},"required":["kind","target","id","name"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["asset"]},"address":{"type":"string"},"name":{"type":"string"},"symbol":{"type":"string"}},"required":["kind","address","name","symbol"],"additionalProperties":false}],"description":"A typed value parsed by code from the document, taken from a fixed list, or a participant or asset the caller's own search found by the name the document gives. Never model text."},"AssistantDocumentKind":{"type":"string","enum":["subscription-agreement","bank-statement","identity-documents","obligation-letter","term-sheet"],"description":"The fixed list of documents the assistant drafts from: a subscription agreement, a bank statement, an identity document set, a regulator or board letter that sets a filing obligation, and a term sheet."},"AssistantDocumentDraftRequest":{"type":"object","properties":{"objectKey":{"type":"string","maxLength":256}},"required":["objectKey"],"additionalProperties":false},"AssistantDocumentUploadSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantDocumentUpload"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantDocumentUpload":{"type":"object","properties":{"uploadUrl":{"type":"string"},"method":{"type":"string","enum":["PUT"]},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"Headers the upload must send, as the storage provider signed them."},"objectKey":{"type":"string","description":"Sits under the caller's organisation prefix. A term sheet fill or a document draft reads it once and deletes it."},"expiresAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["uploadUrl","method","headers","objectKey","expiresAt"],"additionalProperties":false},"AssistantDocumentUploadRequest":{"type":"object","properties":{"fileSize":{"type":"integer","minimum":1,"maximum":20971520}},"required":["fileSize"],"additionalProperties":false},"AssistantPolicyReadingSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantPolicyReading"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantPolicyReading":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["read"]},"clauses":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPolicyClause"}}},"required":["status","clauses"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["language-unsupported"]}},"required":["status"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["too-many-parts"]}},"required":["status"],"additionalProperties":false}],"description":"The policy compiled to rules of the fixed catalog, clause by clause, or why it was not read. Data only: offsets into the caller's own text and values code parsed, never model text."},"AssistantPolicyClause":{"type":"object","properties":{"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset of the first character in the policy text."},"end":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset after the last character in the policy text."},"rules":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPolicyReadRule"}},"unread":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPolicyUnreadPart"}}},"required":["start","end","rules","unread"],"additionalProperties":false,"description":"One clause of the policy as the officer wrote it, located by offsets, with what it became."},"AssistantPolicyUnreadPart":{"type":"object","properties":{"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset of the first character in the policy text."},"end":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset after the last character in the policy text."},"reason":{"$ref":"#/components/schemas/AssistantPolicyUnreadReason"}},"required":["start","end","reason"],"additionalProperties":false,"description":"Words of the policy that became no rule, and why."},"AssistantPolicyUnreadReason":{"type":"string","enum":["holder-share","no-rule","unsure","out-of-range","past-date"],"description":"Why words of the policy became no rule: `holder-share` caps a holder's share of the supply, which no rule in the catalog does; `no-rule` asks for something no rule expresses; `unsure` could not be placed with certainty; `out-of-range` names a value the rule does not accept; `past-date` names a date that has passed."},"AssistantPolicyReadRule":{"type":"object","properties":{"start":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset of the first character in the policy text."},"end":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Offset after the last character in the policy text."},"rule":{"$ref":"#/components/schemas/CompliancePolicyRule"}},"required":["start","end","rule"],"additionalProperties":false,"description":"A rule and the words of the policy its values were read from."},"CompliancePolicyRule":{"anyOf":[{"type":"object","properties":{"typeId":{"type":"string","enum":["country-allow-list-v2"]},"countries":{"type":"array","items":{"type":"integer","minimum":1,"maximum":999,"description":"An ISO 3166-1 numeric country code."},"minItems":1,"maxItems":250}},"required":["typeId","countries"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["country-block-list-v2"]},"countries":{"type":"array","items":{"type":"integer","minimum":1,"maximum":999,"description":"An ISO 3166-1 numeric country code."},"minItems":1,"maxItems":250}},"required":["typeId","countries"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["identity-verification-v2"]},"topics":{"type":"array","items":{"$ref":"#/components/schemas/CompliancePolicyTopic"},"minItems":1,"maxItems":6},"join":{"type":"string","enum":["and","or"]}},"required":["typeId","topics","join"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["identity-count"]},"maxHolders":{"type":"integer","minimum":1,"maximum":1000000}},"required":["typeId","maxHolders"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["minimum-holding"]},"amount":{"type":"string","pattern":"^[1-9]\\d{0,29}$","description":"A whole number of the asset's units, written in decimal digits, before the asset's decimals."}},"required":["typeId","amount"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["capped-v2"]},"amount":{"type":"string","pattern":"^[1-9]\\d{0,29}$","description":"A whole number of the asset's units, written in decimal digits, before the asset's decimals."}},"required":["typeId","amount"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["time-lock-v2"]},"holdDays":{"type":"integer","minimum":1,"maximum":3650}},"required":["typeId","holdDays"],"additionalProperties":false},{"type":"object","properties":{"typeId":{"type":"string","enum":["lock-up"]},"unlockDate":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"A calendar day, YYYY-MM-DD."}},"required":["typeId","unlockDate"],"additionalProperties":false}],"description":"One rule of the fixed compliance-module catalog with the values read from a written policy. A hold period is in days (a week is 7, a month 30, a year 365); a lock-up date is the first UTC day transfers are allowed again."},"AssistantPolicyReadingRequest":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":2000,"description":"The policy as the compliance officer wrote it, 1 to 2,000 characters. Never stored by this route."},"locale":{"type":"string","maxLength":35,"description":"A BCP 47 tag such as de-DE."},"today":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"The caller's calendar day. A lock-up date on or before it has passed."}},"required":["text","locale","today"],"additionalProperties":false},"AssistantFilterPhraseSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantFilterPhraseResponse"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantFilterPhraseResponse":{"anyOf":[{"type":"object","properties":{"status":{"type":"string","enum":["offer"]},"clauses":{"type":"array","items":{"$ref":"#/components/schemas/AssistantFilterClause"}}},"required":["status","clauses"],"additionalProperties":false},{"type":"object","properties":{"status":{"type":"string","enum":["none"]}},"required":["status"],"additionalProperties":false}],"description":"Either clauses that name only columns, operators and options the request declared, or none. Data only, never a sentence."},"AssistantFilterClause":{"type":"object","properties":{"column":{"type":"string"},"operator":{"type":"string"},"values":{"type":"array","items":{"anyOf":[{"type":"string"},{"type":"number"}]},"description":"ISO 8601 instants for dates, numbers for numbers, option values and text as strings."}},"required":["column","operator","values"],"additionalProperties":false},"AssistantFilterPhraseRequest":{"type":"object","properties":{"phrase":{"type":"string","minLength":1,"maxLength":200,"description":"The search text as typed, 1 to 200 characters. Never stored."},"locale":{"type":"string","maxLength":35,"description":"A BCP 47 tag such as en-US."},"now":{"type":"string","maxLength":40,"description":"The caller's current instant as an ISO 8601 string. Relative dates resolve against it."},"timeZone":{"type":"string","maxLength":64,"description":"An IANA time zone name."},"columns":{"type":"array","items":{"$ref":"#/components/schemas/AssistantPhraseColumn"},"maxItems":12}},"required":["phrase","locale","now","timeZone","columns"],"additionalProperties":false},"AssistantPhraseColumn":{"type":"object","properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_.]*$","maxLength":64},"label":{"type":"string","maxLength":64},"type":{"type":"string","enum":["text","number","date","option","multiOption"]},"operators":{"type":"array","items":{"type":"string","maxLength":40},"maxItems":10},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string","maxLength":64},"label":{"type":"string","maxLength":64}},"required":["value","label"],"additionalProperties":false},"maxItems":40}},"required":["id","label","type","operators"],"additionalProperties":false,"description":"One filterable column of the table, as the table's own filter menu declares it. Operators are the menu's operator names."},"TermCheckSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/TermCheck"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"TermCheck":{"type":"object","properties":{"documentId":{"type":"string"},"fileName":{"type":"string"},"versionNumber":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"uploadedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"status":{"type":"string","enum":["checked","not-checked","unsupported-type","unreadable","password-protected"]},"checkedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}]},"canRun":{"type":"boolean","description":"True when the caller may run or repeat the check: the role that changes the asset's documents."},"rows":{"type":"array","items":{"$ref":"#/components/schemas/TermCheckRow"}}},"required":["documentId","fileName","versionNumber","uploadedAt","status","checkedAt","canRun","rows"],"additionalProperties":false},"TermCheckRow":{"type":"object","properties":{"term":{"$ref":"#/components/schemas/TermId"},"verdict":{"type":"string","enum":["matches","differs","not-stated","unsure"]},"document":{"anyOf":[{"type":"object","properties":{"value":{"anyOf":[{"$ref":"#/components/schemas/TermValue"},{"type":"null"}]},"page":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["value","page"],"additionalProperties":false},{"type":"null"}],"description":"What the document says: the value the code parsed and its page. Null when the document does not state the term. On an unsure row the value is null and the page is the best candidate's, when there was one."},"chain":{"$ref":"#/components/schemas/TermValue"}},"required":["term","verdict","document","chain"],"additionalProperties":false},"TermValue":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["identifier"]},"value":{"type":"string"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["date"]},"iso":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"A calendar day, YYYY-MM-DD."}},"required":["kind","iso"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["rate"]},"bps":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"per":{"type":"string","enum":["year","period","once"],"description":"How the rate applies: a year, one payment period, or once (an entry or exit charge). The client words it."}},"required":["kind","bps","per"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["amount"]},"decimal":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}]}},"required":["kind","decimal","currency"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["currency"]},"code":{"type":"string"}},"required":["kind","code"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["units"]},"decimal":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$"}},"required":["kind","decimal"],"additionalProperties":false}],"description":"A typed term value, parsed by code from the document or read from the chain. The wire never carries a formatted string; the client formats it with the page's own formatters."},"TermId":{"type":"string","enum":["identifier","couponRate","faceValue","maturityDate","denominationCurrency","interestRate","startDate","managementFee","entryFee","exitFee","maximumSupply"],"description":"A term of the asset the term sheet check compares. The client words its label."},"TermCheckRequest":{"type":"object","properties":{"assetId":{"$ref":"#/components/schemas/EvmAddress"},"documentId":{"type":"string"},"force":{"type":"boolean","description":"True to read the term sheet again although a result is stored."}},"required":["assetId","documentId"],"additionalProperties":false},"TermChecksCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TermCheck"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantRecentQuestionsCollection":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AssistantRecentQuestion"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AssistantRecentQuestion":{"type":"object","properties":{"id":{"type":"string","description":"The latest turn that asked it. A question asked twice shows once."},"askedAt":{"$ref":"#/components/schemas/TimestampEncoded"},"question":{"type":"string","description":"The question as the caller typed it, to ask again. Never an answer: figures are read live."},"scope":{"$ref":"#/components/schemas/AssistantScope_2"},"access":{"$ref":"#/components/schemas/AssistantRecentQuestionAccess"}},"required":["id","askedAt","question","scope","access"],"additionalProperties":false},"AssistantRecentQuestionAccess":{"type":"string","enum":["allowed","not-allowed","not-found"],"description":"Whether the caller may read the question's scope now: allowed, no longer allowed, or the subject no longer exists. Only an allowed question is asked again."},"AssistantBriefLinesSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantBriefLines"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantBriefLines":{"type":"object","properties":{"lines":{"type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/AssistantBriefLine"},{"type":"null"}]},"description":"One entry per requested subject, in request order. Null when the checks match, none apply, or the caller cannot read the subject."}},"required":["lines"],"additionalProperties":false},"AssistantBriefLine":{"type":"object","properties":{"checkId":{"type":"string","enum":["ca.total-follows-terms","ca.register-unchanged","ca.funding-covers-total","ca.election-labels","mint.within-headroom","mint.within-cap","mint.recipient-can-hold","mint.description-matches","transfer.not-already-approved"]},"verdict":{"type":"string","enum":["differs","unsure"]},"why":{"$ref":"#/components/schemas/BriefCopy"}},"required":["checkId","verdict","why"],"additionalProperties":false,"description":"The one check that deserves a line on an approval row: the first Differs in catalogue order, else the first Unsure. The client writes the sentence from `why`."},"BriefCopy":{"type":"object","properties":{"key":{"type":"string","enum":["summary.cashPayout","summary.ratioChange","summary.other","summary.otherWithoutTotal","summary.changedSincePreview","summary.changedSincePreviewMany","summary.mint","summary.mintHeadroom","summary.transferApproval","why.totalDiffers","why.totalDiffersWithoutAmounts","why.totalUnreadable","why.registerMoved","why.registerMovedMany","why.registerUnreadable","why.fundingShort","why.fundingUnreadable","why.labelDiffers","why.labelCheck","why.headroomExceeded","why.collateralUnreadable","why.capRoom","why.capUnreadable","why.recipientBlocked","why.recipientUnreadable","why.descriptionDiffers","why.descriptionCheck","why.approvalExists","why.approvalsUnreadable","why.decideUnavailable"]},"params":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/BriefParam"}}},"required":["key"],"additionalProperties":false,"description":"A sentence the client writes from a fixed key and typed values. The server never sends prose."},"BriefParam":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["amount"]},"value":{"type":"string","pattern":"^-?\\d+(\\.\\d+)?$","description":"A token amount in whole units, as a decimal string."},"symbol":{"type":"string"}},"required":["kind","value","symbol"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["count"]},"value":{"type":"string","pattern":"^\\d+$"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["date"]},"value":{"type":"string"}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["address"]},"address":{"$ref":"#/components/schemas/EvmAddress"}},"required":["kind","address"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["actionType"]},"value":{"type":"string","enum":["cashDividend","bondCoupon","bonusIssue","rightsIssue","capitalDecrease","stockSplit","spinOff","maturityRedemption","distribution","partialRedemption","conversion","buyback","coordinatedDistribution"]}},"required":["kind","value"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["reason"]},"value":{"type":"string","enum":["identity-not-registered","identity-not-verified","module-blocked","stale-price","insufficient-balance","token-paused"]}},"required":["kind","value"],"additionalProperties":false}],"description":"A value a brief sentence names. Amounts, counts, dates and addresses are copied from reads the person's own session made, and the client renders them through the page's formatters. Action types and refusal reasons are closed sets the client words itself. A brief never carries free text."},"AssistantBriefLinesRequest":{"type":"object","properties":{"subjects":{"type":"array","items":{"$ref":"#/components/schemas/AssistantBriefRequest_1"},"minItems":1,"maxItems":20,"description":"The approvals on screen, at most 20. The answer holds one entry per subject, in order."}},"required":["subjects"],"additionalProperties":false},"AssistantBriefRequest_1":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["corporate-action"]},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"corporateActionId":{"type":"string","minLength":1,"maxLength":512,"description":"The corporate action's id, as the corporate action routes take it: the organisation, chain, token and the caller's idempotency key, at most 512 characters."},"knownDigest":{"type":"string","pattern":"^(?:[0-9a-f]{64}|0x[0-9a-fA-F]{64})$","description":"The digest the sheet already shows: 64 lowercase hexadecimal characters for a corporate action plan, a 0x-prefixed 32-byte hash for a smart-wallet approval. The client hides a brief whose digest differs and asks again."}},"required":["kind","assetId","corporateActionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["multisig"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"knownDigest":{"type":"string","pattern":"^(?:[0-9a-f]{64}|0x[0-9a-fA-F]{64})$","description":"The digest the sheet already shows: 64 lowercase hexadecimal characters for a corporate action plan, a 0x-prefixed 32-byte hash for a smart-wallet approval. The client hides a brief whose digest differs and asks again."}},"required":["kind","userOpHash","walletAddress"],"additionalProperties":false}]},"AssistantBriefSingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantBrief"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantBrief":{"type":"object","properties":{"digest":{"type":"string","description":"The digest the brief was made against: the stored plan's digest for a corporate action, the user operation hash for a smart-wallet approval."},"summary":{"type":"array","items":{"$ref":"#/components/schemas/BriefCopy"},"description":"The sentences that say what the action does. Empty when no brief applies to the approval."},"checks":{"type":"array","items":{"$ref":"#/components/schemas/BriefCheck"}}},"required":["digest","summary","checks"],"additionalProperties":false},"BriefCheck":{"type":"object","properties":{"id":{"type":"string","enum":["ca.total-follows-terms","ca.register-unchanged","ca.funding-covers-total","ca.election-labels","mint.within-headroom","mint.within-cap","mint.recipient-can-hold","mint.description-matches","transfer.not-already-approved"]},"mode":{"type":"string","enum":["deterministic","decide"]},"verdict":{"type":"string","enum":["matches","differs","unsure","notStated"]},"why":{"$ref":"#/components/schemas/BriefCopy"}},"required":["id","mode","verdict"],"additionalProperties":false},"AssistantBriefRequest":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["corporate-action"]},"assetId":{"$ref":"#/components/schemas/EvmAddress"},"corporateActionId":{"type":"string","minLength":1,"maxLength":512,"description":"The corporate action's id, as the corporate action routes take it: the organisation, chain, token and the caller's idempotency key, at most 512 characters."},"knownDigest":{"type":"string","pattern":"^(?:[0-9a-f]{64}|0x[0-9a-fA-F]{64})$","description":"The digest the sheet already shows: 64 lowercase hexadecimal characters for a corporate action plan, a 0x-prefixed 32-byte hash for a smart-wallet approval. The client hides a brief whose digest differs and asks again."}},"required":["kind","assetId","corporateActionId"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["multisig"]},"userOpHash":{"$ref":"#/components/schemas/EthereumHashEncoded"},"walletAddress":{"$ref":"#/components/schemas/EvmAddress"},"knownDigest":{"type":"string","pattern":"^(?:[0-9a-f]{64}|0x[0-9a-fA-F]{64})$","description":"The digest the sheet already shows: 64 lowercase hexadecimal characters for a corporate action plan, a 0x-prefixed 32-byte hash for a smart-wallet approval. The client hides a brief whose digest differs and asks again."}},"required":["kind","userOpHash","walletAddress"],"additionalProperties":false}]},"AssistantEventEncoded":{"type":"string","contentMediaType":"application/json","contentSchema":{"$ref":"#/components/schemas/AssistantEvent"}},"AssistantEvent":{"anyOf":[{"$ref":"#/components/schemas/AssistantGateEvent"},{"$ref":"#/components/schemas/AssistantToolEvent"},{"$ref":"#/components/schemas/AssistantResultEvent"},{"$ref":"#/components/schemas/AssistantBlockEvent"},{"$ref":"#/components/schemas/AssistantTextEvent"},{"$ref":"#/components/schemas/AssistantCitationEvent"},{"$ref":"#/components/schemas/AssistantDraftEvent"},{"$ref":"#/components/schemas/AssistantPicksEvent"},{"$ref":"#/components/schemas/AssistantPlanEvent"},{"$ref":"#/components/schemas/AssistantDoneEvent"},{"$ref":"#/components/schemas/AssistantRefusedEvent"}],"description":"One frame of the assistant turn stream, tagged by `type`.","discriminator":{"propertyName":"type","mapping":{"gate":"#/components/schemas/AssistantGateEvent","tool":"#/components/schemas/AssistantToolEvent","result":"#/components/schemas/AssistantResultEvent","block":"#/components/schemas/AssistantBlockEvent","text":"#/components/schemas/AssistantTextEvent","citation":"#/components/schemas/AssistantCitationEvent","draft":"#/components/schemas/AssistantDraftEvent","picks":"#/components/schemas/AssistantPicksEvent","plan":"#/components/schemas/AssistantPlanEvent","done":"#/components/schemas/AssistantDoneEvent","refused":"#/components/schemas/AssistantRefusedEvent"}}},"AssistantRefusedEvent":{"type":"object","properties":{"type":{"type":"string","enum":["refused"]},"code":{"type":"string","enum":["ASSISTANT_OFF","ASSISTANT_BUSY","ASSISTANT_TIMEOUT","ASSISTANT_PROVIDER_DOWN"]},"retryAfterSeconds":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["type","code"],"additionalProperties":false},"AssistantDoneEvent":{"type":"object","properties":{"type":{"type":"string","enum":["done"]},"turnId":{"type":"string"},"droppedSentences":{"type":"integer","minimum":0,"maximum":9007199254740991},"usage":{"$ref":"#/components/schemas/AssistantUsage"}},"required":["type","turnId","droppedSentences","usage"],"additionalProperties":false},"AssistantPlanEvent":{"type":"object","properties":{"type":{"type":"string","enum":["plan"]},"plan":{"$ref":"#/components/schemas/AssistantPlan"}},"required":["type","plan"],"additionalProperties":false,"description":"A saved plan of ordered controls, each simulated against chain state. The driver opens each step's control itself and signs it there."},"AssistantPicksEvent":{"type":"object","properties":{"type":{"type":"string","enum":["picks"]},"candidates":{"type":"array","items":{"type":"object","properties":{"control":{"$ref":"#/components/schemas/AssistantControlId"},"label":{"type":"string"},"current":{"type":"string"},"quote":{"type":"string","allOf":[{"description":"The words of a pasted text that asked for this control, as the person wrote them."}]}},"required":["control","label"],"additionalProperties":false},"maxItems":3},"more":{"type":"boolean","allOf":[{"description":"True when a pasted text asked for more controls than the three offered."}]}},"required":["type","candidates"],"additionalProperties":false,"description":"Up to three controls that could be meant, each with its name and the value it holds now: the route was unsure, or a pasted text gave several instructions and each carries its quote. A pick opens the control empty."},"AssistantCitationEvent":{"type":"object","properties":{"type":{"type":"string","enum":["citation"]},"id":{"type":"string"},"kind":{"type":"string"},"handle":{"type":"string"},"route":{"type":"object","properties":{"to":{"type":"string"},"params":{"type":"object","additionalProperties":{"type":"string"}},"search":{"type":"object","additionalProperties":{"type":"string"}}},"required":["to","params","search"],"additionalProperties":false},"anchor":{"type":"string"}},"required":["type","id","kind","handle","route","anchor"],"additionalProperties":false},"AssistantTextEvent":{"type":"object","properties":{"type":{"type":"string","enum":["text"]},"delta":{"type":"string"}},"required":["type","delta"],"additionalProperties":false},"AssistantBlockEvent":{"type":"object","properties":{"type":{"type":"string","enum":["block"]},"id":{"type":"string"},"kind":{"type":"string","enum":["table","figures","events","holders","holdings","assets","markets","orders","trail","checks","ruleReading"]},"toolId":{"type":"string"},"selection":{}},"required":["type","id","kind","toolId","selection"],"additionalProperties":false},"AssistantResultEvent":{"type":"object","properties":{"type":{"type":"string","enum":["result"]},"toolId":{"type":"string"},"routeId":{"type":"string"},"input":{},"body":{},"units":{"type":"object","additionalProperties":{"type":"string"}}},"required":["type","toolId","routeId","input","body"],"additionalProperties":false},"AssistantToolEvent":{"type":"object","properties":{"type":{"type":"string","enum":["tool"]},"toolId":{"type":"string"},"label":{"type":"string"},"status":{"type":"string","enum":["running","done","refused"]},"durationMs":{"type":"integer","minimum":0,"maximum":9007199254740991},"reason":{"type":"string","enum":["forbidden"],"allOf":[{"description":"Set on a refused read when the person's own permission refused it, not when the read failed."}]}},"required":["type","toolId","label","status"],"additionalProperties":false},"AssistantGateEvent":{"type":"object","properties":{"type":{"type":"string","enum":["gate"]},"kind":{"type":"string","enum":["answer","draft","draft-none","out-of-scope","not-allowed"]},"sentence":{"type":"string"}},"required":["type","kind"],"additionalProperties":false},"AssistantTurnRequest":{"type":"object","properties":{"scope":{"$ref":"#/components/schemas/AssistantScope"},"question":{"type":"string","minLength":1,"maxLength":4000,"description":"The question as typed or the text pasted, 1 to 4000 characters."},"threadId":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"A client-chosen UUID that groups the turns of one conversation."},"pasted":{"type":"boolean","allOf":[{"description":"True when the question is a long text the person pasted. The server then masks it with offsets and reads instructions from it."}]},"replaces":{"type":"string","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|[fF]{8}-[fF]{4}-[fF]{4}-[fF]{4}-[fF]{12})$","format":"uuid","description":"The id of an earlier turn of the same thread that this caller asked and now retries or edits. The server leaves that turn out of the thread's memory. It needs threadId and is refused for any other turn."}},"required":["scope","question"],"additionalProperties":false},"AssistantAvailabilitySingle":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AssistantAvailabilityRead"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AssistantAvailabilityRead":{"type":"object","properties":{"on":{"type":"boolean","description":"Whether the assistant is on for the signed-in member: the organisation switch is on and a key serves the organisation."},"path":{"anyOf":[{"type":"string","enum":["platform","own"],"description":"Which key serves the organisation: the platform's free key or the organisation's own."},{"type":"null"}],"description":"Null when the assistant is off."},"dataScope":{"type":"string","enum":["mask","send"],"description":"The data scope in force for this organisation: `send` only on its own key unless it chose `mask`, and always `mask` on the platform key."},"capabilities":{"$ref":"#/components/schemas/AssistantCapabilities"},"allowance":{"anyOf":[{"$ref":"#/components/schemas/AssistantAllowance"},{"type":"null"}],"description":"The signed-in member's remaining questions. Null when the assistant is off."}},"required":["on","path","dataScope","capabilities","allowance"],"additionalProperties":false},"AssistantAllowance":{"type":"object","properties":{"remaining":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Questions the signed-in member can still ask before the assistant refuses: the lower of what is left in their own window and in the organisation's."},"resetsAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["remaining","resetsAt"],"additionalProperties":false},"AccountingPostingRead":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/AccountingPostingView"},"links":{"$ref":"#/components/schemas/SingleResourceLinks"}},"required":["data","links"],"additionalProperties":false},"AccountingPostingView":{"type":"object","properties":{"id":{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"The posting record's id."},"sourceId":{"type":"string","description":"The `source_id` of the committed event, which stays the same across webhook replays."},"eventType":{"type":"string","description":"The committed event's type."},"eventVersion":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"The committed event's schema version."},"lifecycleState":{"type":"string","enum":["pending","provisional","final","retracted","recalled"]},"status":{"type":"string","enum":["pending","sealed","posted","failed","unmapped","ignored"]},"reason":{"anyOf":[{"type":"string","enum":["unmapped-event","unmapped-asset","malformed-event","unrepresentable-amount","not-configured","xero-mapping","test-event","not-final","no-accounting-effect","journal-invalid","xero-rejected","tenant-not-connected","payload-pruned","awaiting-original"]},{"type":"null"}],"description":"Why the record is not posted yet or will not post, or null when nothing holds it back."},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The message of the record's last failure, from Xero or from DALP's own check, or null."},"configurationVersion":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}],"description":"The configuration version that decided the record, or null before it was decided."},"postingPolicy":{"anyOf":[{"type":"string","enum":["per-trade","daily-aggregate"]},{"type":"null"}]},"journal":{"anyOf":[{"$ref":"#/components/schemas/AccountingPostingJournal"},{"type":"null"}],"description":"The journal the rule table built for the event, or null when no journal was built."},"xeroJournalId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Xero manual journal id of a record posted on its own, or null."},"xeroTenantId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Xero organisation tenant the record posted to, or null."},"dailyJournal":{"anyOf":[{"$ref":"#/components/schemas/AccountingDailyJournalReference"},{"type":"null"}],"description":"The daily journal a daily-aggregate record was sealed into, or null."},"reversedBy":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$","description":"The posting record's id."},{"type":"null"}],"description":"The id of the record that reversed this one, or null."},"attempts":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many times DALP tried to post the record."},"replayCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"How many times the record was replayed."},"replayable":{"type":"boolean","description":"Whether a replay would return the record to pending: true for a failed, unmapped or ignored record that still keeps its event payload."},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"},"updatedAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["id","sourceId","eventType","eventVersion","lifecycleState","status","reason","detail","configurationVersion","postingPolicy","journal","xeroJournalId","xeroTenantId","dailyJournal","reversedBy","attempts","replayCount","replayable","createdAt","updatedAt"],"additionalProperties":false},"AccountingDailyJournalReference":{"type":"object","properties":{"day":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"The UTC day the daily journal is dated."},"sequence":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"1 for the day's first journal; a higher number for a supplementary or split journal of that day."},"status":{"type":"string","enum":["pending","posted","failed"]},"xeroJournalId":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The Xero manual journal id, or null until Xero accepted the journal."}},"required":["day","sequence","status","xeroJournalId"],"additionalProperties":false},"AccountingPostingJournal":{"type":"object","properties":{"narration":{"type":"string","description":"The journal narration sent to Xero."},"occurredAt":{"$ref":"#/components/schemas/TimestampEncoded"},"amount":{"type":"string","description":"The total of the journal's debit lines."},"currency":{"type":"string","description":"The ledger currency, as an ISO 4217 code."},"lines":{"type":"array","items":{"$ref":"#/components/schemas/AccountingPostingJournalLine"}}},"required":["narration","occurredAt","amount","currency","lines"],"additionalProperties":false},"AccountingPostingJournalLine":{"type":"object","properties":{"side":{"type":"string","enum":["debit","credit"]},"amount":{"type":"string","description":"The line amount in the ledger currency, with at most two decimals."},"currency":{"type":"string","description":"The ledger currency, as an ISO 4217 code."},"accountKey":{"type":"string","description":"The symbolic account key the rule table names; the account mapping turns it into a Xero account code."},"classification":{"type":"string","enum":["trades","fees","servicing","corrections"]},"description":{"type":"string","description":"The line description sent to Xero."}},"required":["side","amount","currency","accountKey","classification","description"],"additionalProperties":false},"AccountingPostingList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AccountingPostingView"}},"meta":{"$ref":"#/components/schemas/CollectionResponseMeta"},"links":{"$ref":"#/components/schemas/CollectionPaginationLinks"}},"required":["data","meta","links"],"additionalProperties":false},"AccountingPostingFilters":{"type":"object","properties":{"status":{"anyOf":[{"type":"string","enum":["pending","sealed","posted","failed","unmapped","ignored"]},{"type":"object","properties":{"eq":{"type":"string","minLength":1,"maxLength":1000},"ne":{"type":"string","minLength":1,"maxLength":1000},"isEmpty":{"type":"string","enum":["true","false"]},"isNotEmpty":{"type":"string","enum":["true","false"]},"inArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]},"notInArray":{"anyOf":[{"type":"string"},{"type":"array","items":{"type":"string"}}]}},"additionalProperties":false}]}},"additionalProperties":false},"AccountingXeroConnectionStatus":{"type":"object","properties":{"state":{"type":"string","enum":["connected","needs-reconnect","disconnected"]},"tenantIds":{"type":"array","items":{"type":"string"},"description":"The Xero organisation tenants the grant connected."},"lastRefreshedAt":{"anyOf":[{"$ref":"#/components/schemas/TimestampEncoded"},{"type":"null"}],"description":"When DALP last refreshed the grant's token, or null when it never connected."}},"required":["state","tenantIds","lastRefreshedAt"],"additionalProperties":false},"AccountingXeroConnectStart":{"type":"object","properties":{"authorizeUrl":{"type":"string","description":"The Xero consent page to send the signed-in admin to; it is valid for ten minutes."},"redirectUri":{"type":"string","description":"The exact redirect URI to register on the Xero app before consenting."}},"required":["authorizeUrl","redirectUri"],"additionalProperties":false},"AccountingXeroConnect":{"type":"object","properties":{"clientId":{"type":"string","minLength":1,"description":"The client id of the organisation's own Xero app."},"clientSecret":{"type":"string","minLength":1}},"required":["clientId","clientSecret"],"additionalProperties":false},"DalpPublicHttpError422":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[422],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[422]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The request is syntactically valid but cannot be applied to the current domain state. Correct it as described in `data.fix`.","examples":[{"code":"UNPROCESSABLE_ENTITY","status":422,"message":"The request is well formed but cannot be applied to the current state.","data":{"id":"DALP-12031","why":"The route understood the request and refused it against the current domain state. The refusing check publishes no error entry of its own, so this general 422 stands in for it.","fix":"Correct the request or the state it depends on, then retry. If you contact support, send the X-Request-Id response header.","retryable":false,"category":"client"}}]},"AccountingConfigurationVersion":{"type":"object","properties":{"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"postingPolicy":{"type":"string","enum":["per-trade","daily-aggregate"]},"mapping":{"type":"object","properties":{"xeroTenantId":{"type":"string","minLength":1},"defaultCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"accounts":{"type":"object","properties":{"trades":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"fees":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"servicing":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"corrections":{"type":"object","additionalProperties":{"type":"string","minLength":1}}},"required":["trades","fees","servicing","corrections"],"additionalProperties":false},"taxTypes":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"trackingCategories":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string","minLength":1},"option":{"type":"string","minLength":1}},"required":["name","option"],"additionalProperties":false}}},"required":["xeroTenantId","defaultCurrency","accounts","taxTypes","trackingCategories"],"additionalProperties":false},"rules":{"type":"object","properties":{"assets":{"type":"object","additionalProperties":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","decimals"],"additionalProperties":false}},"ledgerRounding":{"type":"string","enum":["refuse","half-up"]},"rules":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["posting"]},"eventType":{"type":"string","minLength":1},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"when":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"classification":{"type":"string","enum":["trades","fees","servicing","corrections"]},"debitAccountKey":{"type":"string","minLength":1},"creditAccountKey":{"type":"string","minLength":1},"additionalLegs":{"type":"array","items":{"type":"object","properties":{"debitAccountKey":{"type":"string","minLength":1},"creditAccountKey":{"type":"string","minLength":1}},"required":["debitAccountKey","creditAccountKey"],"additionalProperties":false}},"amountField":{"type":"string","minLength":1},"amountFormat":{"type":"string","enum":["base-units","decimal"]},"assetField":{"type":"string","minLength":1},"occurredAtField":{"type":"string","minLength":1},"domainKeyField":{"type":"string","minLength":1},"referenceFields":{"type":"array","items":{"type":"string","minLength":1}},"description":{"type":"string","minLength":1}},"required":["kind","eventType","version","classification","debitAccountKey","creditAccountKey","amountField","assetField","occurredAtField","referenceFields","description"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["reversal"]},"eventType":{"type":"string","minLength":1},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"reverses":{"type":"string","minLength":1},"domainKeyField":{"type":"string","minLength":1},"occurredAtField":{"type":"string","minLength":1}},"required":["kind","eventType","version","reverses","domainKeyField","occurredAtField"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["ignored"]},"eventType":{"type":"string","minLength":1},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"when":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"reason":{"type":"string","minLength":1}},"required":["kind","eventType","version","reason"],"additionalProperties":false}]}}},"required":["assets","rules"],"additionalProperties":false},"createdBy":{"$ref":"#/components/schemas/UserId"},"createdAt":{"$ref":"#/components/schemas/TimestampEncoded"}},"required":["version","postingPolicy","mapping","rules","createdBy","createdAt"],"additionalProperties":false},"AccountingConfigurationWrite":{"type":"object","properties":{"expectedVersion":{"anyOf":[{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},{"type":"null"}],"description":"The version you read, or null when the organisation has none yet."},"postingPolicy":{"type":"string","enum":["per-trade","daily-aggregate"]},"mapping":{"type":"object","properties":{"xeroTenantId":{"type":"string","minLength":1},"defaultCurrency":{"type":"string","pattern":"^[A-Z]{3}$"},"accounts":{"type":"object","properties":{"trades":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"fees":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"servicing":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"corrections":{"type":"object","additionalProperties":{"type":"string","minLength":1}}},"required":["trades","fees","servicing","corrections"],"additionalProperties":false},"taxTypes":{"type":"object","additionalProperties":{"type":"string","minLength":1}},"trackingCategories":{"type":"object","additionalProperties":{"type":"object","properties":{"name":{"type":"string","minLength":1},"option":{"type":"string","minLength":1}},"required":["name","option"],"additionalProperties":false}}},"required":["xeroTenantId","defaultCurrency","accounts","taxTypes","trackingCategories"],"additionalProperties":false},"rules":{"anyOf":[{"type":"object","properties":{"source":{"type":"string","enum":["finstreet-preset"]},"parameters":{"type":"object","properties":{"quoteAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"decimals":{"type":"integer","minimum":0,"maximum":36},"accountSuffix":{"type":"string","pattern":"^[a-z0-9-]+$"}},"required":["address","currency","decimals","accountSuffix"],"additionalProperties":false}},"mirrorAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","minLength":1},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"decimals":{"type":"integer","minimum":0,"maximum":36},"accountSuffix":{"type":"string","pattern":"^[a-z0-9-]+$"}},"required":["address","currency","decimals","accountSuffix"],"additionalProperties":false}},"nonMirrorAssets":{"type":"array","items":{"type":"string","minLength":1}},"bankRailCurrencies":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"accountSuffix":{"type":"string","pattern":"^[a-z0-9-]+$"}},"required":["currency","accountSuffix"],"additionalProperties":false}}},"required":["quoteAssets","mirrorAssets","nonMirrorAssets","bankRailCurrencies"],"additionalProperties":false},"ledgerRounding":{"type":"string","enum":["refuse","half-up"]}},"required":["source","parameters"],"additionalProperties":false},{"type":"object","properties":{"source":{"type":"string","enum":["table"]},"table":{"type":"object","properties":{"assets":{"type":"object","additionalProperties":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"decimals":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["currency","decimals"],"additionalProperties":false}},"ledgerRounding":{"type":"string","enum":["refuse","half-up"]},"rules":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string","enum":["posting"]},"eventType":{"type":"string","minLength":1},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"when":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"classification":{"type":"string","enum":["trades","fees","servicing","corrections"]},"debitAccountKey":{"type":"string","minLength":1},"creditAccountKey":{"type":"string","minLength":1},"additionalLegs":{"type":"array","items":{"type":"object","properties":{"debitAccountKey":{"type":"string","minLength":1},"creditAccountKey":{"type":"string","minLength":1}},"required":["debitAccountKey","creditAccountKey"],"additionalProperties":false}},"amountField":{"type":"string","minLength":1},"amountFormat":{"type":"string","enum":["base-units","decimal"]},"assetField":{"type":"string","minLength":1},"occurredAtField":{"type":"string","minLength":1},"domainKeyField":{"type":"string","minLength":1},"referenceFields":{"type":"array","items":{"type":"string","minLength":1}},"description":{"type":"string","minLength":1}},"required":["kind","eventType","version","classification","debitAccountKey","creditAccountKey","amountField","assetField","occurredAtField","referenceFields","description"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["reversal"]},"eventType":{"type":"string","minLength":1},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"reverses":{"type":"string","minLength":1},"domainKeyField":{"type":"string","minLength":1},"occurredAtField":{"type":"string","minLength":1}},"required":["kind","eventType","version","reverses","domainKeyField","occurredAtField"],"additionalProperties":false},{"type":"object","properties":{"kind":{"type":"string","enum":["ignored"]},"eventType":{"type":"string","minLength":1},"version":{"type":"integer","maximum":9007199254740991,"exclusiveMinimum":0},"when":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"}]}},"reason":{"type":"string","minLength":1}},"required":["kind","eventType","version","reason"],"additionalProperties":false}]}}},"required":["assets","rules"],"additionalProperties":false}},"required":["source","table"],"additionalProperties":false}]}},"required":["expectedVersion","mapping","rules"],"additionalProperties":false},"DalpPublicHttpError500":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[500],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[500]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The Platform API could not complete the request because of an unexpected server failure. Retry later and include the request id if you contact support.","examples":[{"code":"INTERNAL_SERVER_ERROR","status":500,"message":"The platform could not complete this request","data":{"id":"DALP-0084","why":"An unexpected failure occurred after the request passed validation.","fix":"Read the state the request would change before you send it again. If the failure continues, contact support with the X-Request-Id response header.","retryable":false,"category":"unknown"}}]},"DalpPublicHttpError504":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[504],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[504]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"A required operation did not complete before its deadline. Check status before submitting the instruction again.","examples":[{"code":"REQUEST_DEADLINE_EXCEEDED","status":504,"message":"The request deadline expired","data":{"id":"DALP-9532","why":"The request ran past the deadline the platform gives one request, so the platform stopped the work. The operation that request started may still be running.","fix":"Check the status of the operation before you submit the request again, and let the Retry-After interval pass first.","retryable":false,"category":"operational"}}]},"DalpPublicHttpError503":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[503],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[503]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"A required platform dependency is not ready. Wait, then retry as described in `data.fix`.","examples":[{"code":"SERVICE_UNAVAILABLE","status":503,"message":"Service temporarily unavailable","data":{"id":"DALP-0082","why":"A required backend service is temporarily unavailable.","fix":"Retry after a short backoff. If the problem continues, contact support with the request id.","retryable":true,"category":"dependency"}}]},"DalpPublicHttpError429":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[429],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[429]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The caller exceeded an operation limit. Wait for the limit window described in the response before retrying.","examples":[{"code":"INVITATION_CALLER_RATE_LIMITED","status":429,"message":"This request's API key has sent too many requests","data":{"id":"DALP-9094","why":"The credential presented with this request has used up the requests its rate limit allows inside the current time window, so the invitation was never attempted.","fix":"Wait for the current rate-limit window to pass, then send the invitation again. Space bulk invitations out over a longer period.","retryable":true,"category":"client"}}]},"DalpPublicHttpError409":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[409],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[409]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The request conflicts with the current resource state. Refresh the resource and follow `data.fix` before retrying.","examples":[{"code":"CONFLICT","status":409,"message":"The change conflicts with the current resource state","data":{"id":"DALP-0024","why":"Another write already changed this resource, or the resource is already in the requested state.","fix":"Read the current resource, resolve the difference, and send the request again.","retryable":false,"category":"client"}}]},"DalpPublicHttpError403":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[403],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[403]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The authenticated caller is not allowed to perform this operation. Read `data.fix` for the required access.","examples":[{"code":"FORBIDDEN","status":403,"message":"This operation is not available to the caller","data":{"id":"DALP-0003","why":"The route runs behind an access gate that the caller does not satisfy. When `data.requiredRoles` is present, it lists the roles that pass the gate and the wallet that authorized this request holds none of them. When it is absent, the gate is an off-chain permission or an ownership scope the caller sits outside.","fix":"Retry with an actor that already holds one of the roles in `data.requiredRoles`, or ask an administrator to grant one of them. When the record is the caller's own, confirm the request names that record on the network where the caller's account lives.","retryable":false,"category":"permission"}}]},"DalpPublicHttpError401":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[401],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[401]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The request has no accepted authentication. Sign in or send a valid API key, then retry.","examples":[{"code":"UNAUTHORIZED","status":401,"message":"Authentication missing or failed","data":{"id":"DALP-0002","why":"The request did not include valid authentication credentials.","fix":"Authenticate again or send a valid API key/session credential.","retryable":false,"category":"auth"}}]},"DalpPublicHttpError400":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[400],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[400]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The request is invalid. Read `data.why` and correct the request as described in `data.fix` before retrying.","examples":[{"code":"BAD_REQUEST","status":400,"message":"The request could not be read","data":{"id":"DALP-0001","why":"A check on this route refused the request as invalid, and no more specific error code covers that check.","fix":"Check the field names, types, and content type against the route schema, then send the request again.","retryable":false,"category":"client"}}]},"DalpPublicHttpError404":{"type":"object","properties":{"code":{"type":"string","minLength":1,"description":"Stable machine name for this error. Prefer the `data.id` DALP code for new clients.","examples":["USER_EMAIL_ALREADY_EXISTS"]},"status":{"type":"integer","enum":[404],"minimum":-9007199254740991,"maximum":9007199254740991,"description":"HTTP status for this public error.","examples":[404]},"message":{"type":"string","minLength":1,"description":"Short headline that names what failed. Do not parse this string for control flow.","examples":["A user with this email already exists."]},"data":{"$ref":"#/components/schemas/DALP_PUBLIC_ERROR_DATA_SCHEMA"}},"required":["code","status","message","data"],"additionalProperties":false,"description":"The requested resource was not found. Check the supplied identifier and tenant context before retrying.","examples":[{"code":"NOT_FOUND","status":404,"message":"Resource not found","data":{"id":"DALP-0022","why":"The requested resource could not be found.","fix":"Check the identifier and retry only if the resource should exist.","retryable":false,"category":"client"}}]},"AdminMutationHeld":{"type":"object","properties":{"approvalId":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending-approval"]},"statusUrl":{"type":"string","minLength":1}},"required":["approvalId","status","statusUrl"],"additionalProperties":true,"description":"The change is held for a second user's approval and has not run. Read `statusUrl`, also sent as `Location`, for the approval's state. The held change is not a transaction, so it has no transaction id to poll."},"User":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string"},"email":{"type":"string"},"emailVerified":{"type":"boolean","default":false,"readOnly":true},"image":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"role":{"type":"string","default":"member","readOnly":true},"banned":{"type":"boolean","default":false,"readOnly":true},"banReason":{"type":"string","readOnly":true},"banExpires":{"type":"string","format":"date-time","readOnly":true},"twoFactorEnabled":{"type":"boolean","default":false,"readOnly":true},"lastLoginAt":{"type":"string","format":"date-time","readOnly":true},"walletPincodeEnabled":{"type":"boolean","default":false,"readOnly":true},"walletPincodeVerificationId":{"type":"string","readOnly":true},"walletTwoFactorEnabled":{"type":"boolean","default":false,"readOnly":true},"walletTwoFactorVerificationId":{"type":"string","readOnly":true},"walletSecretCodeVerificationId":{"type":"string","readOnly":true},"walletSecretCodesConfirmed":{"type":"boolean","default":false,"readOnly":true},"lastActiveOrganizationId":{"type":"string","readOnly":true},"language":{"type":"string"}},"required":["id","name","email","emailVerified","createdAt","updatedAt","role"],"example":{"id":"user_northwind_ops","name":"Northwind Treasury","email":"treasury@northwind.example","emailVerified":true,"image":"https://static.northwind.example/avatars/treasury.png","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","role":"member","banned":false,"twoFactorEnabled":true,"lastLoginAt":"2026-03-04T15:40:00.000Z","walletPincodeEnabled":true,"walletPincodeVerificationId":"ver_pincode_northwind","walletTwoFactorEnabled":true,"walletTwoFactorVerificationId":"ver_totp_northwind","walletSecretCodeVerificationId":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","walletSecretCodesConfirmed":true,"lastActiveOrganizationId":"org_northwind_coffee"}},"Session":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"ipAddress":{"type":"string"},"userAgent":{"type":"string"},"userId":{"type":"string"},"impersonatedBy":{"type":"string","readOnly":true},"activeOrganizationId":{"type":"string","readOnly":true}},"required":["id","expiresAt","createdAt","updatedAt","userId"],"example":{"id":"sess_northwind_console","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","ipAddress":"203.0.113.10","userAgent":"Mozilla/5.0 NorthwindConsole","userId":"user_northwind_ops","activeOrganizationId":"org_northwind_coffee"}},"Account":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"accountId":{"type":"string"},"providerId":{"type":"string"},"userId":{"type":"string"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"idToken":{"type":"string"},"accessTokenExpiresAt":{"type":"string","format":"date-time"},"refreshTokenExpiresAt":{"type":"string","format":"date-time"},"scope":{"type":"string"},"password":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","accountId","providerId","userId","createdAt","updatedAt"],"example":{"id":"acct_northwind_oidc","accountId":"sub_northwind_ops","providerId":"oidc-northwind","userId":"user_northwind_ops","accessToken":"oauth_example_access_not_live","refreshToken":"oauth_example_refresh_not_live","idToken":"oauth_example_id_not_live","accessTokenExpiresAt":"2026-03-11T15:42:18.000Z","refreshTokenExpiresAt":"2026-03-11T15:42:18.000Z","scope":"openid email profile","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z"}},"Verification":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"identifier":{"type":"string"},"value":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","identifier","value","expiresAt","createdAt","updatedAt"],"example":{"id":"018f7b0a-7c3e-7890-a1b2-c3d4e5f60789","identifier":"treasury@northwind.example","value":"verify_example_not_live","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z"}},"Jwks":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"publicKey":{"type":"string"},"privateKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"alg":{"type":"string"},"crv":{"type":"string"}},"required":["id","publicKey","privateKey","createdAt"]},"Apikey":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"configId":{"type":"string","default":"default","readOnly":true},"name":{"type":"string","readOnly":true},"start":{"type":"string","readOnly":true},"referenceId":{"type":"string","readOnly":true},"prefix":{"type":"string","readOnly":true},"key":{"type":"string","readOnly":true},"refillInterval":{"type":"number","readOnly":true},"refillAmount":{"type":"number","readOnly":true},"lastRefillAt":{"type":"string","format":"date-time","readOnly":true},"enabled":{"type":"boolean","default":true,"readOnly":true},"rateLimitEnabled":{"type":"boolean","default":true,"readOnly":true},"rateLimitTimeWindow":{"type":"number","default":60000,"readOnly":true},"rateLimitMax":{"type":"number","default":10000,"readOnly":true},"requestCount":{"type":"number","default":0,"readOnly":true},"remaining":{"type":"number","readOnly":true},"lastRequest":{"type":"string","format":"date-time","readOnly":true},"expiresAt":{"type":"string","format":"date-time","readOnly":true},"createdAt":{"type":"string","format":"date-time","readOnly":true},"updatedAt":{"type":"string","format":"date-time","readOnly":true},"permissions":{"type":"string","readOnly":true},"metadata":{"type":"string"}},"required":["id","configId","referenceId","key","createdAt","updatedAt"],"example":{"id":"apikey_northwind_treasury","configId":"default","name":"Treasury automation","start":"sm_dalp_exampl","referenceId":"user_northwind_ops","prefix":"sm_dalp_","key":"sm_dalp_example_not_a_live_key","refillInterval":3600000,"refillAmount":1000,"lastRefillAt":"2026-03-04T15:42:18.000Z","enabled":true,"rateLimitEnabled":true,"rateLimitTimeWindow":60000,"rateLimitMax":10000,"requestCount":12,"remaining":988,"lastRequest":"2026-03-04T15:42:18.000Z","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","updatedAt":"2026-03-04T15:42:18.000Z","permissions":"{\"organization\":[\"read\"]}","metadata":"{\"organizationId\":\"org_northwind_coffee\",\"scope\":\"read-write\"}"}},"Passkey":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string"},"publicKey":{"type":"string"},"userId":{"type":"string"},"credentialID":{"type":"string"},"counter":{"type":"number"},"deviceType":{"type":"string"},"backedUp":{"type":"boolean"},"transports":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"aaguid":{"type":"string"}},"required":["id","publicKey","userId","credentialID","counter","deviceType","backedUp"],"example":{"id":"passkey_northwind_laptop","name":"Northwind laptop","publicKey":"pQECAyYgASFYIExamplePublicKeyNotLive","userId":"user_northwind_ops","credentialID":"cred_example_northwind_laptop","counter":7,"deviceType":"platform","backedUp":true,"transports":"internal,hybrid","createdAt":"2026-02-11T09:14:07.000Z","aaguid":"a1b2c3d4-e5f6-4789-a012-3456789abcde"}},"TwoFactor":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"secret":{"type":"string"},"backupCodes":{"type":"string"},"userId":{"type":"string"},"verified":{"type":"boolean","default":true,"readOnly":true},"failedVerificationCount":{"type":"number","default":0,"readOnly":true},"lockedUntil":{"type":"string","format":"date-time","readOnly":true}},"required":["id"],"example":{"id":"twofactor_northwind_login","secret":"totp_example_secret_not_live","backupCodes":"hashed-backup-codes-example","userId":"user_northwind_ops","verified":true,"failedVerificationCount":0}},"DeviceCode":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"deviceCode":{"type":"string"},"userCode":{"type":"string"},"userId":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"status":{"type":"string"},"lastPolledAt":{"type":"string","format":"date-time"},"pollingInterval":{"type":"number"},"clientId":{"type":"string"},"scope":{"type":"string"}},"required":["id","deviceCode","userCode","expiresAt","status"],"example":{"id":"devauth_northwind_cli","deviceCode":"device_example_code_not_live","userCode":"WDJB-MOOO","userId":"user_northwind_ops","expiresAt":"2026-03-11T15:42:18.000Z","status":"pending","lastPolledAt":"2026-03-04T15:42:18.000Z","pollingInterval":5,"clientId":"northwind-cli","scope":"openid"}},"Organization":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string"},"slug":{"type":"string"},"logo":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"metadata":{"type":"string"},"onboardingCompletedAt":{"type":"string","format":"date-time","readOnly":true},"archivedAt":{"type":"string","format":"date-time","readOnly":true},"allowedTwoFactorMethods":{"type":"string","default":"[\"totp\"]"}},"required":["id","name","slug","createdAt"],"example":{"id":"org_northwind_coffee","name":"Northwind Coffee","slug":"northwind-coffee","logo":"https://static.northwind.example/logo.png","createdAt":"2026-02-11T09:14:07.000Z","metadata":"{\"region\":\"eu\"}","onboardingCompletedAt":"2026-02-12T10:00:00.000Z"}},"Member":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"organizationId":{"type":"string"},"userId":{"type":"string"},"role":{"type":"string","default":"member"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","organizationId","userId","role","createdAt"],"example":{"id":"member_northwind_ops","organizationId":"org_northwind_coffee","userId":"user_northwind_ops","role":"member","createdAt":"2026-02-11T09:14:07.000Z"}},"Invitation":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"organizationId":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"status":{"type":"string","default":"pending"},"expiresAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"},"inviterId":{"type":"string"},"onChainRoles":{"type":"string","readOnly":true},"onChainRolesAuthorizedAt":{"type":"string","format":"date-time","readOnly":true},"onChainRolesGrantFailedAt":{"type":"string","format":"date-time","readOnly":true},"language":{"type":"string","readOnly":true}},"required":["id","organizationId","email","status","expiresAt","createdAt","inviterId"],"example":{"id":"invite_northwind_analyst","organizationId":"org_northwind_coffee","email":"analyst@northwind.example","role":"member","status":"pending","expiresAt":"2026-03-11T15:42:18.000Z","createdAt":"2026-02-11T09:14:07.000Z","inviterId":"user_northwind_admin","onChainRoles":"[\"assetManager\"]","onChainRolesAuthorizedAt":"2026-03-04T15:42:18.000Z"}},"DalpContractErrorId403":{"type":"string","enum":["DALP-4495","DALP-9340","DALP-9341","DALP-9347"]},"DalpContractErrorId404":{"type":"string","enum":["DALP-4482","DALP-9342"]},"DalpContractErrorId409":{"type":"string","enum":["DALP-1131","DALP-1132","DALP-1133","DALP-4470","DALP-4471","DALP-4472","DALP-4473","DALP-4481","DALP-4483","DALP-4485","DALP-4492","DALP-4496","DALP-4501","DALP-4502","DALP-4509","DALP-4511","DALP-4512","DALP-4516","DALP-9339","DALP-9346","DALP-9562"]},"DalpContractErrorId422":{"type":"string","enum":["DALP-1001","DALP-1002","DALP-1003","DALP-1004","DALP-1005","DALP-1006","DALP-1007","DALP-1008","DALP-1009","DALP-1010","DALP-1011","DALP-1012","DALP-1013","DALP-1014","DALP-1015","DALP-1016","DALP-1017","DALP-1018","DALP-1019","DALP-1020","DALP-1021","DALP-1022","DALP-1023","DALP-1024","DALP-1025","DALP-1026","DALP-1027","DALP-1028","DALP-1029","DALP-1030","DALP-1031","DALP-1032","DALP-1033","DALP-1034","DALP-1035","DALP-1036","DALP-1037","DALP-1038","DALP-1039","DALP-1040","DALP-1041","DALP-1042","DALP-1043","DALP-1044","DALP-1045","DALP-1046","DALP-1047","DALP-1048","DALP-1049","DALP-1050","DALP-1051","DALP-1052","DALP-1053","DALP-1054","DALP-1055","DALP-1056","DALP-1057","DALP-1058","DALP-1059","DALP-1060","DALP-1061","DALP-1062","DALP-1063","DALP-1064","DALP-1065","DALP-1066","DALP-1067","DALP-1068","DALP-1069","DALP-1070","DALP-1071","DALP-1072","DALP-1073","DALP-1074","DALP-1075","DALP-1076","DALP-1077","DALP-1078","DALP-1079","DALP-1080","DALP-1081","DALP-1082","DALP-1083","DALP-1084","DALP-1085","DALP-1086","DALP-1087","DALP-1088","DALP-1089","DALP-1090","DALP-1091","DALP-1092","DALP-1093","DALP-1094","DALP-1095","DALP-1096","DALP-1097","DALP-1098","DALP-1099","DALP-1100","DALP-1101","DALP-1102","DALP-1103","DALP-1104","DALP-1105","DALP-1106","DALP-1107","DALP-1108","DALP-1109","DALP-1110","DALP-1111","DALP-1112","DALP-1113","DALP-1114","DALP-1115","DALP-1116","DALP-1117","DALP-1118","DALP-1119","DALP-1120","DALP-1121","DALP-1122","DALP-1123","DALP-1124","DALP-1125","DALP-1126","DALP-1127","DALP-1128","DALP-1129","DALP-1130","DALP-1134","DALP-1135","DALP-1136","DALP-1137","DALP-2001","DALP-2003","DALP-2004","DALP-2005","DALP-2006","DALP-2007","DALP-2008","DALP-2009","DALP-2010","DALP-2011","DALP-2012","DALP-2013","DALP-3001","DALP-3002","DALP-3003","DALP-3004","DALP-3005","DALP-3006","DALP-3007","DALP-3008","DALP-3009","DALP-3010","DALP-3011","DALP-3012","DALP-3013","DALP-3014","DALP-3015","DALP-3016","DALP-3017","DALP-3018","DALP-3019","DALP-3020","DALP-3021","DALP-3022","DALP-3023","DALP-3024","DALP-3025","DALP-3026","DALP-3027","DALP-3028","DALP-3029","DALP-3030","DALP-3031","DALP-3032","DALP-4001","DALP-4002","DALP-4003","DALP-4004","DALP-4005","DALP-4006","DALP-4007","DALP-4008","DALP-4009","DALP-4010","DALP-4011","DALP-4012","DALP-4013","DALP-4014","DALP-4015","DALP-4016","DALP-4017","DALP-4018","DALP-4019","DALP-4020","DALP-4021","DALP-4022","DALP-4023","DALP-4024","DALP-4025","DALP-4026","DALP-4027","DALP-4028","DALP-4029","DALP-4030","DALP-4031","DALP-4032","DALP-4033","DALP-4034","DALP-4035","DALP-4036","DALP-4037","DALP-4038","DALP-4039","DALP-4040","DALP-4041","DALP-4042","DALP-4043","DALP-4044","DALP-4045","DALP-4046","DALP-4047","DALP-4048","DALP-4049","DALP-4050","DALP-4051","DALP-4052","DALP-4053","DALP-4054","DALP-4055","DALP-4056","DALP-4057","DALP-4058","DALP-4059","DALP-4060","DALP-4061","DALP-4062","DALP-4063","DALP-4064","DALP-4065","DALP-4066","DALP-4067","DALP-4068","DALP-4069","DALP-4070","DALP-4071","DALP-4072","DALP-4073","DALP-4074","DALP-4075","DALP-4076","DALP-4077","DALP-4078","DALP-4079","DALP-4080","DALP-4081","DALP-4082","DALP-4083","DALP-4084","DALP-4085","DALP-4086","DALP-4087","DALP-4088","DALP-4089","DALP-4090","DALP-4091","DALP-4092","DALP-4093","DALP-4094","DALP-4095","DALP-4096","DALP-4097","DALP-4098","DALP-4099","DALP-4100","DALP-4101","DALP-4102","DALP-4103","DALP-4104","DALP-4105","DALP-4106","DALP-4107","DALP-4108","DALP-4109","DALP-4110","DALP-4111","DALP-4112","DALP-4113","DALP-4114","DALP-4115","DALP-4116","DALP-4117","DALP-4118","DALP-4119","DALP-4120","DALP-4121","DALP-4122","DALP-4123","DALP-4124","DALP-4125","DALP-4126","DALP-4127","DALP-4128","DALP-4129","DALP-4130","DALP-4131","DALP-4132","DALP-4133","DALP-4134","DALP-4135","DALP-4136","DALP-4137","DALP-4138","DALP-4139","DALP-4140","DALP-4141","DALP-4142","DALP-4143","DALP-4144","DALP-4145","DALP-4146","DALP-4147","DALP-4148","DALP-4149","DALP-4150","DALP-4151","DALP-4152","DALP-4153","DALP-4154","DALP-4155","DALP-4156","DALP-4157","DALP-4158","DALP-4159","DALP-4160","DALP-4161","DALP-4162","DALP-4163","DALP-4164","DALP-4165","DALP-4166","DALP-4167","DALP-4168","DALP-4169","DALP-4170","DALP-4171","DALP-4172","DALP-4173","DALP-4174","DALP-4175","DALP-4176","DALP-4177","DALP-4178","DALP-4179","DALP-4180","DALP-4181","DALP-4182","DALP-4183","DALP-4184","DALP-4185","DALP-4186","DALP-4187","DALP-4188","DALP-4189","DALP-4190","DALP-4191","DALP-4192","DALP-4193","DALP-4194","DALP-4195","DALP-4196","DALP-4197","DALP-4198","DALP-4199","DALP-4200","DALP-4201","DALP-4202","DALP-4203","DALP-4204","DALP-4205","DALP-4206","DALP-4207","DALP-4208","DALP-4209","DALP-4210","DALP-4211","DALP-4212","DALP-4213","DALP-4214","DALP-4215","DALP-4216","DALP-4217","DALP-4218","DALP-4219","DALP-4220","DALP-4221","DALP-4222","DALP-4223","DALP-4224","DALP-4225","DALP-4226","DALP-4227","DALP-4228","DALP-4229","DALP-4230","DALP-4231","DALP-4233","DALP-4234","DALP-4236","DALP-4237","DALP-4238","DALP-4239","DALP-4240","DALP-4241","DALP-4242","DALP-4243","DALP-4244","DALP-4245","DALP-4246","DALP-4247","DALP-4248","DALP-4249","DALP-4250","DALP-4251","DALP-4252","DALP-4253","DALP-4254","DALP-4255","DALP-4256","DALP-4257","DALP-4258","DALP-4259","DALP-4260","DALP-4261","DALP-4262","DALP-4263","DALP-4264","DALP-4265","DALP-4266","DALP-4267","DALP-4268","DALP-4269","DALP-4270","DALP-4271","DALP-4272","DALP-4273","DALP-4274","DALP-4275","DALP-4276","DALP-4277","DALP-4278","DALP-4279","DALP-4280","DALP-4281","DALP-4282","DALP-4283","DALP-4284","DALP-4285","DALP-4286","DALP-4287","DALP-4288","DALP-4289","DALP-4290","DALP-4291","DALP-4292","DALP-4293","DALP-4294","DALP-4295","DALP-4296","DALP-4297","DALP-4298","DALP-4299","DALP-4300","DALP-4301","DALP-4302","DALP-4303","DALP-4304","DALP-4305","DALP-4306","DALP-4307","DALP-4308","DALP-4309","DALP-4310","DALP-4311","DALP-4312","DALP-4313","DALP-4314","DALP-4315","DALP-4316","DALP-4317","DALP-4318","DALP-4319","DALP-4320","DALP-4321","DALP-4322","DALP-4323","DALP-4324","DALP-4325","DALP-4326","DALP-4327","DALP-4328","DALP-4329","DALP-4330","DALP-4331","DALP-4332","DALP-4333","DALP-4334","DALP-4335","DALP-4336","DALP-4337","DALP-4338","DALP-4339","DALP-4340","DALP-4341","DALP-4342","DALP-4343","DALP-4344","DALP-4345","DALP-4346","DALP-4347","DALP-4348","DALP-4349","DALP-4350","DALP-4351","DALP-4352","DALP-4353","DALP-4354","DALP-4355","DALP-4356","DALP-4357","DALP-4358","DALP-4359","DALP-4360","DALP-4361","DALP-4362","DALP-4363","DALP-4364","DALP-4365","DALP-4366","DALP-4367","DALP-4368","DALP-4369","DALP-4370","DALP-4371","DALP-4372","DALP-4373","DALP-4374","DALP-4375","DALP-4376","DALP-4377","DALP-4378","DALP-4379","DALP-4380","DALP-4381","DALP-4382","DALP-4383","DALP-4384","DALP-4389","DALP-4390","DALP-4392","DALP-4393","DALP-4394","DALP-4396","DALP-4400","DALP-4401","DALP-4402","DALP-4404","DALP-4405","DALP-4406","DALP-4407","DALP-4408","DALP-4409","DALP-4410","DALP-4411","DALP-4412","DALP-4413","DALP-4414","DALP-4415","DALP-4416","DALP-4417","DALP-4418","DALP-4419","DALP-4420","DALP-4421","DALP-4422","DALP-4423","DALP-4424","DALP-4425","DALP-4426","DALP-4427","DALP-4428","DALP-4429","DALP-4430","DALP-4431","DALP-4432","DALP-4433","DALP-4435","DALP-4436","DALP-4437","DALP-4438","DALP-4439","DALP-4440","DALP-4441","DALP-4442","DALP-4443","DALP-4444","DALP-4445","DALP-4446","DALP-4447","DALP-4448","DALP-4449","DALP-4450","DALP-4451","DALP-4453","DALP-4454","DALP-4455","DALP-4456","DALP-4457","DALP-4458","DALP-4459","DALP-4460","DALP-4461","DALP-4462","DALP-4463","DALP-4464","DALP-4465","DALP-4466","DALP-4467","DALP-4468","DALP-4469","DALP-4474","DALP-4475","DALP-4476","DALP-4477","DALP-4478","DALP-4479","DALP-4480","DALP-4484","DALP-4486","DALP-4487","DALP-4488","DALP-4489","DALP-4490","DALP-4491","DALP-4493","DALP-4494","DALP-4497","DALP-4498","DALP-4499","DALP-4500","DALP-4503","DALP-4504","DALP-4505","DALP-4506","DALP-4507","DALP-4508","DALP-4510","DALP-4513","DALP-4514","DALP-4515","DALP-4517","DALP-4518","DALP-4520","DALP-4521","DALP-4522","DALP-4523","DALP-4524","DALP-4525","DALP-4526","DALP-4527","DALP-4528","DALP-4529","DALP-4530","DALP-4531","DALP-4532","DALP-4533","DALP-4539","DALP-9001","DALP-9002","DALP-9003","DALP-9004","DALP-9005","DALP-9006","DALP-9007","DALP-9008","DALP-9009","DALP-9010","DALP-9011","DALP-9012","DALP-9013","DALP-9014","DALP-9015","DALP-9016","DALP-9017","DALP-9018","DALP-9019","DALP-9020","DALP-9021","DALP-9022","DALP-9023","DALP-9024","DALP-9025","DALP-9026","DALP-9027","DALP-9028","DALP-9029","DALP-9030","DALP-9031","DALP-9032","DALP-9033","DALP-9034","DALP-9035","DALP-9036","DALP-9037","DALP-9038","DALP-9039","DALP-9040","DALP-9041","DALP-9042","DALP-9043","DALP-9044","DALP-9045","DALP-9046","DALP-9047","DALP-9048","DALP-9049","DALP-9050","DALP-9051","DALP-9052","DALP-9053","DALP-9054","DALP-9055","DALP-9056","DALP-9057","DALP-9058","DALP-9059","DALP-9060","DALP-9061","DALP-9062","DALP-9063","DALP-9064","DALP-9065","DALP-9066","DALP-9067","DALP-9068","DALP-9069","DALP-9081","DALP-9203","DALP-9204","DALP-9206","DALP-9207","DALP-9209","DALP-9210","DALP-9211","DALP-9212","DALP-9213","DALP-9214","DALP-9215","DALP-9216","DALP-9217","DALP-9219","DALP-9220","DALP-9222","DALP-9223","DALP-9224","DALP-9225","DALP-9226","DALP-9228","DALP-9231","DALP-9232","DALP-9234","DALP-9235","DALP-9237","DALP-9294","DALP-9295","DALP-9343","DALP-9344","DALP-9345","DALP-9545","DALP-CHAIN-EMPTY-REVERT","DALP-EXT-TOKEN-NO-CODE","DALP-TOKEN-DUPLICATE","DALP-WORKFLOW-FAILED","DALP-WORKFLOW-RPC-UNAVAILABLE"]}},"securitySchemes":{"apiKeyCookie":{"type":"apiKey","in":"cookie","name":"apiKeyCookie","description":"API Key authentication via cookie"},"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication"},"apiKey":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"API key"},"sessionCookie":{"type":"apiKey","in":"cookie","name":"__Secure-better-auth.session_token","description":"Session cookie that sign-in sets. Over plain HTTP the name has no `__Secure-` prefix. A local deployment uses `better-auth-<host-port>` in place of `better-auth`."},"twoFactorCookie":{"type":"apiKey","in":"cookie","name":"__Secure-better-auth.two_factor","description":"Pending two-factor cookie that a password sign-in sets when the account has a second factor. Over plain HTTP the name has no `__Secure-` prefix. A local deployment uses `better-auth-<host-port>` in place of `better-auth`."}},"parameters":{"idempotencyKey":{"name":"Idempotency-Key","in":"header","required":false,"description":"Retry key for one mutation. Reuse it only for the same method, path, and body on a route that documents replay safety. If omitted, the platform generates a UUIDv7 key; replay-safe writes echo it in the `Idempotency-Key` response header. A lost response still requires status reconciliation.","schema":{"type":"string"}},"prefer":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. Absent or `respond-async` answers 202 Accepted at once with the queued transaction's status URL. `wait` waits for settlement up to 99 seconds; `wait=N` waits up to N seconds, clamped to 5 through 99. Every wait also ends before the request deadline. A write that settles in time answers with its settled result; one that has not answers the same 202 as async. `Preference-Applied` echoes the directives honoured. Poll `Location` after 202 instead of resubmitting. `dalp-no-funding-pause` fails a transaction the chain refuses for gas at once, instead of pausing it until its wallet is funded.","schema":{"type":"string"}},"preferFailOnIndexerReindexing":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. Absent or `respond-async` answers 202 Accepted at once with the queued transaction's status URL. `wait` waits for settlement up to 99 seconds; `wait=N` waits up to N seconds, clamped to 5 through 99. Every wait also ends before the request deadline. A write that settles in time answers with its settled result; one that has not answers the same 202 as async. `Preference-Applied` echoes the directives honoured. Poll `Location` after 202 instead of resubmitting. `dalp-no-funding-pause` fails a transaction the chain refuses for gas at once, instead of pausing it until its wallet is funded. `dalp-fail-on-indexer-reindexing` answers 503 with `Retry-After` while the chain's index is rebuilding, instead of waiting for it.","schema":{"type":"string"}},"preferOnlyFailOnIndexerReindexing":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. `dalp-fail-on-indexer-reindexing` answers 503 with `Retry-After` while the chain's index is rebuilding, instead of waiting for it.","schema":{"type":"string"}},"preferOnlyNoFundingPause":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. `dalp-no-funding-pause` fails a transaction the chain refuses for gas at once, instead of pausing it until its wallet is funded.","schema":{"type":"string"}},"preferOnlyWaitForSettlement":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. `wait=N` waits up to N seconds, clamped to 5 through 99, for each transaction this write sends; one that has not settled by then comes back pending. Without `wait`, the write answers at once and each transaction comes back pending.","schema":{"type":"string"}},"preferOnlyWaitForSettlementNoFundingPause":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. `wait=N` waits up to N seconds, clamped to 5 through 99, for each transaction this write sends; one that has not settled by then comes back pending. Without `wait`, the write answers at once and each transaction comes back pending. `dalp-no-funding-pause` fails a transaction the chain refuses for gas at once, instead of pausing it until its wallet is funded.","schema":{"type":"string"}},"preferOnlyWaitPerItem":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. `wait=N` holds each collected item up to N seconds, clamped to 5 through 99; an item that has not settled by then comes back queued. Without `wait`, every item comes back queued.","schema":{"type":"string"}},"preferOnlyWaitPerItemNoFundingPause":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. `wait=N` holds each collected item up to N seconds, clamped to 5 through 99; an item that has not settled by then comes back queued. Without `wait`, every item comes back queued. `dalp-no-funding-pause` fails a transaction the chain refuses for gas at once, instead of pausing it until its wallet is funded.","schema":{"type":"string"}},"preferTiming":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. Absent or `respond-async` answers 202 Accepted at once with the queued transaction's status URL. `wait` waits for settlement up to 99 seconds; `wait=N` waits up to N seconds, clamped to 5 through 99. Every wait also ends before the request deadline. A write that settles in time answers with its settled result; one that has not answers the same 202 as async. `Preference-Applied` echoes the directives honoured. Poll `Location` after 202 instead of resubmitting.","schema":{"type":"string"}},"preferTimingWaitWithinBudget":{"name":"Prefer","in":"header","required":false,"description":"RFC 7240 preference; separate directives with commas. Absent or `respond-async`, the write waits for its result for as long as the request deadline allows; `wait=N` waits up to N seconds, clamped to 5 through 99, and also ends before the request deadline. A write that finishes in time answers with its result; one that has not answers 202 Accepted with its status URL in `Location`. `Preference-Applied` echoes the directives honoured. Poll `Location` after 202 instead of resubmitting.","schema":{"type":"string"}}},"headers":{"Location":{"description":"URL for polling an accepted mutation (RFC 7231 §7.1.2). Present on HTTP 202. Do not resubmit the original request while this URL is available.","schema":{"type":"string","format":"uri-reference"}},"X-Request-Id":{"description":"Correlation id for this request. Include it with the error payload `requestId` when you contact support.","schema":{"type":"string"}},"Idempotency-Key":{"description":"Effective retry key when the request reached a replay-safe write. Not present on early refusals such as authentication errors. Reuse it only with the same method, path, and body. After an uncertain outcome, look up the transaction status before replaying.","schema":{"type":"string"}}}},"security":[{"apiKey":[]}],"tags":[{"name":"API keys","description":"Create, inspect, rotate, and revoke API keys for server-to-server access. A key inherits its creator's permissions and has an explicit read or read-write scope."},{"name":"Sessions and sign-in","description":"Sign in, sign out, inspect the current session, and manage the signed-in user's account. Use this surface for interactive clients that authenticate with a session cookie."},{"name":"Organisations and members","description":"Select the active organisation and manage its membership and invitations. The active organisation supplies the tenant context for later API calls."},{"name":"Account security","description":"Configure passkeys, multi-factor authentication, wallet PIN protection, recovery codes, and active sessions for the signed-in account."},{"name":"OAuth and device authorization","description":"Authenticate through configured OAuth providers or the device authorization flow. These routes establish identity; they do not perform asset operations."},{"name":"Accounts and portfolio","description":"Read accounts, native balances, token holdings, historical balances, and portfolio performance for the selected participant and chain."},{"name":"Actions","description":"List and stream asynchronous actions created by platform workflows. Poll or stream an existing action instead of resubmitting the instruction that created it."},{"name":"Transactions","description":"Read blockchain transactions and durable transaction requests, follow their status, and use restricted recovery operations when a queued request needs intervention."},{"name":"Search","description":"Search tokens, users, contacts, and platform records visible to the caller. Search reads indexed state and does not submit a transaction."},{"name":"Activity and statistics","description":"Read account activity and aggregate system statistics used by dashboards, reporting, and operational analysis."},{"name":"Tokens","description":"List and inspect tokenized instruments, holders, allowances, events, and attached capabilities. Reads use indexed state unless an operation says it evaluates the live chain."},{"name":"Asset design","description":"Manage asset classes and reusable instrument templates that define which instruments and policies are available when an asset is issued."},{"name":"Token creation","description":"Issue a new tokenized instrument and follow its deployment. Choose the asset design and factory first, then poll the returned status URL when creation is asynchronous."},{"name":"External tokens","description":"Register and inspect token contracts that were deployed outside the platform but participate in platform workflows."},{"name":"Token transfers and supply","description":"Transfer, mint, burn, approve, and pre-authorize token movement. Read the original operation status before retrying a mutation."},{"name":"Token controls","description":"Manage pause state, freezes, supply caps, token roles, and other issuer controls that restrict how one token can operate."},{"name":"Token documents","description":"Upload, confirm, list, download, and remove documents attached to a token. Upload URLs store content; confirmation attaches the stored file to the asset record."},{"name":"Token statistics","description":"Read indexed supply, holder, volume, collateral, balance-history, and distribution statistics for one token."},{"name":"Token lifecycle","description":"Run maturity, redemption, recovery, collateral, and token-scoped claim operations across the life of an issued instrument."},{"name":"Token features","description":"Inspect, attach, configure, rotate, and operate optional token features such as conversion, permit, treasury yield, and voting power."},{"name":"Fees and pricing","description":"Read and configure token prices, transaction fees, AUM fees, fee exemptions, collection events, and reconciliation state."},{"name":"Primary offerings","description":"Create and operate primary token offerings, investor purchases, allocations, claims, refunds, vesting, and offering documents."},{"name":"Trading venue","description":"Trade platform tokens on permissioned central limit orderbook markets: market data, depth and trades, signed order placement and cancellation, participant working orders and blotter, and venue-operator market administration."},{"name":"Escrows","description":"Read the escrows an add-on deployed for your organisation's system: the tokens each escrow holds, every owner's free and locked balance, its locks, and the events it emitted."},{"name":"Regulatory reporting","description":"Read the reporting duties the organisation owes and the filings that discharge them: obligations, filing periods with their deadlines, and the submissions made against a period. Reports are generated from platform data; a report refuses rather than approximates a figure it cannot derive."},{"name":"XvP settlements","description":"Create and operate exchange-versus-payment settlements, including approvals, secret handling, execution, cancellation, and expiry recovery."},{"name":"Airdrops","description":"Inspect token distribution instances created by push, vesting, and time-bound airdrop factories."},{"name":"Governance","description":"Create proposals and polls, cast votes, manage execution, export results, and inspect token voting power and delegation."},{"name":"Yield and distributions","description":"Configure and operate fixed yield, treasury yield, interest, and dividend distributions, including funding, claims, and issuer recovery."},{"name":"Corporate actions","description":"Declare, preview, confirm, and abort named Corporate Actions on a token. Cash dividend and bond coupon link existing yield features. Other types orchestrate mint or burn."},{"name":"Participants","description":"Resolve participants the caller may act as, inspect eligibility, and manage multisig participant drafts, signers, and invitations."},{"name":"Users","description":"Read and administer organisation users, wallets, security state, onboarding state, and user-facing events."},{"name":"Contacts","description":"Manage the signed-in user's address book. Each contact pairs a consumer-chosen name with one wallet."},{"name":"KYC","description":"Manage KYC profiles, review versions, supporting documents, decisions, and action requests for users in the active organisation."},{"name":"Identities and claims","description":"Read and manage on-chain identities, claim topics, trusted issuers, signed claims, and the registry chain that resolves them."},{"name":"Compliance rules","description":"Define and apply compliance templates, modules, expressions, and token-level rules that decide whether a transfer is allowed."},{"name":"Compliance providers","description":"Configure external compliance providers, register subjects and transactions for screening, and manage provider verdict webhooks."},{"name":"Identity recovery","description":"Preview and execute recovery when a user loses a wallet, then follow the recovery until identity and holdings have moved or the process stops."},{"name":"Price feeds","description":"Read and maintain on-chain price feeds, directory registrations, observations, issuer nonces, adapters, and staleness state, and run the price sources and held-price decisions that publish to them."},{"name":"Exchange rates","description":"Read current and historical currency exchange rates derived from configured market-data feeds."},{"name":"Organisation deployment","description":"Deploy an organisation's platform resources, enable networks, add members, accept invitations, and follow deployment progress."},{"name":"Systems and factories","description":"Inspect deployed systems, directories, contracts, token factories, and addon factories, and create the factories required for asset issuance."},{"name":"Roles and permissions","description":"Read, grant, and revoke system and participant roles through the active system's access manager."},{"name":"Platform settings","description":"Read and manage organisation settings, themes, public client configuration, metadata, and other platform behavior exposed to integrators."},{"name":"Webhooks","description":"Create webhook endpoints, inspect and retry deliveries, rotate secrets, replay events, and record signed consumer receipts."},{"name":"Custody","description":"Inspect the active provider catalog and administer provider configuration health, creation enablement, quarantine, recovery, rotation, and deletion."},{"name":"Custody operations","description":"Read participant custody balances and reconcile each custody wallet's journal total against its chain balance."},{"name":"Bank rail","description":"Register the organisation's bank connections, set each connection's FIX logon credential, and activate or suspend the session that carries its credits."},{"name":"Wallets","description":"List and create custody-held wallets, including Canton party wallets, and submit DAML commands signed by the organisation's custody keys."},{"name":"Legal documents","description":"Publish versioned organisation terms and risk disclosures, record participant acceptance, and review the acceptance trail."},{"name":"Monitoring","description":"Inspect API, chain, indexer, workflow, and platform health. Monitoring reads do not mutate assets; restricted recovery routes state their effect explicitly."},{"name":"Smart accounts","description":"Provision and operate smart accounts, modules, signers, approval thresholds, and user-operation approvals."},{"name":"Transaction funding","description":"Operate bundlers, paymasters, sponsorship, gas funding, and refund splitting for account-abstraction transactions."},{"name":"Platform administration","description":"Restricted platform-wide administration for organisations, users, networks, RPC pools, API keys, health, and recovery controls."}],"x-tagGroups":[{"name":"API access","description":"Start here to create API credentials, establish a session, select an organisation, and secure the account that calls the Platform API.","tags":["API keys","Sessions and sign-in","Organisations and members","Account security","OAuth and device authorization"]},{"name":"Portfolio and activity","description":"Read holdings and portfolio performance, follow asynchronous actions and transactions, inspect activity, and search records visible to the caller.","tags":["Accounts and portfolio","Actions","Transactions","Search","Activity and statistics"]},{"name":"Assets","description":"Design, issue, inspect, and operate tokenized instruments. Read the token first, then use the focused task groups for supply, controls, documents, lifecycle, and optional features.","tags":["Tokens","Asset design","Token creation","External tokens","Token transfers and supply","Token controls","Token documents","Token statistics","Token lifecycle","Token features","Fees and pricing"]},{"name":"Asset lifecycle","description":"Run post-issuance workflows such as primary offerings, exchange-versus-payment settlement, governance, distributions, and airdrops.","tags":["Primary offerings","Trading venue","Escrows","Regulatory reporting","XvP settlements","Airdrops","Governance","Yield and distributions","Corporate actions"]},{"name":"Participants and compliance","description":"Manage the people, wallets, identities, claims, and compliance policy that determine who may hold or transfer an asset.","tags":["Participants","Users","Contacts","KYC","Identities and claims","Compliance rules","Compliance providers","Identity recovery"]},{"name":"Market data","description":"Read and maintain the feeds and exchange rates used for valuation, pricing, and policy decisions.","tags":["Price feeds","Exchange rates"]},{"name":"Platform operations","description":"Configure organisations, systems, integrations, signing infrastructure, monitoring, and restricted operator controls.","tags":["Organisation deployment","Systems and factories","Roles and permissions","Platform settings","Webhooks","Custody","Custody operations","Bank rail","Wallets","Legal documents","Monitoring","Smart accounts","Transaction funding","Platform administration"]}],"x-dalp-generated":{"sha256":"83f7c6166266"}}